From 571f65f627664e4dc9857162e239bd679d0ed395 Mon Sep 17 00:00:00 2001 From: ElKowar <5300871+elkowar@users.noreply.github.com> Date: Sun, 25 Oct 2020 15:45:31 +0100 Subject: [PATCH] Autogen docs (#44) * Implement simple node script * Add zola documentation * Add gh pages workflow * autogen widget docs --- .github/workflows/gh-pages.yml | 27 ++ README.md | 5 +- docs/.gitignore | 1 + docs/config-docs.md | 363 ---------------- docs/config.toml | 19 + docs/content/main/_index.md | 52 +++ docs/content/main/configuration.md | 241 +++++++++++ docs/content/main/troubleshooting.md | 30 ++ docs/content/main/widgets.md | 5 + docs/content/main/working_with_gtk.md | 37 ++ docs/images/one.png | Bin 26915 -> 0 bytes docs/images/two.png | Bin 25824 -> 0 bytes docs/sass/style.scss | 55 +++ docs/templates/index.html | 5 + docs/themes/book/.gitignore | 2 + docs/themes/book/LICENSE | 21 + docs/themes/book/README.md | 54 +++ docs/themes/book/config.toml | 9 + docs/themes/book/content/_index.md | 3 + docs/themes/book/content/chapter1/_index.md | 66 +++ docs/themes/book/content/chapter1/page1.md | 84 ++++ docs/themes/book/content/chapter2/_index.md | 6 + docs/themes/book/content/chapter2/page1.md | 14 + docs/themes/book/content/chapter3/_index.md | 6 + docs/themes/book/content/chapter3/page1.md | 20 + docs/themes/book/content/chapter3/page2.md | 20 + docs/themes/book/content/chapter4/_index.md | 6 + docs/themes/book/content/chapter5/_index.md | 6 + docs/themes/book/sass/_content.scss | 226 ++++++++++ docs/themes/book/sass/_header.scss | 160 +++++++ docs/themes/book/sass/_navigation.scss | 50 +++ docs/themes/book/sass/_normalize.scss | 447 ++++++++++++++++++++ docs/themes/book/sass/book.scss | 41 ++ docs/themes/book/screenshot.png | Bin 0 -> 145504 bytes docs/themes/book/static/book.js | 223 ++++++++++ docs/themes/book/templates/index.html | 109 +++++ docs/themes/book/templates/page.html | 40 ++ docs/themes/book/templates/section.html | 52 +++ docs/themes/book/theme.toml | 13 + gen-docs.js | 92 ++++ 40 files changed, 2246 insertions(+), 364 deletions(-) create mode 100644 .github/workflows/gh-pages.yml create mode 100644 docs/.gitignore delete mode 100644 docs/config-docs.md create mode 100644 docs/config.toml create mode 100644 docs/content/main/_index.md create mode 100644 docs/content/main/configuration.md create mode 100644 docs/content/main/troubleshooting.md create mode 100644 docs/content/main/widgets.md create mode 100644 docs/content/main/working_with_gtk.md delete mode 100644 docs/images/one.png delete mode 100644 docs/images/two.png create mode 100644 docs/sass/style.scss create mode 100644 docs/templates/index.html create mode 100644 docs/themes/book/.gitignore create mode 100644 docs/themes/book/LICENSE create mode 100644 docs/themes/book/README.md create mode 100644 docs/themes/book/config.toml create mode 100644 docs/themes/book/content/_index.md create mode 100644 docs/themes/book/content/chapter1/_index.md create mode 100644 docs/themes/book/content/chapter1/page1.md create mode 100644 docs/themes/book/content/chapter2/_index.md create mode 100644 docs/themes/book/content/chapter2/page1.md create mode 100644 docs/themes/book/content/chapter3/_index.md create mode 100644 docs/themes/book/content/chapter3/page1.md create mode 100644 docs/themes/book/content/chapter3/page2.md create mode 100644 docs/themes/book/content/chapter4/_index.md create mode 100644 docs/themes/book/content/chapter5/_index.md create mode 100644 docs/themes/book/sass/_content.scss create mode 100644 docs/themes/book/sass/_header.scss create mode 100644 docs/themes/book/sass/_navigation.scss create mode 100644 docs/themes/book/sass/_normalize.scss create mode 100644 docs/themes/book/sass/book.scss create mode 100644 docs/themes/book/screenshot.png create mode 100644 docs/themes/book/static/book.js create mode 100644 docs/themes/book/templates/index.html create mode 100644 docs/themes/book/templates/page.html create mode 100644 docs/themes/book/templates/section.html create mode 100644 docs/themes/book/theme.toml create mode 100644 gen-docs.js diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml new file mode 100644 index 0000000..76c849f --- /dev/null +++ b/.github/workflows/gh-pages.yml @@ -0,0 +1,27 @@ +name: Build and deploy Github pages +on: + push: + branches: + - master +jobs: + build: + name: shalzz/zola-deploy-action + runs-on: ubuntu-latest + steps: + # Checkout + - uses: actions/checkout@master + + # Build widget documentation + - name: Use nodejs to build widget documentation + uses: actions/setup-node@v1 + with: + node-version: '12.x' + - run: node gen-docs.js ./src/widgets/widget_definitions.rs >> ./docs/content/main/widgets.md + + # Build & deploy + - name: shalzz/zola-deploy-action + uses: shalzz/zola-deploy-action@v0.12.0 + env: + PAGES_BRANCH: gh-pages + BUILD_DIR: docs + TOKEN: ${{ secrets.TOKEN }} diff --git a/README.md b/README.md index 700dd3a..8c66490 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,9 @@ Elkowar’s Wacky Widgets is a standalone Widget System made in rust to add AwesomeWM like widgets to any WM +Documentation can be found [here](https://elkowar.github.io/eww/main) + + # Configuration @@ -99,7 +102,7 @@ Create a Config and then just do `eww`! If you experience any issues, the following things should be tried: - Try killing the eww daemon with `eww kill` and run again -- If you're running with `-d`, run without `-d` to see output, or have a look at ~/.cache/eww.log +- If you're running with `-d`, run without `-d` to see output, or have a look at ~/.cache/eww.log - use `eww state`, to see the state of all variables - use `eww debug`, to see the xml of your widget and other information - update to the latest eww version diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000..a48cf0d --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1 @@ +public diff --git a/docs/config-docs.md b/docs/config-docs.md deleted file mode 100644 index 1e8bb4f..0000000 --- a/docs/config-docs.md +++ /dev/null @@ -1,363 +0,0 @@ - -# Eww - Widgets for everyone! - - -Eww (ElKowar's Wacky Widgets, pronounced with sufficient amounts of disgust) Is a widgeting system made in [rust](https://www.rust-lang.org/), which let's you create your own widgets simmilarly to how you can in AwesomeWM. The key difference: It is independent of your window manager! - -Configured in XML and themed using CSS, it is easy to customize and provides all the flexibility you need! - - -## Contents - -- [How to install Eww](#how-to-install-eww) - - [Prerequisites](#prerequisites) - - [Building](#building) - - [Starting Eww](#starting-eww) -- [Configuration](#configuration) - - [Placing the configuration file](#placing-the-configuration-file) - - [Variables](#variables) - - [The var tag](#the-var-tag) - - [The script-var tag](#the-script-var-tag) - - [Tail](#tail) - - [The Definitions block](#the-definitions-block) - - [Custom Widgets](#custom-widgets) - - [The Windows block](#the-windows-block) - - [Widgets made in Eww](#widgets-made-in-eww) -- [GTK](#gtk) - - [GTK-Temeing / Eww Themeing](#gtk-themeing) - - [GTK-Debugger](#gtk-debugger) -- [Troubleshooting](#troubleshooting) - - [My scss isn't being loaded](#my-scss-isnt-being-loaded) - - [Eww can't find my configuration file](#eww-cant-find-my-configuration-file) - - [Something isn't styled correctly!](#something-isnt-styled-correctly) - - -## How to install Eww - -### Prerequisites - -* rustc -* cargo (nightly toolchain) - -Rather than with your system package manager, I recommend installing it using [rustup](https://rustup.rs/), as this makes it easy to use the nightly toolchain, which is necessary to build eww. - -### Building - -Once you have the Prerequisites ready, you're ready to install and build eww. - -First clone the repo: -```bash -git clone https://github.com/elkowar/eww -``` -then enter it. -```bash -cd eww -``` -and then to build: -```bash -cargo build --release -``` - -### Running eww -Once you've built it you can now run it by entering: -```bash -cd target/release -``` -and then make the Eww binary executable -```bash -chmod +x ./eww -``` -and then to run it do -``` -./eww open -``` -`` is the name of the window, see [The windows block](#the-windows-block). - -## Configuration - -For specific built in widgets `, , , etc` see [Widget Documetation]() - -### Placing the configuration file - -The configuration file and the scss file should lay in your `$HOME/.config/eww` folder. The xml file should be named `eww.xml` and the scss should be named `eww.scss` -So the directory structure should look like this: -``` -$HOME -└──.config - └──eww - ├──eww.xml - └──eww.scss -``` - -### Variables - -If you create a `` or a ``, you can reference them in your `` by doing `{{var}}`. Where `var` is your variable name. - -#### The `` tag -Allows you to repeat the same text multiple times through without retyping it multiple times. - -Example: This will define a variable named `banana`, with the default value "I like bananas." -```xml - - I like bananas. - -``` -You can then reference it in your widgets by doing: - -```xml - - {{banana}} - -``` - -To change the value of the variable, and thus change the UI, you can run `eww update banana "I like apples"` - -#### The `` tag - -Allows you to create a script that eww runs. -Useful for creating volume sliders or anything similar. - -Example: -```xml - - - date +%H:%M - - -``` - -and then reference it by doing: -```xml - - {{date}} - -``` - -The `interval="5s"` part says how long time it should take before Eww runs the command again. -Here are the available times you can set: -| Shortened | Full name | -| :------------- | :----------:| -| ms | Miliseconds | -| s | Seconds | -| m | Minutes | -| h | Hours | - -#### Tail -If you don't want a set interval and instead want it to tail (run the script when it detects a change is present) you can simply remove the `interval="5s"` so it becomes: -```xml - - - date +%H:%M - - -``` - -### The `` block -In here you whole widget will be made, and you can also create your own widgets. Check [Widget Documentation]() for pre-defined widgets. - -#### Custom widgets - -Let's get a small config and break it down. - -```xml - - - - The time is: {{my_time}} currently. - - - - - - - - - - - - date - - -``` -That's a long config just for a custom widget. But let's break it down and try to understand it. - -This part: -```xml - - - The time is: {{my_time}} currently. - - -``` -Is the custom widget. As we can see by the -```xml - -``` -the widget is called `clock.`Or referenced `` -The `{{my_time}}` is the value we assign to be well, our time. You can actually set to be anything, it doesn't have to be a time. You can compare it to `value=""` - -So if we look at: -```xml - - - - - -``` -we can see that we assign `{{my_time}}` to be `{{date}}` and if we look at -```xml - - date - -``` -we can see that `{{date}}` is simply running the `date` command. - -It doesn't have to be `{{my_time}}` either, it can be anything. -```xml - - - The time is: {{very_long_list_of_animals}} currently. - - -``` -is valid. - -To use that it would look like this: -```xml - - - - - -``` -### The `` block - -This is the part the Eww reads and loads. The `` config should look something like this: - -```xml - - - - - -
- - - -``` -`` is the part that eww runs when you start it. In this example you would run eww by doing: -```bash -./eww open main_window -``` -but if renamed the `` to be `` we would run eww by doing: -```bash -./eww open apple -``` - -The `stacking="fg"` says where the widget will be stacked. Possible values here are `foreground`, `fg`, `background` and `bg`. -`foreground` or `fg` *always* stays above windows. -`background` or `bg` *always* stays behind windows. So it will stay on your desktop. - -If you were to remove the `stacking="fg"` it would default it to `fg`. - -You can also have multiple windows in one document by doing: - -```xml - - - - - -
- - - - - - - - - - -``` ---- - -- `` sets x-y size of the widget. -- `` sets x-y position of the widget. -- `` is the part which you say which `` eww should run. So if we take the example config from before: -```xml - - - - The time is: {{my_time}} currently. - - - - - - - - -``` -and then look at -```xml - -
- -``` -we will see that eww will run `` and not ``. - -### Widgets made in Eww - -![two](images/two.png) ![one](images/one.png) - - -## GTK - -### Gtk-Themeing - -Eww is styled in GTK CSS. To make theming even easier, it makes use of `scss` and then compiles that into CSS for you. If you don't know any way to style something check out the [GTK CSS Overview wiki](https://developer.gnome.org/gtk3/stable/chap-css-overview.html), the [GTK CSS Properties Overview wiki ](https://developer.gnome.org/gtk3/stable/chap-css-properties.html). Or check the [GTK-Debugger](#gtk-debugger) - -If you have **NO** clue about how to do CSS, check out some online guides or tutorials. - -SCSS is *very* close to CSS so if you know CSS you'll have no problem learning SCSS. - -### GTK-Debugger - -The debugger can be used for **a lot** of things. Especially if something doesn't work or isn't styled right. to enable it do -```bash -GTK_DEBUG=interactive ./eww open main_window -``` -or in fish -```bash -env GTK_DEBUG=interactive ./eww open main_window -``` - -If a style or something similar doesn't work you can click on the icon in the top left icon to select the thing that isn't being styled or isn't being styled correctly. - -Then you can click on the drop down menu in the top right corner and select CSS Nodes, here you will see everything about styling it, CSS Properties and how it's structured. - -## Troubleshooting - -Here you will find help if something doesn't work, if the issue isn't listed here please [open an issue on the github repo.](https://github.com/elkowar/eww/issues) - -### My scss isn't being loaded! - -1. You have not created a scss file -2. The scss file isn't called correctly. (it should be called `eww.scss` in the `$HOME/.config/eww` folder) -3. The scss file isn't placed in the correct location (check above) -4. You have used two (or more) semi-colons (;;) insted of one (;) at the end of a line. - -If none of these fixed your problem [open an issue on the github repo.](https://github.com/elkowar/eww/issues) Or check the [GTK-Debugger](#gtk-debugger). - -### Eww can't find my configuration file! - -1. It's incorrectly named or it's in the wrong place (it should be called `eww.xml` in the `$HOME/.config/eww` folder) -2. You haven't started eww correctly or you started it wrong. (See [Starting Eww](starting-eww)) - -### Something isn't styled correctly! - -1. You have misstyped the CSS class. -2. Check the [GTK-Debugger](#gtk-debugger) - -Remeber if your issue isn't listed here, [open an issue on the github repo](https://github.com/elkowar/eww/issues). diff --git a/docs/config.toml b/docs/config.toml new file mode 100644 index 0000000..d11a1d8 --- /dev/null +++ b/docs/config.toml @@ -0,0 +1,19 @@ +# The URL the site will be built for +base_url = "https://elkowar.github.io/eww/" + +# Whether to automatically compile all Sass files in the sass directory +compile_sass = true + +# Whether to do syntax highlighting +# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola +highlight_code = true + +# Whether to build a search index to be used later on by a JavaScript library +build_search_index = true + +theme = "book" + +highlight_theme = "base16-ocean-dark" + +[extra] +book_numbered_chapters = false diff --git a/docs/content/main/_index.md b/docs/content/main/_index.md new file mode 100644 index 0000000..55a2367 --- /dev/null +++ b/docs/content/main/_index.md @@ -0,0 +1,52 @@ ++++ +title = "Eww - Widgets for everyone!" +slug = "eww" +sort_by = "weight" ++++ + + +Eww (ElKowar's Wacky Widgets, pronounced with sufficient amounts of disgust) Is a widgeting system made in [rust](https://www.rust-lang.org/), which let's you create your own widgets simmilarly to how you can in AwesomeWM. The key difference: It is independent of your window manager! + +Configured in XML and themed using CSS, it is easy to customize and provides all the flexibility you need! + + +## How to install Eww + +### Prerequisites + +* rustc +* cargo (nightly toolchain) + +Rather than with your system package manager, I recommend installing it using [rustup](https://rustup.rs/), as this makes it easy to use the nightly toolchain, which is necessary to build eww. + +### Building + +Once you have the Prerequisites ready, you're ready to install and build eww. + +First clone the repo: +```bash +git clone https://github.com/elkowar/eww +``` +then enter it. +```bash +cd eww +``` +and then to build: +```bash +cargo build --release +``` + +### Running eww +Once you've built it you can now run it by entering: +```bash +cd target/release +``` +and then make the Eww binary executable +```bash +chmod +x ./eww +``` +and then to run it do +``` +./eww open +``` +`` is the name of the window, see [The windows block](@/main/configuration.md#windows-block). diff --git a/docs/content/main/configuration.md b/docs/content/main/configuration.md new file mode 100644 index 0000000..5cdd5b5 --- /dev/null +++ b/docs/content/main/configuration.md @@ -0,0 +1,241 @@ ++++ +title = "Configuration" +slug = "The basics of how to configure eww" +weight = 1 ++++ + +## Configuration + +For specific built in widgets `, , , etc` see [Widget Documetation](@/main/widgets.md) + +### Placing the configuration file + +The configuration file and the scss file should lay in your `$HOME/.config/eww` folder. The xml file should be named `eww.xml` and the scss should be named `eww.scss` +So the directory structure should look like this: +``` +$HOME +└──.config + └──eww + ├──eww.xml + └──eww.scss +``` + +### Variables + +If you create a `` or a ``, you can reference them in your `` by doing `{{var}}`. Where `var` is your variable name. + +#### The `` tag +Allows you to repeat the same text multiple times through without retyping it multiple times. + +Example: This will define a variable named `banana`, with the default value "I like bananas." +```xml + + I like bananas. + +``` +You can then reference it in your widgets by doing: + +```xml + + {{banana}} + +``` + +To change the value of the variable, and thus change the UI, you can run `eww update banana "I like apples"` + +#### The `` tag + +Allows you to create a script that eww runs. +Useful for creating volume sliders or anything similar. + +Example: +```xml + + + date +%H:%M + + +``` + +and then reference it by doing: +```xml + + {{date}} + +``` + +The `interval="5s"` part says how long time it should take before Eww runs the command again. +Here are the available times you can set: + +| Shortened | Full name | +|-----------|-------------| +| ms | Miliseconds | +| s | Seconds | +| m | Minutes | +| h | Hours | + + +#### Tail +If you don't want a set interval and instead want it to tail (run the script when it detects a change is present) you can simply remove the `interval="5s"` so it becomes: +```xml + + + date +%H:%M + + +``` + +### The `` block +In here you whole widget will be made, and you can also create your own widgets. Check [Widget Documentation](@/main/widgets.md) for pre-defined widgets. + +#### Custom widgets + +Let's get a small config and break it down. + +```xml + + + + The time is: {{my_time}} currently. + + + + + + + + + + + + date + + +``` +That's a long config just for a custom widget. But let's break it down and try to understand it. + +This part: +```xml + + + The time is: {{my_time}} currently. + + +``` +Is the custom widget. As we can see by the +```xml + +``` +the widget is called `clock.`Or referenced `` +The `{{my_time}}` is the value we assign to be well, our time. You can actually set to be anything, it doesn't have to be a time. You can compare it to `value=""` + +So if we look at: +```xml + + + + + +``` +we can see that we assign `{{my_time}}` to be `{{date}}` and if we look at +```xml + + date + +``` +we can see that `{{date}}` is simply running the `date` command. + +It doesn't have to be `{{my_time}}` either, it can be anything. +```xml + + + The time is: {{very_long_list_of_animals}} currently. + + +``` +is valid. + +To use that it would look like this: +```xml + + + + + +``` +### The `` block {#windows-block} + +This is the part the Eww reads and loads. The `` config should look something like this: + +```xml + + + + + +
+ + + +``` +`` is the part that eww runs when you start it. In this example you would run eww by doing: +```bash +./eww open main_window +``` +but if renamed the `` to be `` we would run eww by doing: +```bash +./eww open apple +``` + +The `stacking="fg"` says where the widget will be stacked. Possible values here are `foreground`, `fg`, `background` and `bg`. +`foreground` or `fg` *always* stays above windows. +`background` or `bg` *always* stays behind windows. So it will stay on your desktop. + +If you were to remove the `stacking="fg"` it would default it to `fg`. + +You can also have multiple windows in one document by doing: + +```xml + + + + + +
+ + + + + + + + + + +``` +--- + +- `` sets x-y size of the widget. +- `` sets x-y position of the widget. +- `` is the part which you say which `` eww should run. So if we take the example config from before: +```xml + + + + The time is: {{my_time}} currently. + + + + + + + + +``` +and then look at +```xml + +
+ +``` +we will see that eww will run `` and not ``. diff --git a/docs/content/main/troubleshooting.md b/docs/content/main/troubleshooting.md new file mode 100644 index 0000000..ffd0517 --- /dev/null +++ b/docs/content/main/troubleshooting.md @@ -0,0 +1,30 @@ ++++ +title = "Troubleshooting" +slug = "troubleshooting" +weight = 4 ++++ + +## Troubleshooting + +Here you will find help if something doesn't work, if the issue isn't listed here please [open an issue on the github repo.](https://github.com/elkowar/eww/issues) + +### My scss isn't being loaded! + +1. You have not created a scss file +2. The scss file isn't called correctly. (it should be called `eww.scss` in the `$HOME/.config/eww` folder) +3. The scss file isn't placed in the correct location (check above) +4. You have used two (or more) semi-colons (;;) insted of one (;) at the end of a line. + +If none of these fixed your problem [open an issue on the github repo.](https://github.com/elkowar/eww/issues) Or check the [GTK-Debugger](#gtk-debugger). + +### Eww can't find my configuration file! + +1. It's incorrectly named or it's in the wrong place (it should be called `eww.xml` in the `$HOME/.config/eww` folder) +2. You haven't started eww correctly or you started it wrong. (See [Starting Eww](starting-eww)) + +### Something isn't styled correctly! + +1. You have misstyped the CSS class. +2. Check the [GTK-Debugger](#gtk-debugger) + +Remeber if your issue isn't listed here, [open an issue on the github repo](https://github.com/elkowar/eww/issues). diff --git a/docs/content/main/widgets.md b/docs/content/main/widgets.md new file mode 100644 index 0000000..8186826 --- /dev/null +++ b/docs/content/main/widgets.md @@ -0,0 +1,5 @@ ++++ +title = "Widgets" +slug = "widget documentation" +weight = 3 ++++ diff --git a/docs/content/main/working_with_gtk.md b/docs/content/main/working_with_gtk.md new file mode 100644 index 0000000..31116c7 --- /dev/null +++ b/docs/content/main/working_with_gtk.md @@ -0,0 +1,37 @@ ++++ +title = "Theming with GTK" +slug = "How to use GTK-theming in Eww" +weight = 2 ++++ + +## GTK + +### Gtk-Themeing + +Eww is styled in GTK CSS. +To make theming even easier, it makes use of `scss` and then compiles that into CSS for you. +If you don't know any way to style something check out the [GTK CSS Overview wiki](https://developer.gnome.org/gtk3/stable/chap-css-overview.html), +the [GTK CSS Properties Overview wiki ](https://developer.gnome.org/gtk3/stable/chap-css-properties.html), +or check the [GTK-Debugger](#gtk-debugger). + +If you have **NO** clue about how to do CSS, check out some online guides or tutorials. + +SCSS is _very_ close to CSS so if you know CSS you'll have no problem learning SCSS. + +### GTK-Debugger + +The debugger can be used for **a lot** of things. Especially if something doesn't work or isn't styled right. to enable it do + +```bash +GTK_DEBUG=interactive ./eww open main_window +``` + +or in fish + +```bash +env GTK_DEBUG=interactive ./eww open main_window +``` + +If a style or something similar doesn't work you can click on the icon in the top left icon to select the thing that isn't being styled or isn't being styled correctly. + +Then you can click on the drop down menu in the top right corner and select CSS Nodes, here you will see everything about styling it, CSS Properties and how it's structured. diff --git a/docs/images/one.png b/docs/images/one.png deleted file mode 100644 index d80819251c8eb66dbff0fb13c9dc1290aa8e7675..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26915 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 diff --git a/docs/images/two.png b/docs/images/two.png deleted file mode 100644 index 6b695cbaf894259b1768bdc64d8ffa82ac5fbde3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25824 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 B5v2eC diff --git a/docs/sass/style.scss b/docs/sass/style.scss new file mode 100644 index 0000000..6d99f16 --- /dev/null +++ b/docs/sass/style.scss @@ -0,0 +1,55 @@ +:root { + --bg: hsl(210, 25%, 8%); + --bg-code: #2b303b; + --fg: #c5c5c5; + --sidebar-bg: #14191f; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #5c6773; + --sidebar-active: #ffb454; + --sidebar-spacer: #2d334f; + --scrollbar: var(--sidebar-fg); + --icons: #737480; + --icons-hover: #b7b9cc; + --links: #0096cf; + --inline-code-color: #ffb454; + --theme-popup-bg: #14191f; + --theme-popup-border: #5c6773; + --theme-hover: #191f26; + --quote-bg: hsl(226, 15%, 17%); + --quote-border: hsl(226, 15%, 22%); + --table-border-color: hsl(210, 25%, 13%); + --table-header-bg: hsl(210, 25%, 28%); + --table-alternate-bg: hsl(210, 25%, 11%); + --searchbar-border-color: #848484; + --searchbar-bg: #424242; + --searchbar-fg: #fff; + --searchbar-shadow-color: #d4c89f; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #252932; + --search-mark-bg: #e3b171; +} + +.menu { + background-color: var(--sidebar-bg); + ul a { + color: var(--sidebar-fg); + } + ul li.active > a { + color: var(--sidebar-active); + } +} + +.page { + background-color: var(--bg); + color: var(--fg); + + code { + color: var(--inline-code-color); + background-color: var(--bg-code); + } + + .menu-icon > span { + background-color: rgba(255, 255, 255, 0.5); + } +} diff --git a/docs/templates/index.html b/docs/templates/index.html new file mode 100644 index 0000000..5aaec16 --- /dev/null +++ b/docs/templates/index.html @@ -0,0 +1,5 @@ +{% extends "book/templates/index.html" %} +{% block css %} + + +{% endblock css %} diff --git a/docs/themes/book/.gitignore b/docs/themes/book/.gitignore new file mode 100644 index 0000000..4139cd5 --- /dev/null +++ b/docs/themes/book/.gitignore @@ -0,0 +1,2 @@ +.idea/ +public diff --git a/docs/themes/book/LICENSE b/docs/themes/book/LICENSE new file mode 100644 index 0000000..93ab851 --- /dev/null +++ b/docs/themes/book/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Vincent Prouillet + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/docs/themes/book/README.md b/docs/themes/book/README.md new file mode 100644 index 0000000..70ba0ab --- /dev/null +++ b/docs/themes/book/README.md @@ -0,0 +1,54 @@ +# book + +A theme based on [Gitbook](https://www.gitbook.com), to write documentation +or books. + +![book screenshot](https://github.com/Keats/book/blob/master/screenshot.png?raw=true) + + +## Contents + +- [Installation](#installation) +- [Options](#options) + - [Numbered chapters](#numbered-chapters) + +## Installation +First download this theme to your `themes` directory: + +```bash +$ cd themes +$ git clone https://github.com/getzola/book.git +``` +and then enable it in your `config.toml`: + +```toml +theme = "book" +# Optional, if you want search +build_search_index = true +``` + +## Usage +Book will generate a book from the files you place in the `content` directory. Your book +can have two levels of hierarchy: chapters and subchapters. + +Each chapter should be a `section` within the Gutenberg site and should have an `_index.md` +file that sets its `weight` front-matter variable to its chapter number. For example, +chapter 2 should have `weight = 2`. Additionally, each chapter should also set the +`sort_by = "weight"` in its front matter. + +Each subchapter should be a `page` and should have its `weight` variable set to the subchapter +number. For example, subchapter 3.4 should have `weight = 4`. + +Finally, you should create an `_index.md` file and set the `redirect_to` front-matter variable +to redirect to the first section of your content. For example, if your first section has the +slug `introduction`, then you would set `redirect_to = "introduction"`. + +## Options + +### Numbered chapters +By default, the `book` theme will number the chapters and pages in the left menu. +You can disable that by setting the `book_number_chapters` in `extra`: + +```toml +book_number_chapters = false +``` diff --git a/docs/themes/book/config.toml b/docs/themes/book/config.toml new file mode 100644 index 0000000..42544df --- /dev/null +++ b/docs/themes/book/config.toml @@ -0,0 +1,9 @@ +base_url = "https://zola-book.netlify.com" +compile_sass = true +title = "book theme" +description = "A book theme" +highlight_code = true +build_search_index = true + +[extra] +book_number_chapters = true diff --git a/docs/themes/book/content/_index.md b/docs/themes/book/content/_index.md new file mode 100644 index 0000000..6abf22b --- /dev/null +++ b/docs/themes/book/content/_index.md @@ -0,0 +1,3 @@ ++++ +redirect_to = "chapter1" ++++ diff --git a/docs/themes/book/content/chapter1/_index.md b/docs/themes/book/content/chapter1/_index.md new file mode 100644 index 0000000..c296793 --- /dev/null +++ b/docs/themes/book/content/chapter1/_index.md @@ -0,0 +1,66 @@ ++++ +title = "Introduction" +weight = 1 +sort_by = "weight" +insert_anchor_links = "right" ++++ + +Testing every `elements` you can find in [CommonMark](http://commonmark.org). + + +Quisque viverra a eros id auctor. Proin id nibh ut nisl dignissim pellentesque et ac mi. Nullam mattis urna quis consequat bibendum. Donec pretium dui elit, a semper purus tristique et. Mauris euismod nisl eu vehicula facilisis. Maecenas facilisis non massa non scelerisque. Integer malesuada cursus erat eu viverra. Duis ligula mi, eleifend vel justo id, laoreet porttitor ex. Etiam ultricies lacus lorem, sed aliquam nulla blandit in. Maecenas vel facilisis neque, vitae fringilla eros. In justo nibh, pellentesque sed faucibus nec, varius sit amet risus. + +> This is a quote + +- a +- bullet +- point + +## Some code + +```rust +fn main() { + let greetings = ["Hello", "Hola", "Bonjour", + "Ciao", "こんにちは", "안녕하세요", + "Cześć", "Olá", "Здравствуйте", + "Chào bạn", "您好", "Hallo", + "Hej", "Ahoj", "سلام"]; + + for (num, greeting) in greetings.iter().enumerate() { + print!("{} : ", greeting); + match num { + 0 => println!("This code is editable and runnable!"), + 1 => println!("¡Este código es editable y ejecutable!"), + 2 => println!("Ce code est modifiable et exécutable !"), + 3 => println!("Questo codice è modificabile ed eseguibile!"), + 4 => println!("このコードは編集して実行出来ます!"), + 5 => println!("여기에서 코드를 수정하고 실행할 수 있습니다!"), + 6 => println!("Ten kod można edytować oraz uruchomić!"), + 7 => println!("Este código é editável e executável!"), + 8 => println!("Этот код можно отредактировать и запустить!"), + 9 => println!("Bạn có thể edit và run code trực tiếp!"), + 10 => println!("这段代码是可以编辑并且能够运行的!"), + 11 => println!("Dieser Code kann bearbeitet und ausgeführt werden!"), + 12 => println!("Den här koden kan redigeras och köras!"), + 13 => println!("Tento kód můžete upravit a spustit"), + 14 => println!("این کد قابلیت ویرایش و اجرا دارد!"), + _ => {}, + } + } +} +``` + +## A table + +| a | table | in | markdown | !! | +|----|-------|----|----------|---------------------------------| +| 1 | 2 | 3 | 4 | 5 | +| 1 | we | ew | we | with a longish column inside it | + +## An image + +![a cat](https://i.imgur.com/t6nPdY8.jpg "A cat") + +## An iframe + +{{ youtube(id="dQw4w9WgXcQ") }} diff --git a/docs/themes/book/content/chapter1/page1.md b/docs/themes/book/content/chapter1/page1.md new file mode 100644 index 0000000..0c0697b --- /dev/null +++ b/docs/themes/book/content/chapter1/page1.md @@ -0,0 +1,84 @@ ++++ +title = "Page 1" +weight = 1 ++++ + +Pages and sections are actually very similar. + +## Page variables +Gutenberg will try to load the `templates/page.html` template, the `page.html` template of the theme if one is used +or will render the built-in template: a blank page. + +Whichever template you decide to render, you will get a `page` variable in your template +with the following fields: + + +```ts +content: String; +title: String?; +description: String?; +date: String?; +slug: String; +path: String; +permalink: String; +summary: String?; +tags: Array; +category: String?; +extra: HashMap; +// Naive word count, will not work for languages without whitespace +word_count: Number; +// Based on https://help.medium.com/hc/en-us/articles/214991667-Read-time +reading_time: Number; +// `previous` and `next` are only filled if the content can be sorted +previous: Page?; +next: Page?; +// See the Table of contents section below for more details +toc: Array
; +``` + +## Section variables +By default, Gutenberg will try to load `templates/section.html`. If there isn't +one, it will render the built-in template: a blank page. + +Whichever template you decide to render, you will get a `section` variable in your template +with the following fields: + + +```ts +content: String; +title: String?; +description: String?; +date: String?; +slug: String; +path: String; +permalink: String; +extra: HashMap; +// Pages directly in this section, sorted if asked +pages: Array; +// Direct subsections to this section, sorted by subsections weight +subsections: Array
; +// Naive word count, will not work for languages without whitespace +word_count: Number; +// Based on https://help.medium.com/hc/en-us/articles/214991667-Read-time +reading_time: Number; +// See the Table of contents section below for more details +toc: Array
; +``` + +## Table of contents + +Both page and section have a `toc` field which corresponds to an array of `Header`. +A `Header` has the following fields: + +```ts +// The hX level +level: 1 | 2 | 3 | 4 | 5 | 6; +// The generated slug id +id: String; +// The text of the header +title: String; +// A link pointing directly to the header, using the inserted anchor +permalink: String; +// All lower level headers below this header +children: Array
; +``` diff --git a/docs/themes/book/content/chapter2/_index.md b/docs/themes/book/content/chapter2/_index.md new file mode 100644 index 0000000..86a0d1e --- /dev/null +++ b/docs/themes/book/content/chapter2/_index.md @@ -0,0 +1,6 @@ ++++ +title = "What is Gutenberg" +weight = 2 +sort_by = "weight" +insert_anchor_links = "right" ++++ diff --git a/docs/themes/book/content/chapter2/page1.md b/docs/themes/book/content/chapter2/page1.md new file mode 100644 index 0000000..ecdfc17 --- /dev/null +++ b/docs/themes/book/content/chapter2/page1.md @@ -0,0 +1,14 @@ ++++ +title = "Page 1" +weight = 1 ++++ + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin pulvinar, sem id fermentum sollicitudin, velit sem elementum nisl, at tempus odio lectus eu sapien. Quisque ligula diam, cursus sed nisi et, ultricies rhoncus diam. Integer nec tellus a ante dapibus tincidunt nec id lacus. Quisque eu aliquet dui. Etiam placerat, ex in luctus lobortis, sem augue pellentesque nulla, in gravida lacus dui id arcu. Nam vel metus a ipsum condimentum porta non quis purus. Nullam feugiat vitae felis eu imperdiet. Sed et faucibus ligula. + +Morbi tempus semper tellus eget luctus. Morbi eu dui leo. Aliquam vel neque id risus laoreet pellentesque. In mattis tincidunt nulla, sit amet pharetra tellus facilisis vel. Nulla facilisi. Nunc blandit massa a ante interdum pulvinar. Suspendisse bibendum efficitur gravida. Praesent gravida urna a luctus molestie. Fusce accumsan ipsum elit, quis gravida urna condimentum sed. Aliquam erat volutpat. Quisque eget mollis lorem, sit amet ultricies mauris. Fusce vulputate sollicitudin magna eget facilisis. Nunc id dignissim sapien. + +Nulla pharetra eget ligula vitae auctor. Praesent consectetur consectetur nunc, quis commodo arcu posuere tincidunt. Praesent auctor, augue ut tincidunt semper, dolor ex malesuada justo, sit amet feugiat velit leo a lectus. Curabitur et velit ut magna vulputate vehicula nec sed lorem. Ut rutrum, odio sit amet mollis scelerisque, enim arcu euismod odio, vel faucibus libero ex sit amet nisl. Proin nec orci nec elit vehicula sodales id eget ex. Etiam et aliquet lacus. Cras tortor orci, blandit nec eleifend nec, venenatis at nibh. Vivamus eu feugiat purus. Nam viverra lobortis dui, non eleifend mauris commodo eget. Vestibulum quis erat et turpis maximus pretium. Aenean ac placerat quam. Nulla elit tortor, ornare a libero non, eleifend vestibulum nulla. Donec justo lorem, accumsan a feugiat ullamcorper, fringilla vel augue. Sed convallis et odio rhoncus vestibulum. Vivamus finibus lacinia dui, volutpat tincidunt felis condimentum et. + +Cras accumsan libero sed nulla facilisis varius. Nulla auctor nibh quis mauris tincidunt fermentum. Nulla sed consectetur odio, a fringilla libero. Curabitur tincidunt varius mollis. Cras ornare nec enim in vestibulum. Quisque tempor nunc arcu, eu accumsan tellus pulvinar nec. Donec venenatis cursus est sed gravida. Ut non nisi sit amet ligula facilisis volutpat. Praesent lorem quam, euismod sit amet consequat eu, aliquam at justo. Nunc vel condimentum velit. Duis pharetra laoreet nulla sed consectetur. Pellentesque malesuada mauris id nunc ultricies, quis viverra tellus porttitor. + +Aliquam vitae lectus tortor. Etiam auctor tortor elit, vel scelerisque metus tempor et. Quisque condimentum, massa vel condimentum sagittis, justo risus convallis eros, ac accumsan dolor ante in justo. Quisque et lacus at lectus semper commodo. Cras id viverra sem. Aliquam venenatis, tortor at fringilla semper, metus libero dictum libero, consequat facilisis nunc dolor sed sem. Nulla blandit, justo a condimentum malesuada, mauris mi lacinia orci, at finibus odio mi quis velit. Maecenas vel justo in lorem tristique sodales. diff --git a/docs/themes/book/content/chapter3/_index.md b/docs/themes/book/content/chapter3/_index.md new file mode 100644 index 0000000..8812e6e --- /dev/null +++ b/docs/themes/book/content/chapter3/_index.md @@ -0,0 +1,6 @@ ++++ +title = "Chapter 3" +weight = 3 +sort_by = "weight" +insert_anchor_links = "right" ++++ diff --git a/docs/themes/book/content/chapter3/page1.md b/docs/themes/book/content/chapter3/page1.md new file mode 100644 index 0000000..a6006a1 --- /dev/null +++ b/docs/themes/book/content/chapter3/page1.md @@ -0,0 +1,20 @@ ++++ +title = "Page 1" +weight = 1 ++++ + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin pulvinar, sem id fermentum sollicitudin, velit sem elementum nisl, at tempus odio lectus eu sapien. Quisque ligula diam, cursus sed nisi et, ultricies rhoncus diam. Integer nec tellus a ante dapibus tincidunt nec id lacus. Quisque eu aliquet dui. Etiam placerat, ex in luctus lobortis, sem augue pellentesque nulla, in gravida lacus dui id arcu. Nam vel metus a ipsum condimentum porta non quis purus. Nullam feugiat vitae felis eu imperdiet. Sed et faucibus ligula. + +```js +function isAllowed(user) { + return user.admin || user.staff; +} +``` + +Morbi tempus semper tellus eget luctus. Morbi eu dui leo. Aliquam vel neque id risus laoreet pellentesque. In mattis tincidunt nulla, sit amet pharetra tellus facilisis vel. Nulla facilisi. Nunc blandit massa a ante interdum pulvinar. Suspendisse bibendum efficitur gravida. Praesent gravida urna a luctus molestie. Fusce accumsan ipsum elit, quis gravida urna condimentum sed. Aliquam erat volutpat. Quisque eget mollis lorem, sit amet ultricies mauris. Fusce vulputate sollicitudin magna eget facilisis. Nunc id dignissim sapien. + +Nulla pharetra eget ligula vitae auctor. Praesent consectetur consectetur nunc, quis commodo arcu posuere tincidunt. Praesent auctor, augue ut tincidunt semper, dolor ex malesuada justo, sit amet feugiat velit leo a lectus. Curabitur et velit ut magna vulputate vehicula nec sed lorem. Ut rutrum, odio sit amet mollis scelerisque, enim arcu euismod odio, vel faucibus libero ex sit amet nisl. Proin nec orci nec elit vehicula sodales id eget ex. Etiam et aliquet lacus. Cras tortor orci, blandit nec eleifend nec, venenatis at nibh. Vivamus eu feugiat purus. Nam viverra lobortis dui, non eleifend mauris commodo eget. Vestibulum quis erat et turpis maximus pretium. Aenean ac placerat quam. Nulla elit tortor, ornare a libero non, eleifend vestibulum nulla. Donec justo lorem, accumsan a feugiat ullamcorper, fringilla vel augue. Sed convallis et odio rhoncus vestibulum. Vivamus finibus lacinia dui, volutpat tincidunt felis condimentum et. + +Cras accumsan libero sed nulla facilisis varius. Nulla auctor nibh quis mauris tincidunt fermentum. Nulla sed consectetur odio, a fringilla libero. Curabitur tincidunt varius mollis. Cras ornare nec enim in vestibulum. Quisque tempor nunc arcu, eu accumsan tellus pulvinar nec. Donec venenatis cursus est sed gravida. Ut non nisi sit amet ligula facilisis volutpat. Praesent lorem quam, euismod sit amet consequat eu, aliquam at justo. Nunc vel condimentum velit. Duis pharetra laoreet nulla sed consectetur. Pellentesque malesuada mauris id nunc ultricies, quis viverra tellus porttitor. + +Aliquam vitae lectus tortor. Etiam auctor tortor elit, vel scelerisque metus tempor et. Quisque condimentum, massa vel condimentum sagittis, justo risus convallis eros, ac accumsan dolor ante in justo. Quisque et lacus at lectus semper commodo. Cras id viverra sem. Aliquam venenatis, tortor at fringilla semper, metus libero dictum libero, consequat facilisis nunc dolor sed sem. Nulla blandit, justo a condimentum malesuada, mauris mi lacinia orci, at finibus odio mi quis velit. Maecenas vel justo in lorem tristique sodales. diff --git a/docs/themes/book/content/chapter3/page2.md b/docs/themes/book/content/chapter3/page2.md new file mode 100644 index 0000000..e9b4ca0 --- /dev/null +++ b/docs/themes/book/content/chapter3/page2.md @@ -0,0 +1,20 @@ ++++ +title = "Page 2" +weight = 2 ++++ + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin pulvinar, sem id fermentum sollicitudin, velit sem elementum nisl, at tempus odio lectus eu sapien. Quisque ligula diam, cursus sed nisi et, ultricies rhoncus diam. Integer nec tellus a ante dapibus tincidunt nec id lacus. Quisque eu aliquet dui. Etiam placerat, ex in luctus lobortis, sem augue pellentesque nulla, in gravida lacus dui id arcu. Nam vel metus a ipsum condimentum porta non quis purus. Nullam feugiat vitae felis eu imperdiet. Sed et faucibus ligula. + +```js +function isAllowed(user) { + return user.admin || user.staff; +} +``` + +Morbi tempus semper tellus eget luctus. Morbi eu dui leo. Aliquam vel neque id risus laoreet pellentesque. In mattis tincidunt nulla, sit amet pharetra tellus facilisis vel. Nulla facilisi. Nunc blandit massa a ante interdum pulvinar. Suspendisse bibendum efficitur gravida. Praesent gravida urna a luctus molestie. Fusce accumsan ipsum elit, quis gravida urna condimentum sed. Aliquam erat volutpat. Quisque eget mollis lorem, sit amet ultricies mauris. Fusce vulputate sollicitudin magna eget facilisis. Nunc id dignissim sapien. + +Nulla pharetra eget ligula vitae auctor. Praesent consectetur consectetur nunc, quis commodo arcu posuere tincidunt. Praesent auctor, augue ut tincidunt semper, dolor ex malesuada justo, sit amet feugiat velit leo a lectus. Curabitur et velit ut magna vulputate vehicula nec sed lorem. Ut rutrum, odio sit amet mollis scelerisque, enim arcu euismod odio, vel faucibus libero ex sit amet nisl. Proin nec orci nec elit vehicula sodales id eget ex. Etiam et aliquet lacus. Cras tortor orci, blandit nec eleifend nec, venenatis at nibh. Vivamus eu feugiat purus. Nam viverra lobortis dui, non eleifend mauris commodo eget. Vestibulum quis erat et turpis maximus pretium. Aenean ac placerat quam. Nulla elit tortor, ornare a libero non, eleifend vestibulum nulla. Donec justo lorem, accumsan a feugiat ullamcorper, fringilla vel augue. Sed convallis et odio rhoncus vestibulum. Vivamus finibus lacinia dui, volutpat tincidunt felis condimentum et. + +Cras accumsan libero sed nulla facilisis varius. Nulla auctor nibh quis mauris tincidunt fermentum. Nulla sed consectetur odio, a fringilla libero. Curabitur tincidunt varius mollis. Cras ornare nec enim in vestibulum. Quisque tempor nunc arcu, eu accumsan tellus pulvinar nec. Donec venenatis cursus est sed gravida. Ut non nisi sit amet ligula facilisis volutpat. Praesent lorem quam, euismod sit amet consequat eu, aliquam at justo. Nunc vel condimentum velit. Duis pharetra laoreet nulla sed consectetur. Pellentesque malesuada mauris id nunc ultricies, quis viverra tellus porttitor. + +Aliquam vitae lectus tortor. Etiam auctor tortor elit, vel scelerisque metus tempor et. Quisque condimentum, massa vel condimentum sagittis, justo risus convallis eros, ac accumsan dolor ante in justo. Quisque et lacus at lectus semper commodo. Cras id viverra sem. Aliquam venenatis, tortor at fringilla semper, metus libero dictum libero, consequat facilisis nunc dolor sed sem. Nulla blandit, justo a condimentum malesuada, mauris mi lacinia orci, at finibus odio mi quis velit. Maecenas vel justo in lorem tristique sodales. diff --git a/docs/themes/book/content/chapter4/_index.md b/docs/themes/book/content/chapter4/_index.md new file mode 100644 index 0000000..d6eb2ef --- /dev/null +++ b/docs/themes/book/content/chapter4/_index.md @@ -0,0 +1,6 @@ ++++ +title = "A chapter without sub-parts" +weight = 4 +sort_by = "weight" +insert_anchor_links = "right" ++++ diff --git a/docs/themes/book/content/chapter5/_index.md b/docs/themes/book/content/chapter5/_index.md new file mode 100644 index 0000000..9ab3fb3 --- /dev/null +++ b/docs/themes/book/content/chapter5/_index.md @@ -0,0 +1,6 @@ ++++ +title = "Another chapter without sub-parts" +weight = 5 +sort_by = "weight" +insert_anchor_links = "right" ++++ diff --git a/docs/themes/book/sass/_content.scss b/docs/themes/book/sass/_content.scss new file mode 100644 index 0000000..f0de3d2 --- /dev/null +++ b/docs/themes/book/sass/_content.scss @@ -0,0 +1,226 @@ +.page { + position: absolute; + width: calc(100% - #{$sidebar-width}); + height: 100%; + overflow-y: auto; + color: #000; + background: #fff; + padding-bottom: 20px; + transition: 0.5s; + + .zola-anchor { + color: #4183c4; + padding-left: 10px; + text-decoration: none; + font-weight: initial; + + &:hover { + text-decoration: underline; + } + } + + img { + max-width: 100%; + } + + &__content { + a { + color: #4183c4; + text-decoration: none; + + &:hover { + text-decoration: underline; + } + } + + hr { + height: 4px; + padding: 0; + margin: 1.7em 0; + overflow: hidden; + background-color: #e7e7e7; + border: none; + } + + pre { + padding: 1rem; + + span { + white-space: pre-wrap; + } + } + + blockquote { + margin: 0; + margin-bottom: .85em; + padding: 0 15px; + color: #858585; + border-left: 4px solid #e5e5e5; + } + + pre code { + background: none; + } + + code { + display: inline-block; + vertical-align: middle; + padding: 0.1em 0.3em; + border-radius: 3px; + color: #6e6b5e; + background: #f1f1f1; + font-size: 0.875em; + font-family: "Source Code Pro", Consolas, "Ubuntu Mono", Menlo, "DejaVu Sans Mono", monospace, monospace; + } + + iframe { + border: 0; + } + + table { + margin: 0 auto; + border-collapse: collapse; + border-color: #cccccc; + + td { + padding: 3px 20px; + border: 1px solid #ccc; + } + + thead { + th { + padding: 6px 13px; + font-weight: bold; + border: 1px solid #ccc; + } + } + } + + font-size: 1.6rem; + word-wrap: break-word; + line-height: 1.7; + position: relative; + left: 0; + max-width: 800px; + margin: 0 auto; + padding: 0 15px 40px; + + p { + margin-top: 0; + margin-bottom: 0.85em; + } + } + + .previous, .next { + position: fixed; + display: flex; + top: 50px; + bottom: 0; + font-size: 2.5em; + color: #ccc; + text-decoration: none; + text-align: center; + margin: 0; + max-width: 150px; + min-width: 90px; + justify-content: center; + align-content: center; + flex-direction: column; + + &:hover { + color: #333; + } + } + + .previous { + left: $sidebar-width; + float: left; + transition: left 0.5s; + } + + .next { + // not 0 as it goes over the sidebar otherwise + right: 15px; + float: right; + } + + @include max-screen(1250px) { + .previous, .next { + position: static; + top: auto; + display: inline-block; + max-width: 49%; + width: 49%; + + &:hover { + text-decoration: none; + } + } + } +} + +@include min-screen(600px) { + .page { + left: $sidebar-width; + } +} + +.page-without-menu { + width: 100%; + left: 0; + + .previous { + left: 15px; + } +} + +@include max-screen(600px) { + .page { + width: 100%; + left: 0; + } +} + +.search-container { + display: none; + + &--is-visible { + display: block; + } + + #search { + width: 100%; + padding: 1rem; + border: 1px solid #aaa; + border-radius: 3px; + background-color: #fafafa; + color: #000; + } + + .search-results { + &__header { + font-weight: bold; + padding: 1rem 0rem; + } + + &__items { + margin: 0; + padding: 0; + list-style: none; + } + + &__item { + margin-bottom: 1rem; + } + + &__teaser { + font-size: 90%; + } + } +} + +.search-mode { + .prev-link, .next-link { + display: none; + } +} diff --git a/docs/themes/book/sass/_header.scss b/docs/themes/book/sass/_header.scss new file mode 100644 index 0000000..a4034c4 --- /dev/null +++ b/docs/themes/book/sass/_header.scss @@ -0,0 +1,160 @@ +@mixin menu-icon() { + @keyframes clickfirst { + 0% { + transform: translateY(6px) rotate(0deg); + + } + + 100% { + transform: translateY(0) rotate(45deg); + } + } + + @keyframes clickmid { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } + } + + @keyframes clicklast { + 0% { + transform: translateY(-6px) rotate(0deg); + } + + 100% { + transform: translateY(0) rotate(-45deg); + } + } + + @keyframes outfirst { + 0% { + transform: translateY(0) rotate(-45deg); + } + + 100% { + transform: translateY(-6px) rotate(0deg); + } + } + + @keyframes outmid { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } + } + + @keyframes outlast { + 0% { + transform: translateY(0) rotate(45deg); + } + + 100% { + transform: translateY(6px) rotate(0deg); + } + } + + span { + position: absolute; + /* fallback for browsers which still doesn't support for `calc()` */ + left: 15px; + top: 25px; + left: calc((100% - 20px) / 2); + top: calc((100% - 1px) / 2); + width: 20px; + height: 2px; + background-color: rgba(0, 0, 0, 0.5); + + &:nth-child(1) { + transform: translateY(6px) rotate(0deg); + } + + &:nth-child(3) { + transform: translateY(-6px) rotate(0deg); + } + } + + &.icon-click { + span:nth-child(1) { + animation-duration: 0.5s; + animation-fill-mode: both; + animation-name: clickfirst; + } + + span:nth-child(2) { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-name: clickmid; + } + + span:nth-child(3) { + animation-duration: 0.5s; + animation-fill-mode: both; + animation-name: clicklast; + } + } + + &.icon-out { + span:nth-child(1) { + animation-duration: 0.5s; + animation-fill-mode: both; + animation-name: outfirst; + } + + span:nth-child(2) { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-name: outmid; + } + + span:nth-child(3) { + animation-duration: 0.5s; + animation-fill-mode: both; + animation-name: outlast; + } + } +} + +.page__header { + height: 50px; + + .menu-icon { + height: 50px; + width: 50px; + font-size: 24px; + text-align: center; + float: left; + position: relative; + transition: background .5s; + cursor: pointer; + + @include menu-icon(); + + &:hover { + span { + background-color: black; + } + } + } + + .search-icon { + height: 50px; + width: 50px; + display: inline-block; + text-align: center; + line-height: 50px; + color: rgba(0, 0, 0, 0.5); + cursor: pointer; + font-size: 2rem; + + &:hover { + color: black + } + } +} diff --git a/docs/themes/book/sass/_navigation.scss b/docs/themes/book/sass/_navigation.scss new file mode 100644 index 0000000..660af60 --- /dev/null +++ b/docs/themes/book/sass/_navigation.scss @@ -0,0 +1,50 @@ +.menu { + height: 100%; + position: absolute; + left: 0; + overflow-y: auto; + width: 300px; + color: #364149; + background: #fafafa; + border-right: 1px solid rgba(0, 0, 0, 0.07); + transition: 0.5s; + + ul { + list-style: none; + margin: 0; + padding: 0; + + a { + display: block; + color: #364149; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + text-decoration: none; + padding: 10px 15px; + + &:hover { + text-decoration: underline; + } + } + + li.active > a { + color: #008cff; + text-decoration: none; + } + + ul { + padding-left: 20px; + } + } +} + +.menu-hidden { + width: 0; +} + +@include max-screen(600px) { + .menu { + width: 0; + } +} diff --git a/docs/themes/book/sass/_normalize.scss b/docs/themes/book/sass/_normalize.scss new file mode 100644 index 0000000..fa4e73d --- /dev/null +++ b/docs/themes/book/sass/_normalize.scss @@ -0,0 +1,447 @@ +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in + * IE on Windows Phone and in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers (opinionated). + */ + +body { + margin: 0; +} + +/** + * Add the correct display in IE 9-. + */ + +article, +aside, +footer, +header, +nav, +section { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + * 1. Add the correct display in IE. + */ + +figcaption, +figure, +main { /* 1 */ + display: block; +} + +/** + * Add the correct margin in IE 8. + */ + +figure { + margin: 1em 40px; +} + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * 1. Remove the gray background on active links in IE 10. + * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. + */ + +a { + background-color: transparent; /* 1 */ + -webkit-text-decoration-skip: objects; /* 2 */ +} + +/** + * 1. Remove the bottom border in Chrome 57- and Firefox 39-. + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Prevent the duplicate application of `bolder` by the next rule in Safari 6. + */ + +b, +strong { + font-weight: inherit; +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font style in Android 4.3-. + */ + +dfn { + font-style: italic; +} + +/** + * Add the correct background and color in IE 9-. + */ + +mark { + background-color: #ff0; + color: #000; +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + */ + +audio, +video { + display: inline-block; +} + +/** + * Add the correct display in iOS 4-7. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Remove the border on images inside links in IE 10-. + */ + +img { + border-style: none; +} + +/** + * Hide the overflow in IE. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers (opinionated). + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: sans-serif; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` + * controls in Android 4. + * 2. Correct the inability to style clickable types in iOS and Safari. + */ + +button, +html [type="button"], /* 1 */ +[type="reset"], +[type="submit"] { + -webkit-appearance: button; /* 2 */ +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * 1. Add the correct display in IE 9-. + * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Remove the default vertical scrollbar in IE. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10-. + * 2. Remove the padding in IE 10-. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in IE 9-. + * 1. Add the correct display in Edge, IE, and Firefox. + */ + +details, /* 1 */ +menu { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Scripting + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + */ + +canvas { + display: inline-block; +} + +/** + * Add the correct display in IE. + */ + +template { + display: none; +} + +/* Hidden + ========================================================================== */ + +/** + * Add the correct display in IE 10-. + */ + +[hidden] { + display: none; +} diff --git a/docs/themes/book/sass/book.scss b/docs/themes/book/sass/book.scss new file mode 100644 index 0000000..4454e2d --- /dev/null +++ b/docs/themes/book/sass/book.scss @@ -0,0 +1,41 @@ +@charset "utf-8"; + +@import "normalize"; + +* { + box-sizing: border-box; +} + +html { + font-size: 62.5%; +} + +body, html { + height: 100%; +} + +body { + text-rendering: optimizeLegibility; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + letter-spacing: 0.2px; +} + + +@mixin min-screen($min-width: $body-width) { + @media screen and (min-width: $min-width) { + @content; + } +} + +@mixin max-screen($max-width: $body-width) { + @media screen and (max-width: $max-width) { + @content; + } +} + +$sidebar-width: 300px; + +@import "navigation"; +@import "content"; +@import "header"; diff --git a/docs/themes/book/screenshot.png b/docs/themes/book/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..d4dfd078436cacf00ce4fa9938a32e506819021a GIT binary patch literal 145504 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 NQPjAWdDY^{{{hj29Gn0E literal 0 HcmV?d00001 diff --git a/docs/themes/book/static/book.js b/docs/themes/book/static/book.js new file mode 100644 index 0000000..8e4fc10 --- /dev/null +++ b/docs/themes/book/static/book.js @@ -0,0 +1,223 @@ +function initToggleMenu() { + var $menu = document.querySelector(".menu"); + var $menuIcon = document.querySelector(".menu-icon"); + var $page = document.querySelector(".page"); + $menuIcon.addEventListener("click", function() { + $menu.classList.toggle("menu-hidden"); + $page.classList.toggle("page-without-menu"); + }); +} + +function debounce(func, wait) { + var timeout; + + return function () { + var context = this; + var args = arguments; + clearTimeout(timeout); + + timeout = setTimeout(function () { + timeout = null; + func.apply(context, args); + }, wait); + }; +} + +// Taken from mdbook +// The strategy is as follows: +// First, assign a value to each word in the document: +// Words that correspond to search terms (stemmer aware): 40 +// Normal words: 2 +// First word in a sentence: 8 +// Then use a sliding window with a constant number of words and count the +// sum of the values of the words within the window. Then use the window that got the +// maximum sum. If there are multiple maximas, then get the last one. +// Enclose the terms in . +function makeTeaser(body, terms) { + var TERM_WEIGHT = 40; + var NORMAL_WORD_WEIGHT = 2; + var FIRST_WORD_WEIGHT = 8; + var TEASER_MAX_WORDS = 30; + + var stemmedTerms = terms.map(function (w) { + return elasticlunr.stemmer(w.toLowerCase()); + }); + var termFound = false; + var index = 0; + var weighted = []; // contains elements of ["word", weight, index_in_document] + + // split in sentences, then words + var sentences = body.toLowerCase().split(". "); + + for (var i in sentences) { + var words = sentences[i].split(" "); + var value = FIRST_WORD_WEIGHT; + + for (var j in words) { + var word = words[j]; + + if (word.length > 0) { + for (var k in stemmedTerms) { + if (elasticlunr.stemmer(word).startsWith(stemmedTerms[k])) { + value = TERM_WEIGHT; + termFound = true; + } + } + weighted.push([word, value, index]); + value = NORMAL_WORD_WEIGHT; + } + + index += word.length; + index += 1; // ' ' or '.' if last word in sentence + } + + index += 1; // because we split at a two-char boundary '. ' + } + + if (weighted.length === 0) { + return body; + } + + var windowWeights = []; + var windowSize = Math.min(weighted.length, TEASER_MAX_WORDS); + // We add a window with all the weights first + var curSum = 0; + for (var i = 0; i < windowSize; i++) { + curSum += weighted[i][1]; + } + windowWeights.push(curSum); + + for (var i = 0; i < weighted.length - windowSize; i++) { + curSum -= weighted[i][1]; + curSum += weighted[i + windowSize][1]; + windowWeights.push(curSum); + } + + // If we didn't find the term, just pick the first window + var maxSumIndex = 0; + if (termFound) { + var maxFound = 0; + // backwards + for (var i = windowWeights.length - 1; i >= 0; i--) { + if (windowWeights[i] > maxFound) { + maxFound = windowWeights[i]; + maxSumIndex = i; + } + } + } + + var teaser = []; + var startIndex = weighted[maxSumIndex][2]; + for (var i = maxSumIndex; i < maxSumIndex + windowSize; i++) { + var word = weighted[i]; + if (startIndex < word[2]) { + // missing text from index to start of `word` + teaser.push(body.substring(startIndex, word[2])); + startIndex = word[2]; + } + + // add around search terms + if (word[1] === TERM_WEIGHT) { + teaser.push(""); + } + startIndex = word[2] + word[0].length; + teaser.push(body.substring(word[2], startIndex)); + + if (word[1] === TERM_WEIGHT) { + teaser.push(""); + } + } + teaser.push("…"); + return teaser.join(""); +} + +function formatSearchResultItem(item, terms) { + var li = document.createElement("li"); + li.classList.add("search-results__item"); + li.innerHTML = `${item.doc.title}`; + li.innerHTML += `
${makeTeaser(item.doc.body, terms)}
`; + return li; +} + +// Go from the book view to the search view +function toggleSearchMode() { + var $bookContent = document.querySelector(".book-content"); + var $searchContainer = document.querySelector(".search-container"); + if ($searchContainer.classList.contains("search-container--is-visible")) { + $searchContainer.classList.remove("search-container--is-visible"); + document.body.classList.remove("search-mode"); + $bookContent.style.display = "block"; + } else { + $searchContainer.classList.add("search-container--is-visible"); + document.body.classList.add("search-mode"); + $bookContent.style.display = "none"; + document.getElementById("search").focus(); + } +} + +function initSearch() { + var $searchInput = document.getElementById("search"); + if (!$searchInput) { + return; + } + var $searchIcon = document.querySelector(".search-icon"); + $searchIcon.addEventListener("click", toggleSearchMode); + + var $searchResults = document.querySelector(".search-results"); + var $searchResultsHeader = document.querySelector(".search-results__header"); + var $searchResultsItems = document.querySelector(".search-results__items"); + var MAX_ITEMS = 10; + + var options = { + bool: "AND", + fields: { + title: {boost: 2}, + body: {boost: 1}, + } + }; + var currentTerm = ""; + var index = elasticlunr.Index.load(window.searchIndex); + + $searchInput.addEventListener("keyup", debounce(function() { + var term = $searchInput.value.trim(); + if (term === currentTerm || !index) { + return; + } + $searchResults.style.display = term === "" ? "none" : "block"; + $searchResultsItems.innerHTML = ""; + if (term === "") { + return; + } + + var results = index.search(term, options).filter(function (r) { + return r.doc.body !== ""; + }); + if (results.length === 0) { + $searchResultsHeader.innerText = `No search results for '${term}'.`; + return; + } + + currentTerm = term; + $searchResultsHeader.innerText = `${results.length} search results for '${term}':`; + for (var i = 0; i < Math.min(results.length, MAX_ITEMS); i++) { + if (!results[i].doc.body) { + continue; + } + // var item = document.createElement("li"); + // item.innerHTML = formatSearchResultItem(results[i], term.split(" ")); + console.log(results[i]); + $searchResultsItems.appendChild(formatSearchResultItem(results[i], term.split(" "))); + } + }, 150)); +} + +if (document.readyState === "complete" || + (document.readyState !== "loading" && !document.documentElement.doScroll) +) { + initToggleMenu(); +} else { + document.addEventListener("DOMContentLoaded", function () { + initToggleMenu(); + initSearch(); + }); +} diff --git a/docs/themes/book/templates/index.html b/docs/themes/book/templates/index.html new file mode 100644 index 0000000..88e2ad3 --- /dev/null +++ b/docs/themes/book/templates/index.html @@ -0,0 +1,109 @@ + + + + + + + + + + {% block title %}{{ config.title }}{% endblock title %} + + {% block js %} + {% endblock js %} + + + {% block css %} + + {% endblock css %} + + {% block extra_head %} + {% endblock extra_head %} + + + + + +
+ + +
+ {% if config.build_search_index %} +
+ +
+
+
    +
    +
    + {% endif %} +
    + {% block content %} + {% endblock content %} +
    +
    + + + + +
    + + {% block js_body %} + {% if config.build_search_index %} + + + {% endif %} + + {% endblock js_body %} + + + diff --git a/docs/themes/book/templates/page.html b/docs/themes/book/templates/page.html new file mode 100644 index 0000000..ee368b2 --- /dev/null +++ b/docs/themes/book/templates/page.html @@ -0,0 +1,40 @@ +{% extends "index.html" %} + + +{% block content %} +

    {{ page.title }}

    + {{ page.content | safe }} +{% endblock content %} + +{% block prev_link %} + {% if page.lighter %} + + {% else %} + {# No page before, find the link for the section it's in if there is one #} + {% set parent = get_section(path=page.ancestors | reverse | first) %} + + {% endif %} +{% endblock prev_link %} + +{% block next_link %} + {% if page.heavier %} + + {% else %} + {# No page after, find the link for the following section #} + {% set index = get_section(path="_index.md") %} + {% set found_current = false %} + {% for s in index.subsections %} + {% set subsection = get_section(path=s) %} + {% if found_current %} + + {# no break #} + {% set_global found_current = false %} + {% endif %} + {% for p in subsection.pages %} + {% if p.permalink == page.permalink %} + {% set_global found_current = true %} + {% endif %} + {% endfor %} + {% endfor %} + {% endif %} +{% endblock next_link %} diff --git a/docs/themes/book/templates/section.html b/docs/themes/book/templates/section.html new file mode 100644 index 0000000..4079dda --- /dev/null +++ b/docs/themes/book/templates/section.html @@ -0,0 +1,52 @@ +{% extends "index.html" %} + +{% block content %} +

    {{ section.title }}

    + {{ section.content | safe }} +{% endblock content %} + +{% block prev_link %} + {# need to find the last page of the previous section or the previous section directly + if there isn't any pages in it #} + {% set index = get_section(path="_index.md") %} + {% set found_current = false %} + {% for s in index.subsections | reverse %} + {% set subsection = get_section(path=s) %} + {% if subsection.permalink == section.permalink %} + {% set_global found_current = true %} + {% else %} + {% if found_current %} + {% if subsection.pages %} + {% set last_page = subsection.pages | last %} + + {% else %} + + {% endif %} + {# no break #} + {% set_global found_current = false %} + {% endif %} + {% endif %} + {% endfor %} +{% endblock prev_link %} + +{% block next_link %} + {% if section.pages %} + {% set next_page = section.pages | first %} + + {% else %} + {# No page in the section, find the link for the following section #} + {% set index = get_section(path="_index.md") %} + {% set found_current = false %} + {% for s in index.subsections %} + {% set subsection = get_section(path=s) %} + {% if found_current %} + + {# no break #} + {% set_global found_current = false %} + {% endif %} + {% if subsection.permalink == section.permalink %} + {% set_global found_current = true %} + {% endif %} + {% endfor %} + {% endif %} +{% endblock next_link %} diff --git a/docs/themes/book/theme.toml b/docs/themes/book/theme.toml new file mode 100644 index 0000000..64943cc --- /dev/null +++ b/docs/themes/book/theme.toml @@ -0,0 +1,13 @@ +name = "book" +description = "A book theme inspired from GitBook/mdBook" +license = "MIT" +homepage = "https://github.com/getzola/book" +min_version = "0.5.0" +demo = "https://zola-book.netlify.com" + +[extra] +book_number_chapters = true + +[author] +name = "Vincent Prouillet" +homepage = "https://www.vincentprouillet.com" diff --git a/gen-docs.js b/gen-docs.js new file mode 100644 index 0000000..e97c160 --- /dev/null +++ b/gen-docs.js @@ -0,0 +1,92 @@ +const fs = require("fs"); +fs.readFile(process.argv[process.argv.length - 1], "utf8", (err, data) => { + if (err) { + return console.log(err); + } else { + const vars = parseVars(data); + printDocs(vars, parseDocs(data)); + } +}); + +function parseVars(code) { + const VAR_PATTERN = /^.*\/\/+ *@var +(.*?) +- +(.*)$/; + const vars = {}; + for (let line of code.split("\n")) { + const match = line.match(VAR_PATTERN); + if (match && match.length == 3) { + const name = match[1]; + const value = match[2]; + vars[name] = value; + } + } + return vars; +} + +function parseDocs(code) { + const NEW_WIDGET_PATTERN = /^.*\/\/+ *@widget +(!?)(.*?)(?: +extends +(.*))?$/; + const DESC_PATTERN = /^.*\/\/+ *@desc +(.*)$/; + const PROP_PATTERN = /^.*\/\/+ *@prop +(.*?) +- +(.*)$/; + + const widgets = {}; + let currentWidget = ""; + for (let line of code.split("\n")) { + const newWidgetMatch = line.match(NEW_WIDGET_PATTERN); + if (newWidgetMatch && newWidgetMatch.length >= 3) { + const name = newWidgetMatch[2]; + /** @type string[] */ + const exts = newWidgetMatch[3] + ? newWidgetMatch[3].split(/, */) + : []; + currentWidget = name; + widgets[currentWidget] = { + name, + exts, + props: [], + isVisible: newWidgetMatch[1] !== "!", + }; + continue; + } + + const descMatch = line.match(DESC_PATTERN); + if (descMatch && descMatch.length == 2) { + widgets[currentWidget].desc = descMatch[1]; + continue; + } + + const propMatch = line.match(PROP_PATTERN); + if (propMatch && propMatch.length == 3) { + widgets[currentWidget].props.push({ + name: propMatch[1], + desc: propMatch[2], + }); + } + } + return widgets; +} + +function printDocs(vars, docs) { + let output = Object.values(docs) + .filter((x) => x.isVisible) + .map((x) => { + x.props = [ + ...x.props, + ...x.exts.map((w) => docs[w]).flatMap((w) => w.props), + ]; + return x; + }) + .map((x) => printWidget(x)) + .map((x) => x.replace(/\$\w+/, (x) => vars[x.replace("$", "")])) + .join("\n\n"); + console.log(output); +} + +function printWidget(widget) { + return ` +## \`${widget.name}\` ${widget.desc ? `\n${widget.desc}` : ""} + +**Properties** +${widget.props.map((prop) => `- **\`${prop.name}\`**: ${prop.desc}`).join("\n")} +`; +} + +// vim:ft=javascript