From 7b20fd4327698eba67555925ed223401444a628a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20MARTINEZ?= Date: Mon, 8 Apr 2024 16:58:44 +0200 Subject: [PATCH] add scienceconf content, change theme, add missing slides --- .gitmodules | 6 + content/{index.md => _index.md} | 8 +- content/pages/program.md | 140 ++++++++++++++++++ hugo.toml | 2 +- ...s_e129fe35b8d0a70789c8a08429469073.content | 1 + ...scss_e129fe35b8d0a70789c8a08429469073.json | 1 + themes/hugo-book | 1 + 7 files changed, 156 insertions(+), 3 deletions(-) create mode 100644 .gitmodules rename content/{index.md => _index.md} (87%) create mode 100644 content/pages/program.md create mode 100644 resources/_gen/assets/book.scss_e129fe35b8d0a70789c8a08429469073.content create mode 100644 resources/_gen/assets/book.scss_e129fe35b8d0a70789c8a08429469073.json create mode 160000 themes/hugo-book diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..cfd2dfe --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "themes/ananke"] + path = themes/ananke + url = https://github.com/theNewDynamic/gohugo-theme-ananke.git +[submodule "themes/hugo-book"] + path = themes/hugo-book + url = https://github.com/alex-shpak/hugo-book diff --git a/content/index.md b/content/_index.md similarity index 87% rename from content/index.md rename to content/_index.md index d6a4035..5beb906 100644 --- a/content/index.md +++ b/content/_index.md @@ -1,10 +1,14 @@ +++ title = '' +layout='homepage' date = 2024-02-26T14:46:01+01:00 draft = false +++ +Winter School program can be found [here]({{< ref "pages/program.md" >}}) + ## Installation + To run the practicals, you can either use [docker](https://github.com/agimus-project/winter-school-2023#docker-installation) or install the dependencies using [conda](https://github.com/agimus-project/winter-school-2023/tree/main?tab=readme-ov-file#conda-installation-mac-os-intel-mac-os-arm-linux-x64). ## Talks and Practicals @@ -99,7 +103,7 @@ Wilson Jallet Vladimír Petrík & Mederic Fourmy -- [slides](https://gepettoweb.laas.fr/talks/aws2023/aws_12_perception-part1__pose_estimation.pdf) +- [slides part 1](https://gepettoweb.laas.fr/talks/aws2023/aws_12_perception-part1__pose_estimation.pdf) [slides part 2](https://gepettoweb.laas.fr/talks/aws2023/aws_13_perception-part2__tracking.pdf) - [video](https://peertube.laas.fr/w/kZwmMC8Pht72iadnrfCtMf) @@ -117,7 +121,7 @@ Adrien Escande Justin Carpentier & Quentin Le Lidec -- [slides](https://gepettoweb.laas.fr/talks/aws2023/aws_15_sim3-part1.pdf) +- [slides part 1](https://gepettoweb.laas.fr/talks/aws2023/aws_15_sim3-part1.pdf) [slides part 2](https://gepettoweb.laas.fr/talks/aws2023/aws_16_sim3-part2.pdf) - [video](https://peertube.laas.fr/w/rsLA7kymGpCV13jBSLh1E3) diff --git a/content/pages/program.md b/content/pages/program.md new file mode 100644 index 0000000..cfb0163 --- /dev/null +++ b/content/pages/program.md @@ -0,0 +1,140 @@ ++++ +title = 'Program' +draft = "false" +layout='program' ++++ + +## Welcome to Agimus Winter School ! + +Agimus is a European research program founded by Horizon Europe, coordinated by LAAS-CNRS (FR) and gathering Inria (FR), CTU (CZ), PAL-Robotics (SP) and other industrial partners, studying the next generation of AI-powered robots for agile production. The consortium developed an internationally recognized expertise in motion planning, optimal control, computer vision, reinforcement learning, force control and robot design, along with mature software to implement them. The objective of the school is to participate in the dissemination of our expertise, by training students involved in the consortium and external students in a 5-day event in the South of France. + +## Schedule + +The (final) schedule of the week is below. + +![Scenario 1: Across columns](/schedule_v2.png) + + + +## Main teachers + +The teachers are mostly key researchers and engineers of the Agimus consortium: + +- Nicolas Mansard (LAAS-CNRS), project coordinator, expert in numerical optimal control and robot modeling +- Florent Lamiraux (LAAS-CNRS), expert in motion planning +- Josef Sivic, Vladimir Petrik, and Mederic Fourmy (CTU), experts in computer vision +- Justin Carpentier (Inria), expert in numerical programming, optimal control, robot modeling, and guru of the robot modeling software Pinocchio +- Luca Marchionni and Narcis Miguel i Baños (PAL), experts in robot design and control +- Guilhem Saurel (LAAS-CNRS), expert in software development and deployment for robotics + +Agimus winter school also involves the participation of PhD students: + +- Wilson Jallet (LAAS-CNRS & Inria), a 3rd year PhD student in numerical optimal control and optimization +- Louis Montaut (CTU & Inria) and Quentin Le Lidec (Inria), 3rd year PhD students working on simulation of robotics systems through contacts + +The school will also feature keynote speeches by invited researchers, among which: + +- Ludovic Righetti (NYU), expert in robot learning, optimal control and force control +- Adrien Taylor (Inria), expert in optimization and numerical programming +- Timothy Bretl (UIUC), expert in motion planning + +## Main topics + +The topics will cover the main advanced methods to program and control a versatile mobile robot in a manufacturing environment. +#### Simulation: dynamics and collisions + +This class will cover everything from the classical rigid dynamic algorithms (as popularized by Roy Featherstone and efficiently implemented in the software Pinocchio), contact modeling and efficient resolution, computation of collision and distances between geometric primitives, to the complete simulation of a rigid polyarticulated system in unilateral contact with its environment. The class will be supported by practical work sessions on the laptops of the participants using Pinocchio and HPP-FCL. + +- Session 1: rigid body dynamic models and algorithms +- Session 2: solving the contact dynamics +- Session 3: collision algorithms + +With a keynote speech of Ludovic Righetti. +#### Optimal control: formalization and solvers + +This class will cover the field of numerical optimal control for robotics, i.e how to understand an optimal control problem, transcribe it into a proper static nonlinear optimization problem subject to hard constraints and sparse structure, and solve it with cutting edge augmented Lagrangian algorithms. The class will exploit the new Aligator software developed as a follow-up of the widespread Crocoddyl library. + +- Session 1: basics of numerical optimal control, from the formulation of the problem to efficient resolution using differential dynamic programming +- Session 2: basics of constraint programming and explanation of optimal-control solver exploiting augmented-Lagrangian strategies + +With a keynote speech of Adrien Taylor. +#### Task and motion planning + +Robot planning becomes seriously hard when the IA has to simultaneously decide a sequence of tasks to be achieved (discrete decision) and the continuous movement to achieve them. The class will cover the topic from the basic motion planning algorithms (RRT, etc) to the recent progress to solve the task-and-motion planning problem. The class will be supported by the motion-planning framework HPP, already successfully used on a wide range of applications, from humanoid robotics scenarios to industrial problems at Airbus. + +- Session 1: basics of motion planning +- Session 2: advanced algorithms for task and motion planning + +With a keynote speech by Tim Bretl. +#### Computer vision: object recognition and tracking + +A key difficulty of computer manipulation for robotics vision is the demanded rate of success, accuracy and speed to implement successful vision-based controllers. This class will propose to approach the problem using render-and-compare approaches as popularized in robotics by the object detector CosyPose. It will be supported by the software HappyPose, which reimplemented the award-winning algorithm CosyPose and its successor MegaPose in a clean and easily available package. It will cover a quick survey of the landscape of computer vision for robot manipulation, explain the principle of render-and-compare, detail the CosyPose and MegaPose algorithms and propose a practical session to test them. It will also open to new research directions to move from these detectors to proper object trackers needed to control dynamic robot movements. + +With a keynote speech by Josef Sivic. +#### ROS2 control for the new Tiago Pro + +Agimus participated in the design and release of the new robot from PAL robotics, Tiago Pro, unveiled at ICRA 2023. This robot will be delivered with a new ROS2-control driver, with a new concept of low-level control which will allow the researchers to access the very motor control servo and unleash the performances of their high-level controllers in particular in contact and for haptic-and-vision feedback. + +The course will be a practical hands-on session to learn how to control Tiago Pro in simulation. Ideally, we will open the class to a hackathon on the real robot platform. The exact organization of the access to the real robot hardware remains to be defined, to account for the constraints imposed by the hosting institution. +#### Principles of efficient software development for robotics + +The Gepetto team of LAAS-CNRS, now joined by the Willow team of Inria under the leadership of Justin Carpentier, are recognized worldwide for the quality (and quantity) of open-source software produced and used by our collaborators. We believe that ethical science can only be enabled by the highest standard of openness, by allowing our peers to reproduce our results and capitalize on our explorations. This process is not cheap, and requires significant effort of our teams and high engineering standards. Yet a lot remains to be done in the quality of academic software, including our own work. In this class, we will provide the main principles to ease the publication of your own work and enable easy reproduction, deployment and collaboration. + +## Important dates + +Registrations are open until the 12th of November. Payment will be set up during the following week (deadline 17th of November). + +We are expecting ~30 students from within the Agimus project and ~20 students from outside. The selection will be mainly on a first-come-first-served basis, with some few adjustments by the moderator team to avoid overrepresentation. We will publish a first status of participation on 1st Nov. + + +The school then start on Monday 11/dec, with students mostly expected to arrive at previous Sunday night. + +## Location and venue + +The school will be hosted by the Oceanological Observatory of Banyuls-sur-Mer (https://www.obs-banyuls.fr/en/oob.html), near Perpignan, in between Toulouse (FR) and Barcelona (SP). + + +![Scenario 1: Across columns](/banyuls.png) +*Banyuls, 50km north of the French-Spanish border, on the Mediteranean cost* + + + +![Scenario 1: Across columns](/banyuls_image2.png) +*Hotel ("centre d'hebergement"), observatory and classrooms ("Université P&M Curie")* + + + +The training center is composed of an amphitheater, several classrooms, a hotel, a restaurant, all that on the harbor of the small town. + +You can best join Banyuls by train, with high-speed trains from Paris and Barcelona to Perpignan and then a quick local ride to Banyuls. You can also reach the site from Barcelona airport (although please consider a 0%-flight trip as a first choice: we will offer the gala dinner to the participants who will not use the plane to reach us). + +The price of the school includes accommodation, food. Teachers are freely serving as part of their participation to the Agimus project. + + + +## Princing + +The prices are only valid for student outside the Agimus project. + +Basic price: 800EUR (with tax "TTC") + +Extra night: 100EUR (with tax "TTC") + +The basic cost covers: 5 nights from Sunday 10/dec to Friday 15/dec (extra night possible to extend to Saturday 16/dec), food from Monday morning to Friday afternoon (extra dinner on Friday evening with the extra-night ticket), social events, classes and a part of the expenses of the teachers and the keynote speakers. + +For participant inside the consortium Agimus, you will be asked to only pay the hotel and food at the conference (two separated bills); the project covers the rest of the expenses, corresponding to a total of approximately 700EUR (tax free). + +For Agimus PIs coming only to the Tuesday-Wednesday meeting, your registration corresponds to one night and food for the two days. Extra night with the corresponding food can be booked if you want to arrive on Monday evening or leave Thursday morning. + + + +## Supported by ... + + +![Scenario 1: Across columns](/eurobin_small.png) + +![Scenario 1: Across columns](/agimus_small.png) + +![Scenario 1: Across columns](/laas_dpt.png) + +![Scenario 1: Across columns](/eu_320.png) diff --git a/hugo.toml b/hugo.toml index 95e07fa..ecf3ae6 100644 --- a/hugo.toml +++ b/hugo.toml @@ -1,4 +1,4 @@ baseURL = 'https://example.org/' languageCode = 'en-us' title = 'Agimus Winter School Materials' -theme = 'ananke' +theme = 'hugo-book' \ No newline at end of file diff --git a/resources/_gen/assets/book.scss_e129fe35b8d0a70789c8a08429469073.content b/resources/_gen/assets/book.scss_e129fe35b8d0a70789c8a08429469073.content new file mode 100644 index 0000000..6aa898b --- /dev/null +++ b/resources/_gen/assets/book.scss_e129fe35b8d0a70789c8a08429469073.content @@ -0,0 +1 @@ +@charset "UTF-8";:root{--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-500:#adb5bd;--color-link:#0055bb;--color-visited-link:#8440f1;--body-background:white;--body-font-color:black;--icon-filter:none;--hint-color-info:#6bf;--hint-color-warning:#fd6;--hint-color-danger:#f66}/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.flex{display:flex}.flex-auto{flex:auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}input.toggle{height:0;width:0;overflow:hidden;opacity:0;position:absolute}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;scroll-behavior:smooth;touch-action:manipulation}body{min-width:20rem;color:var(--body-font-color);background:var(--body-background);letter-spacing:.33px;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:var(--color-link)}img{vertical-align:baseline}:focus{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0;position:relative}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-inline-start:1rem}ul.pagination{display:flex;justify-content:center;list-style-type:none;padding-inline-start:0}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-icon{filter:var(--icon-filter)}.book-brand{margin-top:0;margin-bottom:1rem}.book-brand img{height:1.5em;width:1.5em;margin-inline-end:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu .book-menu-content{width:16rem;padding:1rem;background:var(--body-background);position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a,.book-menu label{color:inherit;cursor:pointer;word-wrap:break-word}.book-menu a.active{color:var(--color-link)}.book-menu input.toggle+label+ul{display:none}.book-menu input.toggle:checked+label+ul{display:block}.book-menu input.toggle+label::after{content:"▸"}.book-menu input.toggle:checked+label::after{content:"▾"}body[dir=rtl] .book-menu input.toggle+label::after{content:"◂"}body[dir=rtl] .book-menu input.toggle:checked+label::after{content:"▾"}.book-section-flat{margin:2rem 0}.book-section-flat>a,.book-section-flat>span,.book-section-flat>label{font-weight:bolder}.book-section-flat>ul{padding-inline-start:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:3rem}.book-header{display:none;margin-bottom:1rem}.book-header label{line-height:0}.book-header img.book-icon{height:1.5em;width:1.5em}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:var(--gray-100);color:var(--body-font-color)}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;top:0;margin:.5rem;margin-inline-start:calc(100% - 1.5rem);width:1rem;height:1rem;border:1px solid transparent;border-top-color:var(--body-font-color);border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-search small{opacity:.5}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc .book-toc-content{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em;width:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;width:1em;margin-inline-end:.5rem}.book-comments{margin-top:1rem}.book-languages{margin-block-end:2rem}.book-languages .book-icon{height:1em;width:1em;margin-inline-end:.5em}.book-languages ul{padding-inline-start:1.5em}.book-menu-content,.book-toc-content,.book-page,.book-header aside,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity,visibility;will-change:transform,margin,opacity}@media screen and (max-width:56rem){#menu-control,#toc-control{display:inline}.book-menu{visibility:hidden;margin-inline-start:-16rem;font-size:16px;z-index:1}.book-toc{display:none}.book-header{display:block}#menu-control:focus~main label[for=menu-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#menu-control:checked~main .book-menu{visibility:initial}#menu-control:checked~main .book-menu .book-menu-content{transform:translateX(16rem);box-shadow:0 0 .5rem rgba(0,0,0,.1)}#menu-control:checked~main .book-page{opacity:.25}#menu-control:checked~main .book-menu-overlay{display:block;position:absolute;top:0;bottom:0;left:0;right:0}#toc-control:focus~main label[for=toc-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#toc-control:checked~main .book-header aside{display:block}body[dir=rtl] #menu-control:checked~main .book-menu .book-menu-content{transform:translateX(-16rem)}}@media screen and (min-width:80rem){.book-page,.book-menu .book-menu-content,.book-toc .book-toc-content{padding:2rem 1rem}}@font-face{font-family:roboto;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-regular.woff2)format("woff2"),url(fonts/roboto-v27-latin-regular.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:700;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-700.woff2)format("woff2"),url(fonts/roboto-v27-latin-700.woff)format("woff")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-mono-v13-latin-regular.woff2)format("woff2"),url(fonts/roboto-mono-v13-latin-regular.woff)format("woff")}body{font-family:roboto,sans-serif}code{font-family:roboto mono,monospace}@media print{.book-menu,.book-footer,.book-toc{display:none}.book-header,.book-header aside{display:block}main{display:block!important}}.markdown{line-height:1.6}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1;margin-top:1.5em;margin-bottom:1rem}.markdown h1 a.anchor,.markdown h2 a.anchor,.markdown h3 a.anchor,.markdown h4 a.anchor,.markdown h5 a.anchor,.markdown h6 a.anchor{opacity:0;font-size:.75em;vertical-align:middle;text-decoration:none}.markdown h1:hover a.anchor,.markdown h1 a.anchor:focus,.markdown h2:hover a.anchor,.markdown h2 a.anchor:focus,.markdown h3:hover a.anchor,.markdown h3 a.anchor:focus,.markdown h4:hover a.anchor,.markdown h4 a.anchor:focus,.markdown h5:hover a.anchor,.markdown h5 a.anchor:focus,.markdown h6:hover a.anchor,.markdown h6 a.anchor:focus{opacity:initial}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown a:visited{color:var(--color-visited-link)}.markdown img{max-width:100%;height:auto}.markdown code{padding:0 .25rem;background:var(--gray-200);border-radius:.25rem;font-size:.875em}.markdown pre{padding:1rem;background:var(--gray-100);border-radius:.25rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown p{word-wrap:break-word}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-inline-start:.25rem solid var(--gray-200);border-radius:.25rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid var(--gray-200)}.markdown table tr:nth-child(2n){background:var(--gray-100)}.markdown hr{height:1px;border:none;background:var(--gray-200)}.markdown ul,.markdown ol{padding-inline-start:2rem;word-wrap:break-word}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-inline-start:0;margin-bottom:1rem}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-inline-end:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-inline-start:0}.markdown details{padding:1rem;border:1px solid var(--gray-200);border-radius:.25rem}.markdown details summary{line-height:1;padding:1rem;margin:-1rem;cursor:pointer}.markdown details[open] summary{margin-bottom:0}.markdown figure{margin:1rem 0}.markdown figure figcaption p{margin-top:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.markdown .book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden}.markdown .book-expand .book-expand-head{background:var(--gray-100);padding:.5rem 1rem;cursor:pointer}.markdown .book-expand .book-expand-content{display:none;padding:1rem}.markdown .book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.markdown .book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden;display:flex;flex-wrap:wrap}.markdown .book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.markdown .book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid var(--gray-100);padding:1rem;display:none}.markdown .book-tabs input[type=radio]:checked+label{border-bottom:1px solid var(--color-link)}.markdown .book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.markdown .book-tabs input[type=radio]:focus+label{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}.markdown .book-columns{margin-left:-1rem;margin-right:-1rem}.markdown .book-columns>div{margin:1rem 0;min-width:10rem;padding:0 1rem}.markdown a.book-btn{display:inline-block;font-size:.875rem;color:var(--color-link);line-height:2rem;padding:0 1rem;border:1px solid var(--color-link);border-radius:.25rem;cursor:pointer}.markdown a.book-btn:hover{text-decoration:none}.markdown .book-hint.info{border-color:#6bf;background-color:rgba(102,187,255,.1)}.markdown .book-hint.warning{border-color:#fd6;background-color:rgba(255,221,102,.1)}.markdown .book-hint.danger{border-color:#f66;background-color:rgba(255,102,102,.1)} \ No newline at end of file diff --git a/resources/_gen/assets/book.scss_e129fe35b8d0a70789c8a08429469073.json b/resources/_gen/assets/book.scss_e129fe35b8d0a70789c8a08429469073.json new file mode 100644 index 0000000..eb1453a --- /dev/null +++ b/resources/_gen/assets/book.scss_e129fe35b8d0a70789c8a08429469073.json @@ -0,0 +1 @@ +{"Target":"book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css","MediaType":"text/css","Data":{"Integrity":"sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg="}} \ No newline at end of file diff --git a/themes/hugo-book b/themes/hugo-book new file mode 160000 index 0000000..2dffe0b --- /dev/null +++ b/themes/hugo-book @@ -0,0 +1 @@ +Subproject commit 2dffe0bc7a5caac3e49bf2abe943ca412d5f4333