Added and internalized Pico theme for customization
							
								
								
									
										52
									
								
								themes/pico/.github/workflows/zola-build.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,52 @@
 | 
			
		|||
name: Deploy Zola with GitHub Pages
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    branches: ["main"]
 | 
			
		||||
env:
 | 
			
		||||
    ZOLA_VER: "v0.18.0"
 | 
			
		||||
 | 
			
		||||
permissions:
 | 
			
		||||
  contents: read
 | 
			
		||||
  pages: write
 | 
			
		||||
  id-token: write
 | 
			
		||||
jobs:
 | 
			
		||||
  # Build job
 | 
			
		||||
  build:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Checkout
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      
 | 
			
		||||
      - name: get Zola binary
 | 
			
		||||
        run: |
 | 
			
		||||
          curl -LJO https://github.com/getzola/zola/releases/download/${ZOLA_VER}/zola-${ZOLA_VER}-x86_64-unknown-linux-gnu.tar.gz
 | 
			
		||||
          tar -xvf zola-${ZOLA_VER}-x86_64-unknown-linux-gnu.tar.gz
 | 
			
		||||
          chmod +x zola
 | 
			
		||||
      
 | 
			
		||||
      - name: Build Zola site
 | 
			
		||||
        run: ./zola build
 | 
			
		||||
 | 
			
		||||
      # - name: Minify
 | 
			
		||||
      #   uses: kuznetsov17/minify@v1.3
 | 
			
		||||
      #   id: minify-site
 | 
			
		||||
      #   with:
 | 
			
		||||
      #     dir: 'public'
 | 
			
		||||
 | 
			
		||||
      - name: Upload artifact
 | 
			
		||||
        uses: actions/upload-pages-artifact@v3
 | 
			
		||||
        with: 
 | 
			
		||||
          path: 'public/'
 | 
			
		||||
 | 
			
		||||
  # Deployment job
 | 
			
		||||
  deploy:
 | 
			
		||||
    environment:
 | 
			
		||||
      name: github-pages
 | 
			
		||||
      url: ${{ steps.deployment.outputs.page_url }}
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    needs: build
 | 
			
		||||
    steps:
 | 
			
		||||
 | 
			
		||||
      - name: Deploy to GitHub Pages
 | 
			
		||||
        id: deployment
 | 
			
		||||
        uses: actions/deploy-pages@v4
 | 
			
		||||
							
								
								
									
										21
									
								
								themes/pico/LICENSE
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,21 @@
 | 
			
		|||
MIT License
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2024 kuznetsov17
 | 
			
		||||
 | 
			
		||||
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.
 | 
			
		||||
							
								
								
									
										134
									
								
								themes/pico/README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,134 @@
 | 
			
		|||
# Configuration
 | 
			
		||||
# General
 | 
			
		||||
 | 
			
		||||
I am not the best webmaster, but should be somewhat responsive.
 | 
			
		||||
I intentionally using the bigger fonts to make, feel free to change it in main.css
 | 
			
		||||
 | 
			
		||||
# Light mode
 | 
			
		||||
Now light mode also supported. 
 | 
			
		||||
 | 
			
		||||
# Important
 | 
			
		||||
Please make sure to set up your base_url with trailing slash:
 | 
			
		||||
```toml
 | 
			
		||||
base_url = "https://kuznetsov17.github.io/pico/"
 | 
			
		||||
```
 | 
			
		||||
# Comments
 | 
			
		||||
Theme supports [Giscuss](https://giscuss.app) for comments. The configuration is done via config.toml. Here you can see the example section used for this page deployment:
 | 
			
		||||
```toml
 | 
			
		||||
[extra.giscus]
 | 
			
		||||
data_repo="kuznetsov17/pico"
 | 
			
		||||
data_repo_id="R_kgDOLIfXYA"
 | 
			
		||||
data_category="General"
 | 
			
		||||
data_category_id="DIC_kwDOLIfXYM4Ccn56"
 | 
			
		||||
data_mapping="title"
 | 
			
		||||
data_strict="0"
 | 
			
		||||
data_reactions_enabled="0"
 | 
			
		||||
data_emit_metadata="0"
 | 
			
		||||
data_input_position="top"
 | 
			
		||||
data_theme="//kuznetsov17.github.io/pico/css/gs_dark.css"
 | 
			
		||||
data_lang="en"
 | 
			
		||||
crossorigin="anonymous"
 | 
			
		||||
nonce=""
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
# Page configurations
 | 
			
		||||
Customize the page blocks by setting configuration in **[extra]** section:
 | 
			
		||||
```toml
 | 
			
		||||
show_copyright = true / false # enables / disables footer with copyright
 | 
			
		||||
show_comments = true / false # enables / disables comments
 | 
			
		||||
show_shares = true / false # enables / disables section with social share buttons
 | 
			
		||||
show_toc = true / false # enables / disable TOC
 | 
			
		||||
show_date = true / false # displays publication date in page
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
# Blog
 | 
			
		||||
I am using this theme for my [notes](https://viku.me/notes/), or probably blog. 
 | 
			
		||||
The section template supports pagination, tags, sorts the pages by publication date. You may see the working example [here](@/notes/_index.md)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Search
 | 
			
		||||
The theme supports the search using [elasticrunrjs](http://elasticlunr.com). To enable the search, you will need the following configuration in **config.toml**:
 | 
			
		||||
 | 
			
		||||
```toml
 | 
			
		||||
build_search_index = true
 | 
			
		||||
 | 
			
		||||
[search]
 | 
			
		||||
index_format = "elasticlunr_json"
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
# config.toml extras
 | 
			
		||||
```toml
 | 
			
		||||
author = "John Doe" # author. Will be puth in page metadata
 | 
			
		||||
description = "Some description, if you somehow didn't set it in page / section settings"
 | 
			
		||||
logo_src = "images/logo.svg" # logo src
 | 
			
		||||
avatar_src = "images/avatar.png" # avatar src
 | 
			
		||||
index_page="index" # name of the index page. Should be one of top_menu to make things work
 | 
			
		||||
top_menu = ["index","features","notes"] # Menu items
 | 
			
		||||
copyright_string = "Сreated by John Doe in 2024 – %YEAR% for fun." # footer content. %YEAR% will be replaced with current year
 | 
			
		||||
nonce = "${SOME_HASH_VALUE}" # used for JavaScript src nonce
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
# timeline
 | 
			
		||||
```
 | 
			
		||||
{% timeline() %}
 | 
			
		||||
[{
 | 
			
		||||
    "title":"Lorem Ipsum Event",
 | 
			
		||||
    "body":"Lorem Ipsum is simply dummy text of the printing and typesetting industry.",
 | 
			
		||||
    "date":"Jul-2023"
 | 
			
		||||
},
 | 
			
		||||
{
 | 
			
		||||
    "title":"Lorem Ipsum event 2",
 | 
			
		||||
    "body":"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged.",
 | 
			
		||||
    "date":"Jun-2022"
 | 
			
		||||
}]
 | 
			
		||||
{% end %}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
# Callouts
 | 
			
		||||
```
 | 
			
		||||
{% callout(type = 'warning') %}
 | 
			
		||||
This is an example of **Warning** callout. [Some link](#)
 | 
			
		||||
{% end %}
 | 
			
		||||
{% callout(type = 'alert') %}
 | 
			
		||||
This is an example of **Alert** callout. [Some link](#)
 | 
			
		||||
{% end %}
 | 
			
		||||
{% callout(type = 'info') %}
 | 
			
		||||
This is an example of **Info** callout. [Some link](#)
 | 
			
		||||
{% end %}
 | 
			
		||||
```
 | 
			
		||||
# Mermaid
 | 
			
		||||
 | 
			
		||||
Read more on how to use mermaid in their [documentation](https://mermaid.js.org/syntax/examples.html)
 | 
			
		||||
```
 | 
			
		||||
{% mermaid() %}
 | 
			
		||||
gitGraph
 | 
			
		||||
       commit
 | 
			
		||||
       commit
 | 
			
		||||
       branch develop
 | 
			
		||||
       checkout develop
 | 
			
		||||
       commit
 | 
			
		||||
       commit
 | 
			
		||||
       checkout main
 | 
			
		||||
       merge develop
 | 
			
		||||
       commit
 | 
			
		||||
       commit
 | 
			
		||||
{% end %}
 | 
			
		||||
```
 | 
			
		||||
```
 | 
			
		||||
{% mermaid() %}
 | 
			
		||||
graph LR
 | 
			
		||||
    A[Square Rect] -- Link text --> B((Circle))
 | 
			
		||||
    A --> C(Round Rect)
 | 
			
		||||
    B --> D{Rhombus}
 | 
			
		||||
    C --> D
 | 
			
		||||
{% end %}
 | 
			
		||||
```
 | 
			
		||||
# Thanks to
 | 
			
		||||
 - [Giscuss](https://giscuss.app) for excellent comments system
 | 
			
		||||
 - [bootstrap icons](https://icons.getbootstrap.com) for great social icons
 | 
			
		||||
 - [Urbanist Font](https://fonts.google.com/specimen/Urbanist)
 | 
			
		||||
 - [Mulush Font](https://fonts.google.com/specimen/Mulish)
 | 
			
		||||
 | 
			
		||||
# Screenshot
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
							
								
								
									
										55
									
								
								themes/pico/config.toml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,55 @@
 | 
			
		|||
# The URL the site will be built for
 | 
			
		||||
base_url = "https://kuznetsov17.github.io/pico/"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
minify_html = true
 | 
			
		||||
 | 
			
		||||
# Whether to automatically compile all Sass files in the sass directory
 | 
			
		||||
compile_sass = true
 | 
			
		||||
 | 
			
		||||
# Whether to build a search index to be used later on by a JavaScript library
 | 
			
		||||
build_search_index = true
 | 
			
		||||
 | 
			
		||||
taxonomies = [
 | 
			
		||||
    {name = "tags"},
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[markdown]
 | 
			
		||||
# Whether to do syntax highlighting
 | 
			
		||||
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
 | 
			
		||||
highlight_code = true
 | 
			
		||||
highlight_theme = "css"
 | 
			
		||||
 | 
			
		||||
[search]
 | 
			
		||||
index_format = "elasticlunr_json"
 | 
			
		||||
 | 
			
		||||
[extra]
 | 
			
		||||
index_page="index"
 | 
			
		||||
top_menu = ["index","features","notes"]
 | 
			
		||||
copyright_string = "Сreated by Vitaliy Kuznetsov in 2015 – %YEAR% for fun. Powered by [zola](https://getzola.org/) and [pico](https://github.com/kuznetsov17/pico)."
 | 
			
		||||
author = "John Doe"
 | 
			
		||||
avatar_src = "images/avatar.png"
 | 
			
		||||
logo_src = "images/logo.webp"
 | 
			
		||||
nonce=""
 | 
			
		||||
description = "Some Description"
 | 
			
		||||
 | 
			
		||||
[extra.giscus]
 | 
			
		||||
data_repo="kuznetsov17/pico"
 | 
			
		||||
data_repo_id="R_kgDOLQ4cpw"
 | 
			
		||||
data_category="General"
 | 
			
		||||
data_category_id="DIC_kwDOLQ4cp84CdIjK"
 | 
			
		||||
data_mapping="url"
 | 
			
		||||
data_strict="0"
 | 
			
		||||
data_reactions_enabled="0"
 | 
			
		||||
data_emit_metadata="0"
 | 
			
		||||
data_input_position="bottom"
 | 
			
		||||
data_lang="en"
 | 
			
		||||
crossorigin="anonymous"
 | 
			
		||||
src="https://giscus.app/client.js"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[extra.footer.icons]
 | 
			
		||||
github = "#"
 | 
			
		||||
linkedin = "#"
 | 
			
		||||
							
								
								
									
										69
									
								
								themes/pico/content/_index.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,69 @@
 | 
			
		|||
+++
 | 
			
		||||
title = "Homepage"
 | 
			
		||||
 | 
			
		||||
description = "Page description"
 | 
			
		||||
 | 
			
		||||
# Whether to sort pages by "date", "weight", or "none". More on that below
 | 
			
		||||
sort_by = "none"
 | 
			
		||||
 | 
			
		||||
# Used by the parent section to order its subsections.
 | 
			
		||||
# Lower values have priority.
 | 
			
		||||
weight = 0
 | 
			
		||||
 | 
			
		||||
# Template to use to render this section page
 | 
			
		||||
template = "index.html"
 | 
			
		||||
 | 
			
		||||
# Apply the given template to ALL pages below the section, recursively.
 | 
			
		||||
# If you have several nested sections each with a page_template set, the page
 | 
			
		||||
# will always use the closest to itself.
 | 
			
		||||
# However, a page own `template` variable will always have priority.
 | 
			
		||||
# Not set by default
 | 
			
		||||
#page_template =
 | 
			
		||||
 | 
			
		||||
# How many pages to be displayed per paginated page.
 | 
			
		||||
# No pagination will happen if this isn't set or if the value is 0
 | 
			
		||||
paginate_by = 10
 | 
			
		||||
 | 
			
		||||
# If set, will be the path used by paginated page and the page number will be appended after it.
 | 
			
		||||
# For example the default would be page/1
 | 
			
		||||
paginate_path = "page"
 | 
			
		||||
 | 
			
		||||
# Whether to insert a link for each header like the ones you can see in this site if you hover one
 | 
			
		||||
# The default template can be overridden by creating a `anchor-link.html` in the `templates` directory
 | 
			
		||||
# Options are "left", "right" and "none"
 | 
			
		||||
insert_anchor_links = "none"
 | 
			
		||||
 | 
			
		||||
# Whether the section pages should be in the search index. This is only used if
 | 
			
		||||
# `build_search_index` is set to true in the config
 | 
			
		||||
in_search_index = true
 | 
			
		||||
 | 
			
		||||
# Whether to render that section homepage or not.
 | 
			
		||||
# Useful when the section is only there to organize things but is not meant
 | 
			
		||||
# to be used directly
 | 
			
		||||
render = true
 | 
			
		||||
 | 
			
		||||
# Whether to redirect when landing on that section. Defaults to not being set.
 | 
			
		||||
# Useful for the same reason as `render` but when you don't want a 404 when
 | 
			
		||||
# landing on the root section page.
 | 
			
		||||
# Example: redirect_to = "documentation/content/overview"
 | 
			
		||||
# redirect_to = "/notes/"
 | 
			
		||||
 | 
			
		||||
# Whether the section should pass its pages on to the parent section. Defaults to `false`.
 | 
			
		||||
# Useful when the section shouldn't split up the parent section, like
 | 
			
		||||
# sections for each year under a posts section.
 | 
			
		||||
transparent = false
 | 
			
		||||
 | 
			
		||||
# Use aliases if you are moving content but want to redirect previous URLs to the
 | 
			
		||||
# current one. This takes an array of path, not URLs.
 | 
			
		||||
aliases = []
 | 
			
		||||
 | 
			
		||||
# Your own data
 | 
			
		||||
[extra]
 | 
			
		||||
show_shares = false
 | 
			
		||||
index = true
 | 
			
		||||
 | 
			
		||||
+++
 | 
			
		||||
This is the index page of **pico** zola theme.
 | 
			
		||||
Lightweight and clean. Built on top of [simple grid](https://simplegrid.io)
 | 
			
		||||
See some useful info in [features](@/features.md) page
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										140
									
								
								themes/pico/content/features.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,140 @@
 | 
			
		|||
+++
 | 
			
		||||
title = "Features"
 | 
			
		||||
date = 2024-02-11
 | 
			
		||||
description = "Some theme features"
 | 
			
		||||
draft = false
 | 
			
		||||
 | 
			
		||||
[taxonomies]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[extra]
 | 
			
		||||
show_copyright = true
 | 
			
		||||
show_comments = true
 | 
			
		||||
show_shares = true
 | 
			
		||||
keywords = "zola, theme"
 | 
			
		||||
show_toc = true
 | 
			
		||||
show_date = false
 | 
			
		||||
+++
 | 
			
		||||
 | 
			
		||||
# General
 | 
			
		||||
 | 
			
		||||
I am not the best webmaster, but should be somewhat responsive.
 | 
			
		||||
I intentionally using the bigger fonts to make, feel free to change it in main.css
 | 
			
		||||
 | 
			
		||||
# Light mode
 | 
			
		||||
Now light mode also supported. 
 | 
			
		||||
 | 
			
		||||
# Important
 | 
			
		||||
Please make sure to set up your base_url with trailing slash:
 | 
			
		||||
```toml
 | 
			
		||||
base_url = "https://kuznetsov17.github.io/pico/"
 | 
			
		||||
```
 | 
			
		||||
# Comments
 | 
			
		||||
Theme supports [Giscuss](https://giscuss.app) for comments. The configuration is done via config.toml. Here you can see the example section used for this page deployment:
 | 
			
		||||
```toml
 | 
			
		||||
[extra.giscus]
 | 
			
		||||
data_repo="kuznetsov17/pico"
 | 
			
		||||
data_repo_id="R_kgDOLIfXYA"
 | 
			
		||||
data_category="General"
 | 
			
		||||
data_category_id="DIC_kwDOLIfXYM4Ccn56"
 | 
			
		||||
data_mapping="title"
 | 
			
		||||
data_strict="0"
 | 
			
		||||
data_reactions_enabled="0"
 | 
			
		||||
data_emit_metadata="0"
 | 
			
		||||
data_input_position="top"
 | 
			
		||||
data_theme="//kuznetsov17.github.io/pico/css/gs_dark.css"
 | 
			
		||||
data_lang="en"
 | 
			
		||||
crossorigin="anonymous"
 | 
			
		||||
nonce=""
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
# Page configurations
 | 
			
		||||
Customize the page blocks by setting configuration in **[extra]** section:
 | 
			
		||||
```toml
 | 
			
		||||
show_copyright = true / false # enables / disables footer with copyright
 | 
			
		||||
show_comments = true / false # enables / disables comments
 | 
			
		||||
show_shares = true / false # enables / disables section with social share buttons
 | 
			
		||||
show_toc = true / false # enables / disable TOC
 | 
			
		||||
show_date = true / false # displays publication date in page
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
# Blog
 | 
			
		||||
I am using this theme for my [notes](https://viku.me/notes/), or probably blog. 
 | 
			
		||||
The section template supports pagination, tags, sorts the pages by publication date. You may see the working example [here](@/notes/_index.md)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Search
 | 
			
		||||
The theme supports the search using [elasticrunrjs](http://elasticlunr.com). To enable the search, you will need the following configuration in **config.toml**:
 | 
			
		||||
 | 
			
		||||
```toml
 | 
			
		||||
build_search_index = true
 | 
			
		||||
 | 
			
		||||
[search]
 | 
			
		||||
index_format = "elasticlunr_json"
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
# config.toml extras
 | 
			
		||||
```toml
 | 
			
		||||
author = "John Doe" # author. Will be puth in page metadata
 | 
			
		||||
description = "Some description, if you somehow didn't set it in page / section settings"
 | 
			
		||||
logo_src = "images/logo.svg" # logo src
 | 
			
		||||
avatar_src = "images/avatar.png" # avatar src
 | 
			
		||||
index_page="index" # name of the index page. Should be one of top_menu to make things work
 | 
			
		||||
top_menu = ["index","features","notes"] # Menu items
 | 
			
		||||
copyright_string = "Сreated by John Doe in 2024 – %YEAR% for fun." # footer content. %YEAR% will be replaced with current year
 | 
			
		||||
nonce = "${SOME_HASH_VALUE}" # used for JavaScript src nonce
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
# timeline
 | 
			
		||||
 | 
			
		||||
{% timeline() %}
 | 
			
		||||
[{
 | 
			
		||||
    "title":"Lorem Ipsum Event",
 | 
			
		||||
    "body":"Lorem Ipsum is simply dummy text of the printing and typesetting industry.",
 | 
			
		||||
    "date":"Jul-2023"
 | 
			
		||||
},
 | 
			
		||||
{
 | 
			
		||||
    "title":"Lorem Ipsum event 2",
 | 
			
		||||
    "body":"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged.",
 | 
			
		||||
    "date":"Jun-2022"
 | 
			
		||||
}]
 | 
			
		||||
{% end %}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Callouts
 | 
			
		||||
 | 
			
		||||
{% callout(type = 'warning') %}
 | 
			
		||||
This is an example of **Warning** callout. [Some link](#)
 | 
			
		||||
{% end %}
 | 
			
		||||
{% callout(type = 'alert') %}
 | 
			
		||||
This is an example of **Alert** callout. [Some link](#)
 | 
			
		||||
{% end %}
 | 
			
		||||
{% callout(type = 'info') %}
 | 
			
		||||
This is an example of **Info** callout. [Some link](#)
 | 
			
		||||
{% end %}
 | 
			
		||||
 | 
			
		||||
# Mermaid
 | 
			
		||||
 | 
			
		||||
Read more on how to use mermaid in their [documentation](https://mermaid.js.org/syntax/examples.html)
 | 
			
		||||
{% mermaid() %}
 | 
			
		||||
gitGraph
 | 
			
		||||
       commit
 | 
			
		||||
       commit
 | 
			
		||||
       branch develop
 | 
			
		||||
       checkout develop
 | 
			
		||||
       commit
 | 
			
		||||
       commit
 | 
			
		||||
       checkout main
 | 
			
		||||
       merge develop
 | 
			
		||||
       commit
 | 
			
		||||
       commit
 | 
			
		||||
{% end %}
 | 
			
		||||
 | 
			
		||||
{% mermaid() %}
 | 
			
		||||
graph LR
 | 
			
		||||
    A[Square Rect] -- Link text --> B((Circle))
 | 
			
		||||
    A --> C(Round Rect)
 | 
			
		||||
    B --> D{Rhombus}
 | 
			
		||||
    C --> D
 | 
			
		||||
{% end %}
 | 
			
		||||
							
								
								
									
										58
									
								
								themes/pico/content/notes/_index.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,58 @@
 | 
			
		|||
+++
 | 
			
		||||
title = "Notes"
 | 
			
		||||
 | 
			
		||||
description = "Notes"
 | 
			
		||||
 | 
			
		||||
# Whether to sort pages by "date", "weight", or "none". More on that below
 | 
			
		||||
sort_by = "date"
 | 
			
		||||
 | 
			
		||||
# Used by the parent section to order its subsections.
 | 
			
		||||
# Lower values have priority.
 | 
			
		||||
weight = 0
 | 
			
		||||
 | 
			
		||||
# Template to use to render this section page
 | 
			
		||||
template = "section.html"
 | 
			
		||||
page_template = "page.html"
 | 
			
		||||
 | 
			
		||||
# How many pages to be displayed per paginated page.
 | 
			
		||||
# No pagination will happen if this isn't set or if the value is 0
 | 
			
		||||
paginate_by = 5
 | 
			
		||||
 | 
			
		||||
# If set, will be the path used by paginated page and the page number will be appended after it.
 | 
			
		||||
# For example the default would be page/1
 | 
			
		||||
paginate_path = "page"
 | 
			
		||||
 | 
			
		||||
# Whether to insert a link for each header like the ones you can see in this site if you hover one
 | 
			
		||||
# The default template can be overridden by creating a `anchor-link.html` in the `templates` directory
 | 
			
		||||
# Options are "left", "right" and "none"
 | 
			
		||||
insert_anchor_links = "none"
 | 
			
		||||
 | 
			
		||||
# Whether the section pages should be in the search index. This is only used if
 | 
			
		||||
# `build_search_index` is set to true in the config
 | 
			
		||||
in_search_index = true
 | 
			
		||||
 | 
			
		||||
# Whether to render that section homepage or not.
 | 
			
		||||
# Useful when the section is only there to organize things but is not meant
 | 
			
		||||
# to be used directly
 | 
			
		||||
render = true
 | 
			
		||||
 | 
			
		||||
# Whether to redirect when landing on that section. Defaults to not being set.
 | 
			
		||||
# Useful for the same reason as `render` but when you don't want a 404 when
 | 
			
		||||
# landing on the root section page.
 | 
			
		||||
# Example: redirect_to = "documentation/content/overview"
 | 
			
		||||
# redirect_to = "/"
 | 
			
		||||
 | 
			
		||||
# Whether the section should pass its pages on to the parent section. Defaults to `false`.
 | 
			
		||||
# Useful when the section shouldn't split up the parent section, like
 | 
			
		||||
# sections for each year under a posts section.
 | 
			
		||||
transparent = false
 | 
			
		||||
 | 
			
		||||
# Use aliases if you are moving content but want to redirect previous URLs to the
 | 
			
		||||
# current one. This takes an array of path, not URLs.
 | 
			
		||||
aliases = []
 | 
			
		||||
 | 
			
		||||
# Your own data
 | 
			
		||||
[extra]
 | 
			
		||||
show_shares = false
 | 
			
		||||
show_copyright = true
 | 
			
		||||
+++
 | 
			
		||||
							
								
								
									
										73
									
								
								themes/pico/content/notes/note1.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,73 @@
 | 
			
		|||
+++
 | 
			
		||||
title = "Note 1"
 | 
			
		||||
date = 2024-01-23
 | 
			
		||||
description = "Note 1"
 | 
			
		||||
draft = false
 | 
			
		||||
 | 
			
		||||
[taxonomies]
 | 
			
		||||
tags = ["tag1","tag3"]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[extra]
 | 
			
		||||
show_copyright = true
 | 
			
		||||
show_comments = true
 | 
			
		||||
show_shares = true
 | 
			
		||||
keywords = "cloud,infrastructure,security,management,migration"
 | 
			
		||||
+++
 | 
			
		||||
# Omnibus pars illis et haec
 | 
			
		||||
 | 
			
		||||
## Dixi deus nutrici annis precaris inminet Alcides
 | 
			
		||||
 | 
			
		||||
Lorem markdownum Quid, magnique exit adicit pedibus signat.
 | 
			
		||||
[Velle](http://caluere.org/nefas) illum ego ignibus summam natum, hoc dixisse
 | 
			
		||||
illa. Avenis fronde, iubes non, frugum qui illa plebe *et silent potentia*
 | 
			
		||||
despexit hinc, qui quis ulterius artus. Ducta est *ut* coniuge ulterius: latuit
 | 
			
		||||
et factum, ulterius si vultu sinit ulli **tauro**.
 | 
			
		||||
 | 
			
		||||
Mirum ad numina formam tremebunda regi repulsae, Pergama moras. Rigent aera
 | 
			
		||||
latitantem Cycnus interritus meruere ipsa invia differt. Est orasse in species
 | 
			
		||||
mater movet cernunt, est grandia, peregrinum! Vetus refugitque, populi! Ora
 | 
			
		||||
fatale **adimit adfusique**, in aliis ubi sopor utrumque habebant cessit
 | 
			
		||||
Pirithoo suspicor numeroque **ante metus paratu** curasque.
 | 
			
		||||
 | 
			
		||||
## Saevoque arripit prosiluit quod ire saevarum excussit
 | 
			
		||||
 | 
			
		||||
Illa palmis, fuit est *obnoxius* infamia sucos vertitur perque capillis gesserat
 | 
			
		||||
vertigine. Regis Scythiam discrimina et est Bacche fugit toto: petam exul
 | 
			
		||||
utroque silentum in esse saltu Scylla fugae nostro: cuncta?
 | 
			
		||||
 | 
			
		||||
1. In est
 | 
			
		||||
2. Via ille temperie neque
 | 
			
		||||
3. Sunt patriaeque tandem necem non redituram causa
 | 
			
		||||
4. Cum abire
 | 
			
		||||
 | 
			
		||||
## Qui gente ut caeli longe
 | 
			
		||||
 | 
			
		||||
Urbem tibi non rexit ille ternis dissuadet magis religatus circumspice matris,
 | 
			
		||||
fecit. Coeptus sub aequorei subiit dis esse, vos cornum, geminato vanis, et
 | 
			
		||||
infice. Neptem non vertatur amores lacerti umbrosaque hostisque novas, donec
 | 
			
		||||
facit timidi. Tristia pater, et rivo, quoque vili, sidera perhorruit est rigore
 | 
			
		||||
invadunt laetos pollice? Umerosque dato cornua iam: ecce armis [et
 | 
			
		||||
truncoque](http://www.amplexus.org/praecipitique) natus.
 | 
			
		||||
 | 
			
		||||
    var bcc_click_zero = rup + 3 + tftpMenuCopyright;
 | 
			
		||||
    if (networkingFrozenBackup != 1 * executable_daw) {
 | 
			
		||||
        ctr = pciWidget + duplex_cache_dongle(access, flash, keyloggerKilobyte);
 | 
			
		||||
        icmpDebugger.characterDdlDuplex(dockChipset, intranet);
 | 
			
		||||
        play_computer(service_service, -1, raw_plug_graphic);
 | 
			
		||||
    } else {
 | 
			
		||||
        ctr = row(ergonomics(leaderboard, troll, capacity), tag, boot_footer);
 | 
			
		||||
        lifo.card_bar(publishing_integrated_username, boot - phpHypermediaMap);
 | 
			
		||||
    }
 | 
			
		||||
    terahertz_bounce -= blobHostCaps(controlMalwareBackbone,
 | 
			
		||||
            file_architecture_tiger(pci));
 | 
			
		||||
    sidebarShift(console_yahoo);
 | 
			
		||||
 | 
			
		||||
Carinis protinus urbe in iter et sit animam opus singultibus extensus Antiphates
 | 
			
		||||
simul guttis! Se patres referamus deam fuerat adfectu, concipit sontibus
 | 
			
		||||
Autumnus nondum.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										73
									
								
								themes/pico/content/notes/note2.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,73 @@
 | 
			
		|||
+++
 | 
			
		||||
title = "Note 2"
 | 
			
		||||
date = 2023-01-23
 | 
			
		||||
description = "Note 2"
 | 
			
		||||
draft = false
 | 
			
		||||
 | 
			
		||||
[taxonomies]
 | 
			
		||||
tags = ["tag1","tag3"]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[extra]
 | 
			
		||||
show_copyright = true
 | 
			
		||||
show_comments = true
 | 
			
		||||
show_shares = true
 | 
			
		||||
keywords = "cloud,infrastructure,security,management,migration"
 | 
			
		||||
+++
 | 
			
		||||
# Omnibus pars illis et haec
 | 
			
		||||
 | 
			
		||||
## Dixi deus nutrici annis precaris inminet Alcides
 | 
			
		||||
 | 
			
		||||
Lorem markdownum Quid, magnique exit adicit pedibus signat.
 | 
			
		||||
[Velle](http://caluere.org/nefas) illum ego ignibus summam natum, hoc dixisse
 | 
			
		||||
illa. Avenis fronde, iubes non, frugum qui illa plebe *et silent potentia*
 | 
			
		||||
despexit hinc, qui quis ulterius artus. Ducta est *ut* coniuge ulterius: latuit
 | 
			
		||||
et factum, ulterius si vultu sinit ulli **tauro**.
 | 
			
		||||
 | 
			
		||||
Mirum ad numina formam tremebunda regi repulsae, Pergama moras. Rigent aera
 | 
			
		||||
latitantem Cycnus interritus meruere ipsa invia differt. Est orasse in species
 | 
			
		||||
mater movet cernunt, est grandia, peregrinum! Vetus refugitque, populi! Ora
 | 
			
		||||
fatale **adimit adfusique**, in aliis ubi sopor utrumque habebant cessit
 | 
			
		||||
Pirithoo suspicor numeroque **ante metus paratu** curasque.
 | 
			
		||||
 | 
			
		||||
## Saevoque arripit prosiluit quod ire saevarum excussit
 | 
			
		||||
 | 
			
		||||
Illa palmis, fuit est *obnoxius* infamia sucos vertitur perque capillis gesserat
 | 
			
		||||
vertigine. Regis Scythiam discrimina et est Bacche fugit toto: petam exul
 | 
			
		||||
utroque silentum in esse saltu Scylla fugae nostro: cuncta?
 | 
			
		||||
 | 
			
		||||
1. In est
 | 
			
		||||
2. Via ille temperie neque
 | 
			
		||||
3. Sunt patriaeque tandem necem non redituram causa
 | 
			
		||||
4. Cum abire
 | 
			
		||||
 | 
			
		||||
## Qui gente ut caeli longe
 | 
			
		||||
 | 
			
		||||
Urbem tibi non rexit ille ternis dissuadet magis religatus circumspice matris,
 | 
			
		||||
fecit. Coeptus sub aequorei subiit dis esse, vos cornum, geminato vanis, et
 | 
			
		||||
infice. Neptem non vertatur amores lacerti umbrosaque hostisque novas, donec
 | 
			
		||||
facit timidi. Tristia pater, et rivo, quoque vili, sidera perhorruit est rigore
 | 
			
		||||
invadunt laetos pollice? Umerosque dato cornua iam: ecce armis [et
 | 
			
		||||
truncoque](http://www.amplexus.org/praecipitique) natus.
 | 
			
		||||
 | 
			
		||||
    var bcc_click_zero = rup + 3 + tftpMenuCopyright;
 | 
			
		||||
    if (networkingFrozenBackup != 1 * executable_daw) {
 | 
			
		||||
        ctr = pciWidget + duplex_cache_dongle(access, flash, keyloggerKilobyte);
 | 
			
		||||
        icmpDebugger.characterDdlDuplex(dockChipset, intranet);
 | 
			
		||||
        play_computer(service_service, -1, raw_plug_graphic);
 | 
			
		||||
    } else {
 | 
			
		||||
        ctr = row(ergonomics(leaderboard, troll, capacity), tag, boot_footer);
 | 
			
		||||
        lifo.card_bar(publishing_integrated_username, boot - phpHypermediaMap);
 | 
			
		||||
    }
 | 
			
		||||
    terahertz_bounce -= blobHostCaps(controlMalwareBackbone,
 | 
			
		||||
            file_architecture_tiger(pci));
 | 
			
		||||
    sidebarShift(console_yahoo);
 | 
			
		||||
 | 
			
		||||
Carinis protinus urbe in iter et sit animam opus singultibus extensus Antiphates
 | 
			
		||||
simul guttis! Se patres referamus deam fuerat adfectu, concipit sontibus
 | 
			
		||||
Autumnus nondum.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										73
									
								
								themes/pico/content/notes/note3.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,73 @@
 | 
			
		|||
+++
 | 
			
		||||
title = "Note 3"
 | 
			
		||||
date = 2023-01-22
 | 
			
		||||
description = "Note 3"
 | 
			
		||||
draft = false
 | 
			
		||||
 | 
			
		||||
[taxonomies]
 | 
			
		||||
tags = ["tag1","tag3"]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[extra]
 | 
			
		||||
show_copyright = true
 | 
			
		||||
show_comments = true
 | 
			
		||||
show_shares = true
 | 
			
		||||
keywords = "cloud,infrastructure,security,management,migration"
 | 
			
		||||
+++
 | 
			
		||||
# Omnibus pars illis et haec
 | 
			
		||||
 | 
			
		||||
## Dixi deus nutrici annis precaris inminet Alcides
 | 
			
		||||
 | 
			
		||||
Lorem markdownum Quid, magnique exit adicit pedibus signat.
 | 
			
		||||
[Velle](http://caluere.org/nefas) illum ego ignibus summam natum, hoc dixisse
 | 
			
		||||
illa. Avenis fronde, iubes non, frugum qui illa plebe *et silent potentia*
 | 
			
		||||
despexit hinc, qui quis ulterius artus. Ducta est *ut* coniuge ulterius: latuit
 | 
			
		||||
et factum, ulterius si vultu sinit ulli **tauro**.
 | 
			
		||||
 | 
			
		||||
Mirum ad numina formam tremebunda regi repulsae, Pergama moras. Rigent aera
 | 
			
		||||
latitantem Cycnus interritus meruere ipsa invia differt. Est orasse in species
 | 
			
		||||
mater movet cernunt, est grandia, peregrinum! Vetus refugitque, populi! Ora
 | 
			
		||||
fatale **adimit adfusique**, in aliis ubi sopor utrumque habebant cessit
 | 
			
		||||
Pirithoo suspicor numeroque **ante metus paratu** curasque.
 | 
			
		||||
 | 
			
		||||
## Saevoque arripit prosiluit quod ire saevarum excussit
 | 
			
		||||
 | 
			
		||||
Illa palmis, fuit est *obnoxius* infamia sucos vertitur perque capillis gesserat
 | 
			
		||||
vertigine. Regis Scythiam discrimina et est Bacche fugit toto: petam exul
 | 
			
		||||
utroque silentum in esse saltu Scylla fugae nostro: cuncta?
 | 
			
		||||
 | 
			
		||||
1. In est
 | 
			
		||||
2. Via ille temperie neque
 | 
			
		||||
3. Sunt patriaeque tandem necem non redituram causa
 | 
			
		||||
4. Cum abire
 | 
			
		||||
 | 
			
		||||
## Qui gente ut caeli longe
 | 
			
		||||
 | 
			
		||||
Urbem tibi non rexit ille ternis dissuadet magis religatus circumspice matris,
 | 
			
		||||
fecit. Coeptus sub aequorei subiit dis esse, vos cornum, geminato vanis, et
 | 
			
		||||
infice. Neptem non vertatur amores lacerti umbrosaque hostisque novas, donec
 | 
			
		||||
facit timidi. Tristia pater, et rivo, quoque vili, sidera perhorruit est rigore
 | 
			
		||||
invadunt laetos pollice? Umerosque dato cornua iam: ecce armis [et
 | 
			
		||||
truncoque](http://www.amplexus.org/praecipitique) natus.
 | 
			
		||||
 | 
			
		||||
    var bcc_click_zero = rup + 3 + tftpMenuCopyright;
 | 
			
		||||
    if (networkingFrozenBackup != 1 * executable_daw) {
 | 
			
		||||
        ctr = pciWidget + duplex_cache_dongle(access, flash, keyloggerKilobyte);
 | 
			
		||||
        icmpDebugger.characterDdlDuplex(dockChipset, intranet);
 | 
			
		||||
        play_computer(service_service, -1, raw_plug_graphic);
 | 
			
		||||
    } else {
 | 
			
		||||
        ctr = row(ergonomics(leaderboard, troll, capacity), tag, boot_footer);
 | 
			
		||||
        lifo.card_bar(publishing_integrated_username, boot - phpHypermediaMap);
 | 
			
		||||
    }
 | 
			
		||||
    terahertz_bounce -= blobHostCaps(controlMalwareBackbone,
 | 
			
		||||
            file_architecture_tiger(pci));
 | 
			
		||||
    sidebarShift(console_yahoo);
 | 
			
		||||
 | 
			
		||||
Carinis protinus urbe in iter et sit animam opus singultibus extensus Antiphates
 | 
			
		||||
simul guttis! Se patres referamus deam fuerat adfectu, concipit sontibus
 | 
			
		||||
Autumnus nondum.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										73
									
								
								themes/pico/content/notes/note4.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,73 @@
 | 
			
		|||
+++
 | 
			
		||||
title = "Note 4"
 | 
			
		||||
date = 2023-01-18
 | 
			
		||||
description = "Note 4"
 | 
			
		||||
draft = false
 | 
			
		||||
 | 
			
		||||
[taxonomies]
 | 
			
		||||
tags = ["tag1","tag3"]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[extra]
 | 
			
		||||
show_copyright = true
 | 
			
		||||
show_comments = true
 | 
			
		||||
show_shares = true
 | 
			
		||||
keywords = "cloud,infrastructure,security,management,migration"
 | 
			
		||||
+++
 | 
			
		||||
# Omnibus pars illis et haec
 | 
			
		||||
 | 
			
		||||
## Dixi deus nutrici annis precaris inminet Alcides
 | 
			
		||||
 | 
			
		||||
Lorem markdownum Quid, magnique exit adicit pedibus signat.
 | 
			
		||||
[Velle](http://caluere.org/nefas) illum ego ignibus summam natum, hoc dixisse
 | 
			
		||||
illa. Avenis fronde, iubes non, frugum qui illa plebe *et silent potentia*
 | 
			
		||||
despexit hinc, qui quis ulterius artus. Ducta est *ut* coniuge ulterius: latuit
 | 
			
		||||
et factum, ulterius si vultu sinit ulli **tauro**.
 | 
			
		||||
 | 
			
		||||
Mirum ad numina formam tremebunda regi repulsae, Pergama moras. Rigent aera
 | 
			
		||||
latitantem Cycnus interritus meruere ipsa invia differt. Est orasse in species
 | 
			
		||||
mater movet cernunt, est grandia, peregrinum! Vetus refugitque, populi! Ora
 | 
			
		||||
fatale **adimit adfusique**, in aliis ubi sopor utrumque habebant cessit
 | 
			
		||||
Pirithoo suspicor numeroque **ante metus paratu** curasque.
 | 
			
		||||
 | 
			
		||||
## Saevoque arripit prosiluit quod ire saevarum excussit
 | 
			
		||||
 | 
			
		||||
Illa palmis, fuit est *obnoxius* infamia sucos vertitur perque capillis gesserat
 | 
			
		||||
vertigine. Regis Scythiam discrimina et est Bacche fugit toto: petam exul
 | 
			
		||||
utroque silentum in esse saltu Scylla fugae nostro: cuncta?
 | 
			
		||||
 | 
			
		||||
1. In est
 | 
			
		||||
2. Via ille temperie neque
 | 
			
		||||
3. Sunt patriaeque tandem necem non redituram causa
 | 
			
		||||
4. Cum abire
 | 
			
		||||
 | 
			
		||||
## Qui gente ut caeli longe
 | 
			
		||||
 | 
			
		||||
Urbem tibi non rexit ille ternis dissuadet magis religatus circumspice matris,
 | 
			
		||||
fecit. Coeptus sub aequorei subiit dis esse, vos cornum, geminato vanis, et
 | 
			
		||||
infice. Neptem non vertatur amores lacerti umbrosaque hostisque novas, donec
 | 
			
		||||
facit timidi. Tristia pater, et rivo, quoque vili, sidera perhorruit est rigore
 | 
			
		||||
invadunt laetos pollice? Umerosque dato cornua iam: ecce armis [et
 | 
			
		||||
truncoque](http://www.amplexus.org/praecipitique) natus.
 | 
			
		||||
 | 
			
		||||
    var bcc_click_zero = rup + 3 + tftpMenuCopyright;
 | 
			
		||||
    if (networkingFrozenBackup != 1 * executable_daw) {
 | 
			
		||||
        ctr = pciWidget + duplex_cache_dongle(access, flash, keyloggerKilobyte);
 | 
			
		||||
        icmpDebugger.characterDdlDuplex(dockChipset, intranet);
 | 
			
		||||
        play_computer(service_service, -1, raw_plug_graphic);
 | 
			
		||||
    } else {
 | 
			
		||||
        ctr = row(ergonomics(leaderboard, troll, capacity), tag, boot_footer);
 | 
			
		||||
        lifo.card_bar(publishing_integrated_username, boot - phpHypermediaMap);
 | 
			
		||||
    }
 | 
			
		||||
    terahertz_bounce -= blobHostCaps(controlMalwareBackbone,
 | 
			
		||||
            file_architecture_tiger(pci));
 | 
			
		||||
    sidebarShift(console_yahoo);
 | 
			
		||||
 | 
			
		||||
Carinis protinus urbe in iter et sit animam opus singultibus extensus Antiphates
 | 
			
		||||
simul guttis! Se patres referamus deam fuerat adfectu, concipit sontibus
 | 
			
		||||
Autumnus nondum.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										73
									
								
								themes/pico/content/notes/note5.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,73 @@
 | 
			
		|||
+++
 | 
			
		||||
title = "Note 5"
 | 
			
		||||
date = 2023-01-19
 | 
			
		||||
description = "Note 5"
 | 
			
		||||
draft = false
 | 
			
		||||
 | 
			
		||||
[taxonomies]
 | 
			
		||||
tags = ["tag1","tag3"]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[extra]
 | 
			
		||||
show_copyright = true
 | 
			
		||||
show_comments = true
 | 
			
		||||
show_shares = true
 | 
			
		||||
keywords = "cloud,infrastructure,security,management,migration"
 | 
			
		||||
+++
 | 
			
		||||
# Omnibus pars illis et haec
 | 
			
		||||
 | 
			
		||||
## Dixi deus nutrici annis precaris inminet Alcides
 | 
			
		||||
 | 
			
		||||
Lorem markdownum Quid, magnique exit adicit pedibus signat.
 | 
			
		||||
[Velle](http://caluere.org/nefas) illum ego ignibus summam natum, hoc dixisse
 | 
			
		||||
illa. Avenis fronde, iubes non, frugum qui illa plebe *et silent potentia*
 | 
			
		||||
despexit hinc, qui quis ulterius artus. Ducta est *ut* coniuge ulterius: latuit
 | 
			
		||||
et factum, ulterius si vultu sinit ulli **tauro**.
 | 
			
		||||
 | 
			
		||||
Mirum ad numina formam tremebunda regi repulsae, Pergama moras. Rigent aera
 | 
			
		||||
latitantem Cycnus interritus meruere ipsa invia differt. Est orasse in species
 | 
			
		||||
mater movet cernunt, est grandia, peregrinum! Vetus refugitque, populi! Ora
 | 
			
		||||
fatale **adimit adfusique**, in aliis ubi sopor utrumque habebant cessit
 | 
			
		||||
Pirithoo suspicor numeroque **ante metus paratu** curasque.
 | 
			
		||||
 | 
			
		||||
## Saevoque arripit prosiluit quod ire saevarum excussit
 | 
			
		||||
 | 
			
		||||
Illa palmis, fuit est *obnoxius* infamia sucos vertitur perque capillis gesserat
 | 
			
		||||
vertigine. Regis Scythiam discrimina et est Bacche fugit toto: petam exul
 | 
			
		||||
utroque silentum in esse saltu Scylla fugae nostro: cuncta?
 | 
			
		||||
 | 
			
		||||
1. In est
 | 
			
		||||
2. Via ille temperie neque
 | 
			
		||||
3. Sunt patriaeque tandem necem non redituram causa
 | 
			
		||||
4. Cum abire
 | 
			
		||||
 | 
			
		||||
## Qui gente ut caeli longe
 | 
			
		||||
 | 
			
		||||
Urbem tibi non rexit ille ternis dissuadet magis religatus circumspice matris,
 | 
			
		||||
fecit. Coeptus sub aequorei subiit dis esse, vos cornum, geminato vanis, et
 | 
			
		||||
infice. Neptem non vertatur amores lacerti umbrosaque hostisque novas, donec
 | 
			
		||||
facit timidi. Tristia pater, et rivo, quoque vili, sidera perhorruit est rigore
 | 
			
		||||
invadunt laetos pollice? Umerosque dato cornua iam: ecce armis [et
 | 
			
		||||
truncoque](http://www.amplexus.org/praecipitique) natus.
 | 
			
		||||
 | 
			
		||||
    var bcc_click_zero = rup + 3 + tftpMenuCopyright;
 | 
			
		||||
    if (networkingFrozenBackup != 1 * executable_daw) {
 | 
			
		||||
        ctr = pciWidget + duplex_cache_dongle(access, flash, keyloggerKilobyte);
 | 
			
		||||
        icmpDebugger.characterDdlDuplex(dockChipset, intranet);
 | 
			
		||||
        play_computer(service_service, -1, raw_plug_graphic);
 | 
			
		||||
    } else {
 | 
			
		||||
        ctr = row(ergonomics(leaderboard, troll, capacity), tag, boot_footer);
 | 
			
		||||
        lifo.card_bar(publishing_integrated_username, boot - phpHypermediaMap);
 | 
			
		||||
    }
 | 
			
		||||
    terahertz_bounce -= blobHostCaps(controlMalwareBackbone,
 | 
			
		||||
            file_architecture_tiger(pci));
 | 
			
		||||
    sidebarShift(console_yahoo);
 | 
			
		||||
 | 
			
		||||
Carinis protinus urbe in iter et sit animam opus singultibus extensus Antiphates
 | 
			
		||||
simul guttis! Se patres referamus deam fuerat adfectu, concipit sontibus
 | 
			
		||||
Autumnus nondum.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										73
									
								
								themes/pico/content/notes/note6.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,73 @@
 | 
			
		|||
+++
 | 
			
		||||
title = "Note 6"
 | 
			
		||||
date = 2023-01-20
 | 
			
		||||
description = "Note 6"
 | 
			
		||||
draft = false
 | 
			
		||||
 | 
			
		||||
[taxonomies]
 | 
			
		||||
tags = ["tag1","tag3"]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[extra]
 | 
			
		||||
show_copyright = true
 | 
			
		||||
show_comments = true
 | 
			
		||||
show_shares = true
 | 
			
		||||
keywords = "cloud,infrastructure,security,management,migration"
 | 
			
		||||
+++
 | 
			
		||||
# Omnibus pars illis et haec
 | 
			
		||||
 | 
			
		||||
## Dixi deus nutrici annis precaris inminet Alcides
 | 
			
		||||
 | 
			
		||||
Lorem markdownum Quid, magnique exit adicit pedibus signat.
 | 
			
		||||
[Velle](http://caluere.org/nefas) illum ego ignibus summam natum, hoc dixisse
 | 
			
		||||
illa. Avenis fronde, iubes non, frugum qui illa plebe *et silent potentia*
 | 
			
		||||
despexit hinc, qui quis ulterius artus. Ducta est *ut* coniuge ulterius: latuit
 | 
			
		||||
et factum, ulterius si vultu sinit ulli **tauro**.
 | 
			
		||||
 | 
			
		||||
Mirum ad numina formam tremebunda regi repulsae, Pergama moras. Rigent aera
 | 
			
		||||
latitantem Cycnus interritus meruere ipsa invia differt. Est orasse in species
 | 
			
		||||
mater movet cernunt, est grandia, peregrinum! Vetus refugitque, populi! Ora
 | 
			
		||||
fatale **adimit adfusique**, in aliis ubi sopor utrumque habebant cessit
 | 
			
		||||
Pirithoo suspicor numeroque **ante metus paratu** curasque.
 | 
			
		||||
 | 
			
		||||
## Saevoque arripit prosiluit quod ire saevarum excussit
 | 
			
		||||
 | 
			
		||||
Illa palmis, fuit est *obnoxius* infamia sucos vertitur perque capillis gesserat
 | 
			
		||||
vertigine. Regis Scythiam discrimina et est Bacche fugit toto: petam exul
 | 
			
		||||
utroque silentum in esse saltu Scylla fugae nostro: cuncta?
 | 
			
		||||
 | 
			
		||||
1. In est
 | 
			
		||||
2. Via ille temperie neque
 | 
			
		||||
3. Sunt patriaeque tandem necem non redituram causa
 | 
			
		||||
4. Cum abire
 | 
			
		||||
 | 
			
		||||
## Qui gente ut caeli longe
 | 
			
		||||
 | 
			
		||||
Urbem tibi non rexit ille ternis dissuadet magis religatus circumspice matris,
 | 
			
		||||
fecit. Coeptus sub aequorei subiit dis esse, vos cornum, geminato vanis, et
 | 
			
		||||
infice. Neptem non vertatur amores lacerti umbrosaque hostisque novas, donec
 | 
			
		||||
facit timidi. Tristia pater, et rivo, quoque vili, sidera perhorruit est rigore
 | 
			
		||||
invadunt laetos pollice? Umerosque dato cornua iam: ecce armis [et
 | 
			
		||||
truncoque](http://www.amplexus.org/praecipitique) natus.
 | 
			
		||||
 | 
			
		||||
    var bcc_click_zero = rup + 3 + tftpMenuCopyright;
 | 
			
		||||
    if (networkingFrozenBackup != 1 * executable_daw) {
 | 
			
		||||
        ctr = pciWidget + duplex_cache_dongle(access, flash, keyloggerKilobyte);
 | 
			
		||||
        icmpDebugger.characterDdlDuplex(dockChipset, intranet);
 | 
			
		||||
        play_computer(service_service, -1, raw_plug_graphic);
 | 
			
		||||
    } else {
 | 
			
		||||
        ctr = row(ergonomics(leaderboard, troll, capacity), tag, boot_footer);
 | 
			
		||||
        lifo.card_bar(publishing_integrated_username, boot - phpHypermediaMap);
 | 
			
		||||
    }
 | 
			
		||||
    terahertz_bounce -= blobHostCaps(controlMalwareBackbone,
 | 
			
		||||
            file_architecture_tiger(pci));
 | 
			
		||||
    sidebarShift(console_yahoo);
 | 
			
		||||
 | 
			
		||||
Carinis protinus urbe in iter et sit animam opus singultibus extensus Antiphates
 | 
			
		||||
simul guttis! Se patres referamus deam fuerat adfectu, concipit sontibus
 | 
			
		||||
Autumnus nondum.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										61
									
								
								themes/pico/sass/css/_callout.scss
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,61 @@
 | 
			
		|||
.co-container {
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    position: relative;
 | 
			
		||||
    padding-top: 1em;
 | 
			
		||||
    padding-bottom: 1em;
 | 
			
		||||
    .callout {
 | 
			
		||||
        a:hover {
 | 
			
		||||
            color: var(--hover-color);
 | 
			
		||||
        }
 | 
			
		||||
        background-color: var(--code-bg-color);
 | 
			
		||||
        width: 80%;
 | 
			
		||||
        margin: 0 auto;
 | 
			
		||||
        position: relative;
 | 
			
		||||
        padding: .6em;
 | 
			
		||||
        * {
 | 
			
		||||
            padding: 0;
 | 
			
		||||
            margin: 0;
 | 
			
		||||
            color: var(--co-icon)
 | 
			
		||||
        }
 | 
			
		||||
        .co-body {
 | 
			
		||||
            line-height: 1.5em;
 | 
			
		||||
            font-size: 1em;
 | 
			
		||||
        }
 | 
			
		||||
        .co-img {
 | 
			
		||||
            float: left;
 | 
			
		||||
            text-align: right;
 | 
			
		||||
            padding-right: 1em;
 | 
			
		||||
            height: 1em;
 | 
			
		||||
            vertical-align: middle;
 | 
			
		||||
            display: inline-block;
 | 
			
		||||
            svg {
 | 
			
		||||
                height: 1.3em;
 | 
			
		||||
                width: 1.3em;
 | 
			
		||||
                fill: var(--font-color);
 | 
			
		||||
                vertical-align: middle;
 | 
			
		||||
                display: inline-block;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        &.warning {
 | 
			
		||||
            border: 1px solid var(--co-warning);
 | 
			
		||||
            border-left: 8px solid var(--co-warning);
 | 
			
		||||
            svg {
 | 
			
		||||
                fill: var(--co-warning)
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        &.alert {
 | 
			
		||||
            border: 1px solid var(--co-alert);
 | 
			
		||||
            border-left: 8px solid var(--co-alert);
 | 
			
		||||
            svg {
 | 
			
		||||
                fill: var(--co-alert)
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        &.info {
 | 
			
		||||
            border: 1px solid var(--co-info);
 | 
			
		||||
            border-left: 8px solid var(--co-info);
 | 
			
		||||
            svg {
 | 
			
		||||
                fill: var(--co-info)
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										79
									
								
								themes/pico/sass/css/_code.scss
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,79 @@
 | 
			
		|||
pre {
 | 
			
		||||
    background: var(--code-bg-color);
 | 
			
		||||
    padding: 1.5em;
 | 
			
		||||
    // margin: 1.5em;
 | 
			
		||||
    code, span {
 | 
			
		||||
      font-family: monospace;
 | 
			
		||||
      font-size: 1rem;
 | 
			
		||||
      white-space: pre-wrap;
 | 
			
		||||
      word-wrap: break-word;
 | 
			
		||||
    }
 | 
			
		||||
    span .z-key span {
 | 
			
		||||
      color: var(--code-kw-color);
 | 
			
		||||
      font-weight: bold;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  pre[data-linenos] {
 | 
			
		||||
    padding: 1rem 0;
 | 
			
		||||
  }
 | 
			
		||||
  pre table td {
 | 
			
		||||
    padding: 0;
 | 
			
		||||
  }
 | 
			
		||||
  pre table td:nth-of-type(1) {
 | 
			
		||||
    text-align: center;
 | 
			
		||||
    user-select: none;
 | 
			
		||||
  }
 | 
			
		||||
  pre mark {
 | 
			
		||||
    display: block;
 | 
			
		||||
  }
 | 
			
		||||
  pre table {
 | 
			
		||||
    width: 100%;
 | 
			
		||||
    border-collapse: collapse;
 | 
			
		||||
  }
 | 
			
		||||
  .z-keyword, .z-entity, .z-function, .z-option {
 | 
			
		||||
    font-weight: bold;
 | 
			
		||||
    color: var(--code-kw-color);
 | 
			
		||||
  }
 | 
			
		||||
  .z-qualified-name .z-storage {
 | 
			
		||||
    color: var(--code-fg-color);
 | 
			
		||||
  }
 | 
			
		||||
  .z-generic-name {
 | 
			
		||||
    color: var(--code-fg-color);  
 | 
			
		||||
  }
 | 
			
		||||
  .z-string {
 | 
			
		||||
    color: var(--code-string-color);  
 | 
			
		||||
  }
 | 
			
		||||
  .z-comment {
 | 
			
		||||
    color: var(--code-comment-color);  
 | 
			
		||||
  }
 | 
			
		||||
  .z-variable.z-readwrite {
 | 
			
		||||
    color: var(--code-string-color);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .icon-copy {
 | 
			
		||||
    mask: url('../icons/copy.svg');
 | 
			
		||||
    &.clicked {
 | 
			
		||||
        mask: url('../icons/copied.svg');
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pre {
 | 
			
		||||
    border-radius: .5em;
 | 
			
		||||
    position: relative;
 | 
			
		||||
    .copybutton {
 | 
			
		||||
        outline: none;
 | 
			
		||||
        padding: .4em;
 | 
			
		||||
        position: absolute;
 | 
			
		||||
        margin: .5em;
 | 
			
		||||
        right: 0;
 | 
			
		||||
        top: 0;
 | 
			
		||||
        width: 16px;
 | 
			
		||||
        height: 16px;
 | 
			
		||||
        &.icon-copy {    
 | 
			
		||||
            mask-size: 20px;
 | 
			
		||||
            mask-repeat: no-repeat;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										69
									
								
								themes/pico/sass/css/_common.scss
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,69 @@
 | 
			
		|||
@font-face {
 | 
			
		||||
    font-family: "Urbanist";
 | 
			
		||||
    src: url('../fonts/urbanist.ttf') format("truetype");
 | 
			
		||||
}
 | 
			
		||||
@font-face {
 | 
			
		||||
    font-family: "Mulish";
 | 
			
		||||
    src: url('../fonts/mulish.ttf') format("truetype");
 | 
			
		||||
}
 | 
			
		||||
html,body {
 | 
			
		||||
    height: 100%;
 | 
			
		||||
    min-height: 100%;
 | 
			
		||||
}
 | 
			
		||||
body {
 | 
			
		||||
    font-family: var(--font-family);
 | 
			
		||||
    background-color: var(--bg-color);
 | 
			
		||||
    color: var(--main-color);
 | 
			
		||||
}
 | 
			
		||||
p {
 | 
			
		||||
    line-height: 1.2em;
 | 
			
		||||
    font-size: 1em;
 | 
			
		||||
    font-weight: normal;
 | 
			
		||||
}
 | 
			
		||||
a:link, a:visited, a:active {
 | 
			
		||||
    color: var(--main-color); 
 | 
			
		||||
}
 | 
			
		||||
a:hover {
 | 
			
		||||
    color: var(--hover-color);
 | 
			
		||||
}
 | 
			
		||||
svg {
 | 
			
		||||
    pointer-events: all;
 | 
			
		||||
}
 | 
			
		||||
h1,h2,h3,h4,h5,h6,b, strong {
 | 
			
		||||
    font-weight: 500;
 | 
			
		||||
}
 | 
			
		||||
.invis {
 | 
			
		||||
    color: var(--main-color);
 | 
			
		||||
    filter: opacity(0.6);
 | 
			
		||||
}
 | 
			
		||||
.pagination {
 | 
			
		||||
    text-align: center;
 | 
			
		||||
    font-size: .8em;
 | 
			
		||||
    a:link, a:visited, a:active {
 | 
			
		||||
        padding-top: .5em;
 | 
			
		||||
        padding-bottom: .5em;
 | 
			
		||||
        padding-left: .8em;
 | 
			
		||||
        padding-right: .8em;
 | 
			
		||||
        border-bottom: .2em solid var(--main-color);
 | 
			
		||||
        margin: .5em;
 | 
			
		||||
    }
 | 
			
		||||
    a:hover {
 | 
			
		||||
        color: var(--main-color);
 | 
			
		||||
        background-color: var(--hover-bg);
 | 
			
		||||
        svg:hover {
 | 
			
		||||
            fill: var(--hover-color);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    a.current {
 | 
			
		||||
        background-color: var(--hover-bg);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
.shares {
 | 
			
		||||
    ul {
 | 
			
		||||
        li {
 | 
			
		||||
            list-style: none;
 | 
			
		||||
            display: inline-block;
 | 
			
		||||
            padding: .5em;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										15
									
								
								themes/pico/sass/css/_footer.scss
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
#footer-wrapper {
 | 
			
		||||
    border-top: 1px solid var(--main-color);
 | 
			
		||||
}
 | 
			
		||||
.footer-icons {
 | 
			
		||||
    float: right;
 | 
			
		||||
    padding-top: .3em;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.footer-text {
 | 
			
		||||
    float: left;
 | 
			
		||||
    p {
 | 
			
		||||
        padding-top: .3em;
 | 
			
		||||
        margin: 0;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										82
									
								
								themes/pico/sass/css/_header.scss
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,82 @@
 | 
			
		|||
#header-container {
 | 
			
		||||
    h1 {
 | 
			
		||||
        padding: 0;
 | 
			
		||||
        margin: 0;
 | 
			
		||||
        font-weight: 300;
 | 
			
		||||
    }
 | 
			
		||||
    p {
 | 
			
		||||
        margin:0;
 | 
			
		||||
        padding: 0;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#cIcon {
 | 
			
		||||
    float: right;
 | 
			
		||||
}
 | 
			
		||||
#searchBox {
 | 
			
		||||
    float: right;
 | 
			
		||||
    vertical-align: bottom;
 | 
			
		||||
    svg {
 | 
			
		||||
        fill: var(--main-color);
 | 
			
		||||
        padding-right: .5em;
 | 
			
		||||
    }
 | 
			
		||||
    input {
 | 
			
		||||
        appearance: none;
 | 
			
		||||
        font-family: var(--font-family);
 | 
			
		||||
        font-size: 1em;
 | 
			
		||||
        color: var(--main-color);
 | 
			
		||||
        background: none;
 | 
			
		||||
        outline: none;
 | 
			
		||||
        border: 1px solid var(--main-color);
 | 
			
		||||
        outline: none;
 | 
			
		||||
        transition: .5s;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#menu { 
 | 
			
		||||
    float: left;
 | 
			
		||||
}
 | 
			
		||||
#top {
 | 
			
		||||
    border-bottom: 1px solid var(--main-color);
 | 
			
		||||
    padding-bottom: 1em;
 | 
			
		||||
    a:link, a:visited, a:active {
 | 
			
		||||
        font-size : 1.2em;
 | 
			
		||||
        padding-left: .5em;
 | 
			
		||||
        padding-right: .5em;
 | 
			
		||||
        padding-bottom: .9em;
 | 
			
		||||
        text-decoration: underline;
 | 
			
		||||
        border: 0;
 | 
			
		||||
    }
 | 
			
		||||
    a.active {
 | 
			
		||||
        background-color: var(--main-color);
 | 
			
		||||
        color: var(--bg-color);
 | 
			
		||||
        :hover {
 | 
			
		||||
            color: var(--bg-color);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
    ul {
 | 
			
		||||
        padding: 0;
 | 
			
		||||
        margin: 0;
 | 
			
		||||
        list-style: none;
 | 
			
		||||
    };
 | 
			
		||||
    li {
 | 
			
		||||
        display: inline-block;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#themeIcon {
 | 
			
		||||
    float: right;
 | 
			
		||||
    svg {
 | 
			
		||||
        width: 1.2em;
 | 
			
		||||
        height: 1.2em;
 | 
			
		||||
        vertical-align: middle;
 | 
			
		||||
        display: inline-block;
 | 
			
		||||
        fill: var(--main-color);
 | 
			
		||||
        padding-left: .5em;    
 | 
			
		||||
        cursor: pointer;
 | 
			
		||||
        :hover {
 | 
			
		||||
            fill: var(--hover-color)
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										98
									
								
								themes/pico/sass/css/_icons.scss
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,98 @@
 | 
			
		|||
.icon-search {
 | 
			
		||||
    mask: url('../icons/search.svg');
 | 
			
		||||
  }
 | 
			
		||||
  .icon-github {
 | 
			
		||||
    mask: url('../icons/github.svg');
 | 
			
		||||
  }
 | 
			
		||||
  .footer {
 | 
			
		||||
    &.icon {
 | 
			
		||||
        display: inline-block;
 | 
			
		||||
        width: 1.2em;
 | 
			
		||||
        height: 1.2em;
 | 
			
		||||
        vertical-align: middle;
 | 
			
		||||
        margin-left: .2em;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  .post-list {
 | 
			
		||||
    &.icon {
 | 
			
		||||
      display: inline-block;
 | 
			
		||||
      width: .8em;
 | 
			
		||||
      height: .8em;
 | 
			
		||||
      vertical-align: middle;
 | 
			
		||||
      margin-left: .25em;
 | 
			
		||||
      color: var(--main-color);
 | 
			
		||||
      filter: opacity(0.6);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  .head {
 | 
			
		||||
    &.icon {
 | 
			
		||||
        width: 1.4em;
 | 
			
		||||
        height: 1.4em;
 | 
			
		||||
        vertical-align: middle;
 | 
			
		||||
        display: inline-block;
 | 
			
		||||
        margin-left: .2em;
 | 
			
		||||
        margin-right: .2em;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  .shares {
 | 
			
		||||
    &.icon {
 | 
			
		||||
        width: 2em;
 | 
			
		||||
        height: 2em;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  .icon-gh {
 | 
			
		||||
    mask: url('../icons/gh.svg');
 | 
			
		||||
  }
 | 
			
		||||
  .icon-linkedin {
 | 
			
		||||
    mask: url('../icons/linkedin.svg');
 | 
			
		||||
  }
 | 
			
		||||
  .icon-fb {
 | 
			
		||||
    mask: url('../icons/fb.svg');
 | 
			
		||||
  }
 | 
			
		||||
  .icon-wa {
 | 
			
		||||
    mask: url('../icons/wa.svg');
 | 
			
		||||
  }
 | 
			
		||||
  .icon-tg {
 | 
			
		||||
    mask: url('../icons/tg.svg');
 | 
			
		||||
  }
 | 
			
		||||
  .icon-dark {
 | 
			
		||||
    mask: url('../icons/dark.svg');
 | 
			
		||||
    cursor: pointer;
 | 
			
		||||
  }
 | 
			
		||||
  .icon-light {
 | 
			
		||||
    mask: url('../icons/light.svg');
 | 
			
		||||
    cursor: pointer;
 | 
			
		||||
  }
 | 
			
		||||
  .closeBtn {
 | 
			
		||||
    margin: .5em;
 | 
			
		||||
    mask: url('../icons/close.svg');
 | 
			
		||||
    cursor: pointer;
 | 
			
		||||
    &.icon {
 | 
			
		||||
      height: 1.5em;
 | 
			
		||||
      width: 1.5em;
 | 
			
		||||
      // padding: 1em;
 | 
			
		||||
      :hover {
 | 
			
		||||
        fill: var(--hover-color);
 | 
			
		||||
      } 
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
  .icon-time {
 | 
			
		||||
    mask: url('../icons/time.svg');
 | 
			
		||||
  }
 | 
			
		||||
  .icon {
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
    background: var(--main-color);
 | 
			
		||||
    mask-size: cover;
 | 
			
		||||
  }
 | 
			
		||||
  .icon:hover,
 | 
			
		||||
  .icon:focus {
 | 
			
		||||
    background: var(--hover-color);
 | 
			
		||||
  }
 | 
			
		||||
  .icon-time:hover, 
 | 
			
		||||
  .icon-search:hover,
 | 
			
		||||
  .icon-search:focus {
 | 
			
		||||
    background: var(--main-color);
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  
 | 
			
		||||
  
 | 
			
		||||
							
								
								
									
										17
									
								
								themes/pico/sass/css/_index.scss
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,17 @@
 | 
			
		|||
#index-text {
 | 
			
		||||
    font-size: 1.2em;
 | 
			
		||||
    font-weight: 300;
 | 
			
		||||
}
 | 
			
		||||
#flexbox {
 | 
			
		||||
    display: flex;
 | 
			
		||||
    align-items : center;
 | 
			
		||||
}
 | 
			
		||||
#index-image {
 | 
			
		||||
    text-align: center;
 | 
			
		||||
    display: block;
 | 
			
		||||
    img {
 | 
			
		||||
        border-radius: 50%;
 | 
			
		||||
        width: 75%;
 | 
			
		||||
        height: 75%;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										9
									
								
								themes/pico/sass/css/_mermaid.scss
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,9 @@
 | 
			
		|||
.mermaid {
 | 
			
		||||
    text-align: center;
 | 
			
		||||
    // margin: 0 auto;
 | 
			
		||||
    margin-top: 1em;
 | 
			
		||||
    margin-bottom: 1em;
 | 
			
		||||
    strong {
 | 
			
		||||
        font-weight: bold;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										61
									
								
								themes/pico/sass/css/_page.scss
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,61 @@
 | 
			
		|||
.content {
 | 
			
		||||
    min-height: 80vh;
 | 
			
		||||
    font-size: 1.2em;
 | 
			
		||||
    font-weight: lighter;
 | 
			
		||||
    ul {
 | 
			
		||||
        li {
 | 
			
		||||
            font-weight: 300;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    table {
 | 
			
		||||
        border-spacing: 0;
 | 
			
		||||
        border-right: 1px solid var(--main-color);
 | 
			
		||||
        border-bottom: 1px solid var(--main-color);
 | 
			
		||||
        th, td {
 | 
			
		||||
            padding: .5em;
 | 
			
		||||
            border-top: 1px solid var(--main-color);
 | 
			
		||||
            border-left: 1px solid var(--main-color);
 | 
			
		||||
        }
 | 
			
		||||
        th {
 | 
			
		||||
            background-color: var(--hover-bg);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
.post-tags {
 | 
			
		||||
    ul {
 | 
			
		||||
        padding: 0;
 | 
			
		||||
        li {
 | 
			
		||||
            list-style: none;
 | 
			
		||||
            display: inline-block;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main {
 | 
			
		||||
    min-height: 80vh;
 | 
			
		||||
    padding-bottom: 2em;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
.toc {
 | 
			
		||||
    font-weight: normal;
 | 
			
		||||
    ul {
 | 
			
		||||
        padding-left: .5em;
 | 
			
		||||
        li{
 | 
			
		||||
            display: list-item;
 | 
			
		||||
            padding-left: .5em;
 | 
			
		||||
            font-size: 1em;
 | 
			
		||||
            line-height: 1.2em;
 | 
			
		||||
            list-style: none;  
 | 
			
		||||
        }
 | 
			
		||||
    }   
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.badges {
 | 
			
		||||
    padding: 1em;
 | 
			
		||||
    background-color: var(--code-bg-color);
 | 
			
		||||
    img {
 | 
			
		||||
        width: 6em;
 | 
			
		||||
        height: 6em;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										47
									
								
								themes/pico/sass/css/_search.scss
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,47 @@
 | 
			
		|||
#sResults {
 | 
			
		||||
    position: relative;
 | 
			
		||||
  }
 | 
			
		||||
  .search-results {
 | 
			
		||||
    display: none;
 | 
			
		||||
    border-radius: .3em;
 | 
			
		||||
    padding: 0;
 | 
			
		||||
    list-style: none;
 | 
			
		||||
    text-align: left;
 | 
			
		||||
    right: 25em;
 | 
			
		||||
    width: 450px;
 | 
			
		||||
    background-color: var(--bg-color);
 | 
			
		||||
    border: 1px solid var(--hover-color);
 | 
			
		||||
    position: absolute;
 | 
			
		||||
    z-index: 990;
 | 
			
		||||
    opacity: .95;
 | 
			
		||||
    &__items {
 | 
			
		||||
      list-style: none; 
 | 
			
		||||
      z-index: 991;
 | 
			
		||||
    }
 | 
			
		||||
      h4 {
 | 
			
		||||
        padding: 0;
 | 
			
		||||
      }
 | 
			
		||||
      .teaser {
 | 
			
		||||
        font-size: 0.8em;
 | 
			
		||||
      }
 | 
			
		||||
    li {
 | 
			
		||||
      padding: 0;
 | 
			
		||||
      list-style: none;
 | 
			
		||||
      z-index: 998;
 | 
			
		||||
      &:first-of-type {
 | 
			
		||||
        margin-top: 0;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  
 | 
			
		||||
    &__item {
 | 
			
		||||
      list-style: none;
 | 
			
		||||
      display: block;
 | 
			
		||||
      z-index: 999;
 | 
			
		||||
      padding: 1em;
 | 
			
		||||
      border-bottom: 1px solid var(--hover-color);
 | 
			
		||||
  
 | 
			
		||||
      a {
 | 
			
		||||
        display: inline-block;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
							
								
								
									
										33
									
								
								themes/pico/sass/css/_section.scss
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,33 @@
 | 
			
		|||
.reading-time {
 | 
			
		||||
    padding-left: .5em;
 | 
			
		||||
    line-height: 1em;
 | 
			
		||||
    font-size: .9em;
 | 
			
		||||
}
 | 
			
		||||
#catlist, #taglist {
 | 
			
		||||
    ul {
 | 
			
		||||
        list-style: none;
 | 
			
		||||
        li {
 | 
			
		||||
            list-style: none;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
#taglist {
 | 
			
		||||
    font-weight: normal;
 | 
			
		||||
    a:link, a:visited, a:active {
 | 
			
		||||
        text-decoration: none;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
#catlist {
 | 
			
		||||
    b {
 | 
			
		||||
        font-weight: 500;
 | 
			
		||||
    }
 | 
			
		||||
    a:link, a:visited, a:active {
 | 
			
		||||
        text-decoration: none;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
.post-desc {
 | 
			
		||||
    font-weight: 100;
 | 
			
		||||
    font-size: .9em;
 | 
			
		||||
    line-height: 1em;
 | 
			
		||||
    padding-bottom: 1em;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										50
									
								
								themes/pico/sass/css/_skillcards.scss
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,50 @@
 | 
			
		|||
@mixin setSVGIcon($svgs) {
 | 
			
		||||
    @each $svg in $svgs {
 | 
			
		||||
      .skillcard-icon-#{$svg} {
 | 
			
		||||
        mask-image: url('/icons/#{$svg}.svg');
 | 
			
		||||
      }
 | 
			
		||||
    } 
 | 
			
		||||
  }
 | 
			
		||||
@include setSVGIcon(('aws', 'gcp', 'gh', 'git','rack', 'code'));
 | 
			
		||||
 | 
			
		||||
.cards-wrapper {
 | 
			
		||||
    display: grid;
 | 
			
		||||
    // margin: 0 auto;
 | 
			
		||||
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
 | 
			
		||||
    grid-auto-rows: minmax(250px, auto);
 | 
			
		||||
    text-align: center;
 | 
			
		||||
    padding: 0 auto;
 | 
			
		||||
    width: 85%;
 | 
			
		||||
    margin-bottom: 2em;
 | 
			
		||||
}
 | 
			
		||||
.panel {
 | 
			
		||||
    border-top: .2em solid var(--hover-color);
 | 
			
		||||
    margin: .2em;
 | 
			
		||||
    transition: all .5s;
 | 
			
		||||
    display: inline;
 | 
			
		||||
    overflow-y: scroll;
 | 
			
		||||
    max-height: 14em;
 | 
			
		||||
    
 | 
			
		||||
    .skillcard-details {
 | 
			
		||||
        text-align: left;
 | 
			
		||||
        font-size: .9em;
 | 
			
		||||
        ul {
 | 
			
		||||
            // padding: 0;
 | 
			
		||||
            li {
 | 
			
		||||
                // list-style: outside;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    .skillcard-icon {
 | 
			
		||||
        text-align: center;
 | 
			
		||||
        width: 100%;
 | 
			
		||||
        height: 2em;
 | 
			
		||||
        background: var(--main-color);
 | 
			
		||||
        mask-position: center;
 | 
			
		||||
        mask-repeat: no-repeat;
 | 
			
		||||
        mask-size: 75% 75%;
 | 
			
		||||
        padding-top: .5em;
 | 
			
		||||
        padding-bottom: .5em;
 | 
			
		||||
        transition: all .5s;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										70
									
								
								themes/pico/sass/css/_timeline.scss
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,70 @@
 | 
			
		|||
#timeline-content {
 | 
			
		||||
  margin-top: 50px;
 | 
			
		||||
  text-align: center;
 | 
			
		||||
  p {
 | 
			
		||||
    font-size: .8em;
 | 
			
		||||
    font-weight: lighter;
 | 
			
		||||
    h3 {
 | 
			
		||||
      font-size: 1em;
 | 
			
		||||
      font-weight: lighter;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
/* Timeline */
 | 
			
		||||
.timeline {
 | 
			
		||||
  border-left: 4px solid var(--hover-color);
 | 
			
		||||
  border-bottom-right-radius: 4px;
 | 
			
		||||
  border-top-right-radius: 4px;
 | 
			
		||||
  background: var(--code-bg-color);
 | 
			
		||||
  
 | 
			
		||||
  margin: auto;
 | 
			
		||||
  // position: relative;
 | 
			
		||||
  padding: 50px;
 | 
			
		||||
  list-style: none;
 | 
			
		||||
  text-align: left;
 | 
			
		||||
  // font-weight: 400;
 | 
			
		||||
  max-width: 60%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.timeline .event {
 | 
			
		||||
  margin-bottom: 4em;
 | 
			
		||||
  position: relative;
 | 
			
		||||
  list-style: none;
 | 
			
		||||
  line-height: 1.5em;
 | 
			
		||||
  font-size: 1.2em;
 | 
			
		||||
  font-weight: 400;
 | 
			
		||||
  width: 100%;
 | 
			
		||||
  h3 p {
 | 
			
		||||
    line-height: .5em;
 | 
			
		||||
    font-weight:700;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
.timeline .event:last-of-type {
 | 
			
		||||
  padding-bottom: 0;
 | 
			
		||||
  margin-bottom: 0;
 | 
			
		||||
  border: none;
 | 
			
		||||
}
 | 
			
		||||
.timeline .event:before,
 | 
			
		||||
.timeline .event:after {
 | 
			
		||||
  position: absolute;
 | 
			
		||||
  display: block;
 | 
			
		||||
  top: 0;
 | 
			
		||||
}
 | 
			
		||||
.timeline .event:before {
 | 
			
		||||
  left: -8em;
 | 
			
		||||
  line-height: .5em;
 | 
			
		||||
  color: var(--invis-color);
 | 
			
		||||
  content: attr(data-date);
 | 
			
		||||
  ul, li {
 | 
			
		||||
    list-style: none;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
.timeline .event:after {
 | 
			
		||||
  box-shadow: 0 0 0 4px var(--hover-color);
 | 
			
		||||
  left: -2.5em;
 | 
			
		||||
  background: var(--code-bg-color);
 | 
			
		||||
  border-radius: 50%;
 | 
			
		||||
  height: .5em;
 | 
			
		||||
  width: .5em;
 | 
			
		||||
  content: "";
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										53
									
								
								themes/pico/sass/css/_vars.scss
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,53 @@
 | 
			
		|||
* {
 | 
			
		||||
    --font-family: 'Mulish', Halvetica, Arial;
 | 
			
		||||
}
 | 
			
		||||
:root {
 | 
			
		||||
    --co-warning: rgba(255, 145, 0, 0.8);
 | 
			
		||||
    --co-alert: rgb(255, 0, 21);
 | 
			
		||||
    --co-info: rgb(0, 123, 255);
 | 
			
		||||
    
 | 
			
		||||
    --main-color-light: #011627;
 | 
			
		||||
    --bg-color-light: #F4F9E9;
 | 
			
		||||
    --hover-color-light: #FF3366;
 | 
			
		||||
    --hover-bg-light: #e7ebde;
 | 
			
		||||
    --code-bg-color-light: #e2e6d9;
 | 
			
		||||
    --code-fg-color-light: #383a42;
 | 
			
		||||
    --code-kw-color-light: #054865;
 | 
			
		||||
    --code-string-color-light:#448743;
 | 
			
		||||
    --code-comment-color-light:#a9a9a9; 
 | 
			
		||||
 | 
			
		||||
    --main-color-dark: #EEEEEE; 
 | 
			
		||||
    --bg-color-dark: #222831;
 | 
			
		||||
    --hover-color-dark: #369ce4;
 | 
			
		||||
    --hover-bg-dark: #393E46;
 | 
			
		||||
    
 | 
			
		||||
    --code-bg-color-dark: #303947;
 | 
			
		||||
    --code-fg-color-dark: #dcdfe4;
 | 
			
		||||
    --code-kw-color-dark: #9a8240;
 | 
			
		||||
    --code-string-color-dark:#6e8e57;
 | 
			
		||||
    --code-comment-color-dark:#686767;
 | 
			
		||||
}
 | 
			
		||||
[color-theme="light"] {
 | 
			
		||||
    --main-color: var(--main-color-light);
 | 
			
		||||
    --bg-color: var(--bg-color-light);
 | 
			
		||||
    --hover-color: var(--hover-color-light);
 | 
			
		||||
    --hover-bg: var(--hover-bg-light);
 | 
			
		||||
 | 
			
		||||
    --code-bg-color: var(--code-bg-color-light);
 | 
			
		||||
    --code-fg-color: var(--code-fg-color-light);
 | 
			
		||||
    --code-kw-color: var(--code-kw-color-light);
 | 
			
		||||
    --code-string-color: var(--code-string-color-light);
 | 
			
		||||
    --code-comment-color: var(--code-comment-color-light);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
[color-theme="dark"] {   
 | 
			
		||||
    --main-color: var(--main-color-dark);
 | 
			
		||||
    --bg-color: var(--bg-color-dark);
 | 
			
		||||
    --hover-color: var(--hover-color-dark);
 | 
			
		||||
    --hover-bg: var(--hover-bg-dark);
 | 
			
		||||
    --code-bg-color: var(--code-bg-color-dark);
 | 
			
		||||
    --code-fg-color: var(--code-fg-color-dark);
 | 
			
		||||
    --code-kw-color: var(--code-kw-color-dark);
 | 
			
		||||
    --code-string-color: var(--code-string-color-dark);
 | 
			
		||||
    --code-comment-color: var(--code-comment-color-dark);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										124
									
								
								themes/pico/sass/css/grid.scss
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,124 @@
 | 
			
		|||
// SIMPLE GRID - SASS/SCSS
 | 
			
		||||
 | 
			
		||||
// universal
 | 
			
		||||
 | 
			
		||||
html,
 | 
			
		||||
body {
 | 
			
		||||
  height: 100%;
 | 
			
		||||
  width: 100%;
 | 
			
		||||
  margin: 0;
 | 
			
		||||
  padding: 0;
 | 
			
		||||
  left: 0;
 | 
			
		||||
  top: 0;
 | 
			
		||||
  font-size: 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// utility
 | 
			
		||||
 | 
			
		||||
.left {
 | 
			
		||||
  text-align: left;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.right {
 | 
			
		||||
  text-align: right;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.center {
 | 
			
		||||
  text-align: center;
 | 
			
		||||
  margin-left: auto;
 | 
			
		||||
  margin-right: auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.justify {
 | 
			
		||||
  text-align: justify;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.hidden-sm {
 | 
			
		||||
  display: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// grid
 | 
			
		||||
 | 
			
		||||
$width: 96%;
 | 
			
		||||
$gutter: 4%;
 | 
			
		||||
$breakpoint-small: 33.75em; // 540px
 | 
			
		||||
$breakpoint-med: 45em; // 720px
 | 
			
		||||
$breakpoint-large: 60em; // 960px
 | 
			
		||||
 | 
			
		||||
.container {
 | 
			
		||||
  width: 90%;
 | 
			
		||||
  margin-left: auto;
 | 
			
		||||
  margin-right: auto;
 | 
			
		||||
 | 
			
		||||
  @media only screen and (min-width: $breakpoint-small) {
 | 
			
		||||
    width: 80%;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @media only screen and (min-width: $breakpoint-large) {
 | 
			
		||||
    width: 100%;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.row {
 | 
			
		||||
  position: relative;
 | 
			
		||||
  width: 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.row [class^="col"] {
 | 
			
		||||
  float: left;
 | 
			
		||||
  margin: 0.5rem 2%;
 | 
			
		||||
  min-height: 0.125rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.row::after {
 | 
			
		||||
  content: "";
 | 
			
		||||
  display: table;
 | 
			
		||||
  clear: both;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.col-1,
 | 
			
		||||
.col-2,
 | 
			
		||||
.col-3,
 | 
			
		||||
.col-4,
 | 
			
		||||
.col-5,
 | 
			
		||||
.col-6,
 | 
			
		||||
.col-7,
 | 
			
		||||
.col-8,
 | 
			
		||||
.col-9,
 | 
			
		||||
.col-10,
 | 
			
		||||
.col-11,
 | 
			
		||||
.col-12 {
 | 
			
		||||
  width: $width;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.col-1-sm { width:($width / 12) - ($gutter * 11 / 12); }
 | 
			
		||||
.col-2-sm { width: ($width / 6) - ($gutter * 10 / 12); }
 | 
			
		||||
.col-3-sm { width: ($width / 4) - ($gutter * 9 / 12); }
 | 
			
		||||
.col-4-sm { width: ($width / 3) - ($gutter * 8 / 12); }
 | 
			
		||||
.col-5-sm { width: ($width / (12 / 5)) - ($gutter * 7 / 12); }
 | 
			
		||||
.col-6-sm { width: ($width / 2) - ($gutter * 6 / 12); }
 | 
			
		||||
.col-7-sm { width: ($width / (12 / 7)) - ($gutter * 5 / 12); }
 | 
			
		||||
.col-8-sm { width: ($width / (12 / 8)) - ($gutter * 4 / 12); }
 | 
			
		||||
.col-9-sm { width: ($width / (12 / 9)) - ($gutter * 3 / 12); }
 | 
			
		||||
.col-10-sm { width: ($width / (12 / 10)) - ($gutter * 2 / 12); }
 | 
			
		||||
.col-11-sm { width: ($width / (12 / 11)) - ($gutter * 1 / 12); }
 | 
			
		||||
.col-12-sm { width: $width; }
 | 
			
		||||
 | 
			
		||||
@media only screen and (min-width: $breakpoint-med) {
 | 
			
		||||
  .col-1 { width:($width / 12) - ($gutter * 11 / 12); }
 | 
			
		||||
  .col-2 { width: ($width / 6) - ($gutter * 10 / 12); }
 | 
			
		||||
  .col-3 { width: ($width / 4) - ($gutter * 9 / 12); }
 | 
			
		||||
  .col-4 { width: ($width / 3) - ($gutter * 8 / 12); }
 | 
			
		||||
  .col-5 { width: ($width / (12 / 5)) - ($gutter * 7 / 12); }
 | 
			
		||||
  .col-6 { width: ($width / 2) - ($gutter * 6 / 12); }
 | 
			
		||||
  .col-7 { width: ($width / (12 / 7)) - ($gutter * 5 / 12); }
 | 
			
		||||
  .col-8 { width: ($width / (12 / 8)) - ($gutter * 4 / 12); }
 | 
			
		||||
  .col-9 { width: ($width / (12 / 9)) - ($gutter * 3 / 12); }
 | 
			
		||||
  .col-10 { width: ($width / (12 / 10)) - ($gutter * 2 / 12); }
 | 
			
		||||
  .col-11 { width: ($width / (12 / 11)) - ($gutter * 1 / 12); }
 | 
			
		||||
  .col-12 { width: $width; }
 | 
			
		||||
 | 
			
		||||
  .hidden-sm {
 | 
			
		||||
    display: block;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										14
									
								
								themes/pico/sass/css/style.scss
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,14 @@
 | 
			
		|||
@import '_header',
 | 
			
		||||
        '_icons',
 | 
			
		||||
        '_page',
 | 
			
		||||
        '_index',
 | 
			
		||||
        '_vars',
 | 
			
		||||
        '_section',
 | 
			
		||||
        '_common',
 | 
			
		||||
        '_callout',
 | 
			
		||||
        '_code',
 | 
			
		||||
        '_mermaid',
 | 
			
		||||
        '_timeline',
 | 
			
		||||
        '_footer',
 | 
			
		||||
        '_search',
 | 
			
		||||
        '_skillcards';
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								themes/pico/screenshot.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 176 KiB  | 
							
								
								
									
										125
									
								
								themes/pico/static/css/gs_dark.css
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,125 @@
 | 
			
		|||
/*! Modified from GitHub's dark theme in primer/primitives.
 | 
			
		||||
 * MIT License
 | 
			
		||||
 * Copyright (c) 2018 GitHub Inc.
 | 
			
		||||
 * https://github.com/primer/primitives/blob/main/LICENSE
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 main {
 | 
			
		||||
    --color-prettylights-syntax-comment: #8b949e;
 | 
			
		||||
    --color-prettylights-syntax-constant: #79c0ff;
 | 
			
		||||
    --color-prettylights-syntax-entity: #d2a8ff;
 | 
			
		||||
    --color-prettylights-syntax-storage-modifier-import: #c9d1d9;
 | 
			
		||||
    --color-prettylights-syntax-entity-tag: #7ee787;
 | 
			
		||||
    --color-prettylights-syntax-keyword: #ff7b72;
 | 
			
		||||
    --color-prettylights-syntax-string: #a5d6ff;
 | 
			
		||||
    --color-prettylights-syntax-variable: #ffa657;
 | 
			
		||||
    --color-prettylights-syntax-brackethighlighter-unmatched: #f85149;
 | 
			
		||||
    --color-prettylights-syntax-invalid-illegal-text: #f0f6fc;
 | 
			
		||||
    --color-prettylights-syntax-invalid-illegal-bg: #8e1519;
 | 
			
		||||
    --color-prettylights-syntax-carriage-return-text: #f0f6fc;
 | 
			
		||||
    --color-prettylights-syntax-carriage-return-bg: #b62324;
 | 
			
		||||
    --color-prettylights-syntax-string-regexp: #7ee787;
 | 
			
		||||
    --color-prettylights-syntax-markup-list: #f2cc60;
 | 
			
		||||
    --color-prettylights-syntax-markup-heading: #1f6feb;
 | 
			
		||||
    --color-prettylights-syntax-markup-italic: #c9d1d9;
 | 
			
		||||
    --color-prettylights-syntax-markup-bold: #c9d1d9;
 | 
			
		||||
    --color-prettylights-syntax-markup-deleted-text: #ffdcd7;
 | 
			
		||||
    --color-prettylights-syntax-markup-deleted-bg: #67060c;
 | 
			
		||||
    --color-prettylights-syntax-markup-inserted-text: #aff5b4;
 | 
			
		||||
    --color-prettylights-syntax-markup-inserted-bg: #033a16;
 | 
			
		||||
    --color-prettylights-syntax-markup-changed-text: #ffdfb6;
 | 
			
		||||
    --color-prettylights-syntax-markup-changed-bg: #5a1e02;
 | 
			
		||||
    --color-prettylights-syntax-markup-ignored-text: #c9d1d9;
 | 
			
		||||
    --color-prettylights-syntax-markup-ignored-bg: #1158c7;
 | 
			
		||||
    --color-prettylights-syntax-meta-diff-range: #d2a8ff;
 | 
			
		||||
    --color-prettylights-syntax-brackethighlighter-angle: #8b949e;
 | 
			
		||||
    --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;
 | 
			
		||||
    --color-prettylights-syntax-constant-other-reference-link: #a5d6ff;
 | 
			
		||||
    --color-btn-text: #c9d1d9;
 | 
			
		||||
    --color-btn-bg: rgb(45 51 59 / 80%);
 | 
			
		||||
    --color-btn-border: rgb(240 246 252 / 10%);
 | 
			
		||||
    --color-btn-shadow: 0 0 transparent;
 | 
			
		||||
    --color-btn-inset-shadow: 0 0 transparent;
 | 
			
		||||
    --color-btn-hover-bg: rgb(45 51 59 / 50%);
 | 
			
		||||
    --color-btn-hover-border: #8b949e;
 | 
			
		||||
    --color-btn-active-bg: hsl(212deg 12% 18% / 50%);
 | 
			
		||||
    --color-btn-active-border: #6e7681;
 | 
			
		||||
    --color-btn-selected-bg: rgb(45 51 59 / 50%);
 | 
			
		||||
    --color-btn-primary-text: #fff;
 | 
			
		||||
    --color-btn-primary-bg: #238636;
 | 
			
		||||
    --color-btn-primary-border: rgb(240 246 252 / 10%);
 | 
			
		||||
    --color-btn-primary-shadow: 0 0 transparent;
 | 
			
		||||
    --color-btn-primary-inset-shadow: 0 0 transparent;
 | 
			
		||||
    --color-btn-primary-hover-bg: #2ea043;
 | 
			
		||||
    --color-btn-primary-hover-border: rgb(240 246 252 / 10%);
 | 
			
		||||
    --color-btn-primary-selected-bg: #238636;
 | 
			
		||||
    --color-btn-primary-selected-shadow: 0 0 transparent;
 | 
			
		||||
    --color-btn-primary-disabled-text: rgb(240 246 252 / 50%);
 | 
			
		||||
    --color-btn-primary-disabled-bg: rgb(35 134 54 / 60%);
 | 
			
		||||
    --color-btn-primary-disabled-border: rgb(240 246 252 / 10%);
 | 
			
		||||
    --color-action-list-item-default-hover-bg: rgb(144 157 171 / 12%);
 | 
			
		||||
    --color-segmented-control-bg: rgb(99 110 123 / 10%);
 | 
			
		||||
    --color-segmented-control-button-bg: transparent;
 | 
			
		||||
    --color-segmented-control-button-selected-border: #636e7b;
 | 
			
		||||
    --color-fg-default: #c9d1d9;
 | 
			
		||||
    --color-fg-muted: #8b949e;
 | 
			
		||||
    --color-fg-subtle: #484f58;
 | 
			
		||||
    --color-canvas-default: transparent;
 | 
			
		||||
    --color-canvas-overlay: rgb(22 27 34 / 90%);
 | 
			
		||||
    --color-canvas-inset: transparent;
 | 
			
		||||
    --color-canvas-subtle: transparent;
 | 
			
		||||
    --color-border-default: #30363d;
 | 
			
		||||
    --color-border-muted: #21262d;
 | 
			
		||||
    --color-neutral-muted: rgb(110 118 129 / 5%);
 | 
			
		||||
    --color-neutral-subtle: rgb(110 118 129 / 10%);
 | 
			
		||||
    --color-accent-fg: #58a6ff;
 | 
			
		||||
    --color-accent-emphasis: #1f6feb;
 | 
			
		||||
    --color-accent-muted: rgb(56 139 253 / 40%);
 | 
			
		||||
    --color-accent-subtle: rgb(65 132 228 / 10%);
 | 
			
		||||
    --color-success-fg: #3fb950;
 | 
			
		||||
    --color-attention-fg: #c69026;
 | 
			
		||||
    --color-attention-muted: rgb(174 124 20 / 40%);
 | 
			
		||||
    --color-attention-subtle: rgb(174 124 20 / 15%);
 | 
			
		||||
    --color-danger-fg: #f85149;
 | 
			
		||||
    --color-danger-muted: rgb(229 83 75 / 40%);
 | 
			
		||||
    --color-danger-subtle: rgb(229 83 75 / 10%);
 | 
			
		||||
    --color-primer-shadow-inset: 0 0 transparent;
 | 
			
		||||
    --color-scale-gray-7: #21262d;
 | 
			
		||||
    --color-scale-blue-8: #0c2d6b;
 | 
			
		||||
  
 | 
			
		||||
    /*! Extensions from @primer/css/alerts/flash.scss */
 | 
			
		||||
    --color-social-reaction-bg-hover: var(--color-scale-gray-7);
 | 
			
		||||
    --color-social-reaction-bg-reacted-hover: var(--color-scale-blue-8);
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  main .pagination-loader-container {
 | 
			
		||||
    background-image: url("https://github.com/images/modules/pulls/progressive-disclosure-line-dark.svg");
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  .gsc-pagination-button {
 | 
			
		||||
    background-color: var(--color-btn-bg);
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  .gsc-homepage-bg {
 | 
			
		||||
    background: linear-gradient(135deg, #05485c, #032e58, #2f0154);
 | 
			
		||||
    background-size: 600% 600%;
 | 
			
		||||
    animation: gradient 21s ease infinite;
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  @keyframes gradient {
 | 
			
		||||
    0% {
 | 
			
		||||
      background-position: 2% 0%;
 | 
			
		||||
    }
 | 
			
		||||
  
 | 
			
		||||
    50% {
 | 
			
		||||
      background-position: 99% 100%;
 | 
			
		||||
    }
 | 
			
		||||
  
 | 
			
		||||
    100% {
 | 
			
		||||
      background-position: 2% 0%;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  main .gsc-loading-image {
 | 
			
		||||
    background-image: url("https://github.githubassets.com/images/mona-loading-dark.gif");
 | 
			
		||||
  }
 | 
			
		||||
							
								
								
									
										99
									
								
								themes/pico/static/css/gs_light.css
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,99 @@
 | 
			
		|||
/*! MIT License
 | 
			
		||||
 * Copyright (c) 2018 GitHub Inc.
 | 
			
		||||
 * https://github.com/primer/primitives/blob/main/LICENSE
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 main {
 | 
			
		||||
    --color-prettylights-syntax-comment: #6e7781;
 | 
			
		||||
    --color-prettylights-syntax-constant: #0550ae;
 | 
			
		||||
    --color-prettylights-syntax-entity: #8250df;
 | 
			
		||||
    --color-prettylights-syntax-storage-modifier-import: #24292f;
 | 
			
		||||
    --color-prettylights-syntax-entity-tag: #116329;
 | 
			
		||||
    --color-prettylights-syntax-keyword: #cf222e;
 | 
			
		||||
    --color-prettylights-syntax-string: #0a3069;
 | 
			
		||||
    --color-prettylights-syntax-variable: #953800;
 | 
			
		||||
    --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;
 | 
			
		||||
    --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;
 | 
			
		||||
    --color-prettylights-syntax-invalid-illegal-bg: #82071e;
 | 
			
		||||
    --color-prettylights-syntax-carriage-return-text: #f6f8fa;
 | 
			
		||||
    --color-prettylights-syntax-carriage-return-bg: #cf222e;
 | 
			
		||||
    --color-prettylights-syntax-string-regexp: #116329;
 | 
			
		||||
    --color-prettylights-syntax-markup-list: #3b2300;
 | 
			
		||||
    --color-prettylights-syntax-markup-heading: #0550ae;
 | 
			
		||||
    --color-prettylights-syntax-markup-italic: #24292f;
 | 
			
		||||
    --color-prettylights-syntax-markup-bold: #24292f;
 | 
			
		||||
    --color-prettylights-syntax-markup-deleted-text: #82071e;
 | 
			
		||||
    --color-prettylights-syntax-markup-deleted-bg: #ffebe9;
 | 
			
		||||
    --color-prettylights-syntax-markup-inserted-text: #116329;
 | 
			
		||||
    --color-prettylights-syntax-markup-inserted-bg: #dafbe1;
 | 
			
		||||
    --color-prettylights-syntax-markup-changed-text: #953800;
 | 
			
		||||
    --color-prettylights-syntax-markup-changed-bg: #ffd8b5;
 | 
			
		||||
    --color-prettylights-syntax-markup-ignored-text: #eaeef2;
 | 
			
		||||
    --color-prettylights-syntax-markup-ignored-bg: #0550ae;
 | 
			
		||||
    --color-prettylights-syntax-meta-diff-range: #8250df;
 | 
			
		||||
    --color-prettylights-syntax-brackethighlighter-angle: #57606a;
 | 
			
		||||
    --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;
 | 
			
		||||
    --color-prettylights-syntax-constant-other-reference-link: #0a3069;
 | 
			
		||||
    --color-btn-text: #24292f;
 | 
			
		||||
    --color-btn-bg: #f6f8fa;
 | 
			
		||||
    --color-btn-border: rgb(27 31 36 / 15%);
 | 
			
		||||
    --color-btn-shadow: 0 0 transparent;
 | 
			
		||||
    --color-btn-inset-shadow: 0 0 transparent;
 | 
			
		||||
    --color-btn-hover-bg: #f3f4f6;
 | 
			
		||||
    --color-btn-hover-border: rgb(27 31 36 / 15%);
 | 
			
		||||
    --color-btn-active-bg: hsl(220deg 14% 93% / 100%);
 | 
			
		||||
    --color-btn-active-border: rgb(27 31 36 / 15%);
 | 
			
		||||
    --color-btn-selected-bg: hsl(220deg 14% 94% / 100%);
 | 
			
		||||
    --color-btn-primary-text: #fff;
 | 
			
		||||
    --color-btn-primary-bg: #2da44e;
 | 
			
		||||
    --color-btn-primary-border: rgb(27 31 36 / 15%);
 | 
			
		||||
    --color-btn-primary-shadow: 0 0 transparent;
 | 
			
		||||
    --color-btn-primary-inset-shadow: 0 0 transparent;
 | 
			
		||||
    --color-btn-primary-hover-bg: #2c974b;
 | 
			
		||||
    --color-btn-primary-hover-border: rgb(27 31 36 / 15%);
 | 
			
		||||
    --color-btn-primary-selected-bg: hsl(137deg 55% 36% / 100%);
 | 
			
		||||
    --color-btn-primary-selected-shadow: 0 0 transparent;
 | 
			
		||||
    --color-btn-primary-disabled-text: rgb(255 255 255 / 80%);
 | 
			
		||||
    --color-btn-primary-disabled-bg: #94d3a2;
 | 
			
		||||
    --color-btn-primary-disabled-border: rgb(27 31 36 / 15%);
 | 
			
		||||
    --color-segmented-control-button-bg: transparent;
 | 
			
		||||
    --color-fg-default: #24292f;
 | 
			
		||||
    --color-fg-muted: #57606a;
 | 
			
		||||
    --color-fg-subtle: #6e7781;
 | 
			
		||||
    --color-canvas-default: transparent;
 | 
			
		||||
    --color-canvas-overlay: #fff;
 | 
			
		||||
    --color-canvas-inset: transparent;
 | 
			
		||||
    --color-canvas-subtle: transparent;
 | 
			
		||||
    --color-border-default: #adb4b9;
 | 
			
		||||
    --color-border-muted: hsl(210deg 18% 87% / 100%);
 | 
			
		||||
    --color-neutral-muted: rgb(175 184 193 / 20%);
 | 
			
		||||
    --color-accent-fg: #0969da;
 | 
			
		||||
    --color-accent-emphasis: #0969da;
 | 
			
		||||
    --color-accent-muted: rgb(130, 136, 141);
 | 
			
		||||
    --color-accent-subtle: #ddf4ff;
 | 
			
		||||
    --color-success-fg: #1a7f37;
 | 
			
		||||
    --color-attention-fg: #9a6700;
 | 
			
		||||
    --color-attention-muted: rgb(212 167 44 / 40%);
 | 
			
		||||
    --color-attention-subtle: #fff8c5;
 | 
			
		||||
    --color-danger-fg: #cf222e;
 | 
			
		||||
    --color-danger-muted: rgb(255 129 130 / 40%);
 | 
			
		||||
    --color-danger-subtle: #ffebe9;
 | 
			
		||||
    --color-primer-shadow-inset: 0 0 transparent;
 | 
			
		||||
    --color-primer-shadow-focus: 0 0 0 3px rgb(9 105 218 / 30%);
 | 
			
		||||
    --color-scale-gray-1: #eaeef2;
 | 
			
		||||
    --color-scale-blue-1: #b6e3ff;
 | 
			
		||||
  
 | 
			
		||||
    /*! Extensions from @primer/css/alerts/flash.scss */
 | 
			
		||||
    --color-social-reaction-bg-hover: var(--color-scale-gray-1);
 | 
			
		||||
    --color-social-reaction-bg-reacted-hover: var(--color-scale-blue-1);
 | 
			
		||||
  
 | 
			
		||||
    color-scheme: light;
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  main .pagination-loader-container {
 | 
			
		||||
    background-image: url("https://github.com/images/modules/pulls/progressive-disclosure-line.svg");
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  main .gsc-loading-image {
 | 
			
		||||
    background-image: url("https://github.githubassets.com/images/mona-loading-default.gif");
 | 
			
		||||
  }
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								themes/pico/static/fonts/mulish-italic.ttf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								themes/pico/static/fonts/mulish.ttf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								themes/pico/static/fonts/urbanist.ttf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										1
									
								
								themes/pico/static/icons/close.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm175 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"/></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 513 B  | 
							
								
								
									
										5
									
								
								themes/pico/static/icons/copied.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
 | 
			
		||||
  <path fill-rule="evenodd" d="M10.854 7.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708 0"/>
 | 
			
		||||
  <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1z"/>
 | 
			
		||||
  <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0z"/>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 580 B  | 
							
								
								
									
										4
									
								
								themes/pico/static/icons/copy.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
 | 
			
		||||
  <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1z"/>
 | 
			
		||||
  <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0z"/>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 421 B  | 
							
								
								
									
										1
									
								
								themes/pico/static/icons/dark.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6m0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8M8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0m0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13m8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5M3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8m10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0m-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0m9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707M4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708"/></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 741 B  | 
							
								
								
									
										3
									
								
								themes/pico/static/icons/fb.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
 | 
			
		||||
<path d="M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951"/>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 367 B  | 
							
								
								
									
										1
									
								
								themes/pico/static/icons/gh.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27s1.36.09 2 .27c1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8"/></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 640 B  | 
							
								
								
									
										1
									
								
								themes/pico/static/icons/light.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M6 .278a.77.77 0 0 1 .08.858 7.2 7.2 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277q.792-.001 1.533-.16a.79.79 0 0 1 .81.316.73.73 0 0 1-.031.893A8.35 8.35 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.75.75 0 0 1 6 .278M4.858 1.311A7.27 7.27 0 0 0 1.025 7.71c0 4.02 3.279 7.276 7.319 7.276a7.32 7.32 0 0 0 5.205-2.162q-.506.063-1.029.063c-4.61 0-8.343-3.714-8.343-8.29 0-1.167.242-2.278.681-3.286"/></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 500 B  | 
							
								
								
									
										3
									
								
								themes/pico/static/icons/linkedin.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
 | 
			
		||||
<path d="M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854zm4.943 12.248V6.169H2.542v7.225zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248S2.4 3.226 2.4 3.934c0 .694.521 1.248 1.327 1.248zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016l.016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225z"/>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 598 B  | 
							
								
								
									
										1
									
								
								themes/pico/static/icons/search.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"/></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 312 B  | 
							
								
								
									
										3
									
								
								themes/pico/static/icons/tg.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
 | 
			
		||||
                <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M8.287 5.906q-1.168.486-4.666 2.01-.567.225-.595.442c-.03.243.275.339.69.47l.175.055c.408.133.958.288 1.243.294q.39.01.868-.32 3.269-2.206 3.374-2.23c.05-.012.12-.026.166.016s.042.12.037.141c-.03.129-1.227 1.241-1.846 1.817-.193.18-.33.307-.358.336a8 8 0 0 1-.188.186c-.38.366-.664.64.015 1.088.327.216.589.393.85.571.284.194.568.387.936.629q.14.092.27.187c.331.236.63.448.997.414.214-.02.435-.22.547-.82.265-1.417.786-4.486.906-5.751a1.4 1.4 0 0 0-.013-.315.34.34 0 0 0-.114-.217.53.53 0 0 0-.31-.093c-.3.005-.763.166-2.984 1.09"/>
 | 
			
		||||
              </svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 673 B  | 
							
								
								
									
										1
									
								
								themes/pico/static/icons/time.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71z"/><path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m7-8A7 7 0 1 1 1 8a7 7 0 0 1 14 0"/></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 235 B  | 
							
								
								
									
										3
									
								
								themes/pico/static/icons/wa.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
 | 
			
		||||
                <path d="M13.601 2.326A7.85 7.85 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.9 7.9 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.9 7.9 0 0 0 13.6 2.326zM7.994 14.521a6.6 6.6 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.56 6.56 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592m3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.73.73 0 0 0-.529.247c-.182.198-.691.677-.691 1.654s.71 1.916.81 2.049c.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058 1.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232"/>
 | 
			
		||||
              </svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								themes/pico/static/images/avatar.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 40 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								themes/pico/static/images/favicon.webp
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 208 B  | 
							
								
								
									
										17
									
								
								themes/pico/static/js/codecopy.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,17 @@
 | 
			
		|||
function enableCopy() {
 | 
			
		||||
    document.querySelectorAll('pre:not(.mermaid)').forEach(node => {
 | 
			
		||||
      let copyBtn = document.createElement("span");
 | 
			
		||||
      copyBtn.classList.add('copybutton');
 | 
			
		||||
      copyBtn.classList.add('icon');
 | 
			
		||||
      copyBtn.classList.add('icon-copy');
 | 
			
		||||
        node.appendChild(copyBtn);
 | 
			
		||||
        copyBtn.addEventListener("click", async () => {
 | 
			
		||||
          if (navigator.clipboard) {
 | 
			
		||||
            let text = node.querySelectorAll('code')[0].innerText;
 | 
			
		||||
            await navigator.clipboard.writeText(text);
 | 
			
		||||
            copyBtn.classList.add('clicked');
 | 
			
		||||
          }
 | 
			
		||||
    setTimeout(() => copyBtn.classList.remove('clicked'), 600);
 | 
			
		||||
  })   
 | 
			
		||||
 })
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										105
									
								
								themes/pico/static/js/colortheme.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,105 @@
 | 
			
		|||
const cIcon = document.getElementById('cIcon');
 | 
			
		||||
mmdElements = document.getElementsByClassName('mermaid');
 | 
			
		||||
const mmdHTML = [];
 | 
			
		||||
for (let i = 0; i < mmdElements.length; i++) {
 | 
			
		||||
    mmdHTML[i] = mmdElements[i].innerHTML;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function mermaidRender(theme) {
 | 
			
		||||
    if ( theme == 'dark' ) {
 | 
			
		||||
        initOptions = {  
 | 
			
		||||
            startOnLoad: false, 
 | 
			
		||||
            theme: 'dark'
 | 
			
		||||
        } 
 | 
			
		||||
    } 
 | 
			
		||||
    else {
 | 
			
		||||
        initOptions = {  
 | 
			
		||||
            startOnLoad: false,
 | 
			
		||||
            theme: 'neutral' 
 | 
			
		||||
            }   
 | 
			
		||||
    }
 | 
			
		||||
    for (let i = 0; i < mmdElements.length; i++) {
 | 
			
		||||
        delete mmdElements[i].dataset.processed;
 | 
			
		||||
        mmdElements[i].innerHTML = mmdHTML[i];
 | 
			
		||||
    }
 | 
			
		||||
    mermaid.initialize(initOptions);
 | 
			
		||||
    mermaid.run();
 | 
			
		||||
}
 | 
			
		||||
function giscusRender(theme) {
 | 
			
		||||
    if (document.head.dataset['commentsEnabled'] == 'true'){  
 | 
			
		||||
        baseUrl = document.head.dataset['baseUrl'];
 | 
			
		||||
        themes = {
 | 
			
		||||
            "dark": `${baseUrl}css/gs_dark.css`,
 | 
			
		||||
            "light":`${baseUrl}css/gs_light.css`
 | 
			
		||||
        }
 | 
			
		||||
        giscus = document.getElementById('giscusScript');
 | 
			
		||||
        if (giscus){
 | 
			
		||||
            giscus.remove();
 | 
			
		||||
        }
 | 
			
		||||
        let js = document.createElement('script');
 | 
			
		||||
        js.setAttribute("id", 'giscusScript');
 | 
			
		||||
        js.setAttribute("src", document.head.dataset['giscusSrc']);
 | 
			
		||||
        js.setAttribute("data-repo", document.head.dataset['giscusRepo']);
 | 
			
		||||
        js.setAttribute("data-repo-id", document.head.dataset['giscusRepoId']);
 | 
			
		||||
        js.setAttribute("data-category", document.head.dataset['giscusCategory']);
 | 
			
		||||
        js.setAttribute("data-category-id", document.head.dataset['giscusCategoryId']);
 | 
			
		||||
        js.setAttribute("data-mapping", document.head.dataset['giscusMapping']);
 | 
			
		||||
        js.setAttribute("data-strict",document.head.dataset['giscusStrict']);
 | 
			
		||||
        js.setAttribute("data-reactions-enabled",document.head.dataset['giscusReactionsEnabled']);
 | 
			
		||||
        js.setAttribute("data-emit-metadata", document.head.dataset['giscusEmitMetadata']);
 | 
			
		||||
        js.setAttribute("data-input-position", document.head.dataset['giscusInputPosition']);
 | 
			
		||||
        js.setAttribute("data-theme", themes[theme]);
 | 
			
		||||
        js.setAttribute("data-lang", document.head.dataset['giscusLang']);
 | 
			
		||||
        js.setAttribute("crossorigin", document.head.dataset['giscusCrossorigin']);
 | 
			
		||||
        js.setAttribute("nonce", document.head.dataset['giscusNonce']);
 | 
			
		||||
        js.async = true;
 | 
			
		||||
        commentsBase = document.getElementById('giscusWidget').appendChild(js);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function setStartTheme(){
 | 
			
		||||
    let targetColorTheme = '';
 | 
			
		||||
    let currentTheme = localStorage.getItem('color-theme');
 | 
			
		||||
    if (currentTheme != null) {
 | 
			
		||||
        targetColorTheme = currentTheme
 | 
			
		||||
    } else { 
 | 
			
		||||
        const darkThemeMq = window.matchMedia("(prefers-color-scheme: dark)");
 | 
			
		||||
        if (darkThemeMq.matches) {
 | 
			
		||||
            targetColorTheme = 'dark';
 | 
			
		||||
            // opposite = 'light';
 | 
			
		||||
        } else {
 | 
			
		||||
            targetColorTheme = 'light';
 | 
			
		||||
            // opposite = 'dark';
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    cIcon.classList.remove('icon-'+currentTheme);
 | 
			
		||||
    cIcon.classList.add('icon-'+targetColorTheme);
 | 
			
		||||
    document.head.dataset.colorTheme = targetColorTheme;
 | 
			
		||||
    document.documentElement.setAttribute('color-theme', targetColorTheme);
 | 
			
		||||
    localStorage.setItem('color-theme',targetColorTheme);
 | 
			
		||||
    giscusRender(targetColorTheme);
 | 
			
		||||
    mermaidRender(targetColorTheme);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
function switchTheme() {
 | 
			
		||||
    currentTheme = document.documentElement.getAttribute('color-theme')
 | 
			
		||||
    if (currentTheme == 'dark') {
 | 
			
		||||
        targetColorTheme = 'light';
 | 
			
		||||
    }
 | 
			
		||||
    if ( currentTheme == 'light') {
 | 
			
		||||
        targetColorTheme = 'dark';
 | 
			
		||||
    }
 | 
			
		||||
    cIcon.classList.remove('icon-'+currentTheme);
 | 
			
		||||
    cIcon.classList.add('icon-'+targetColorTheme);
 | 
			
		||||
    document.documentElement.setAttribute('color-theme', targetColorTheme);
 | 
			
		||||
    document.head.dataset.colorTheme = targetColorTheme;
 | 
			
		||||
    localStorage.setItem('color-theme',targetColorTheme);
 | 
			
		||||
    giscusRender(targetColorTheme)
 | 
			
		||||
    mermaidRender(targetColorTheme)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
document.getElementById("cIcon").addEventListener("click", switchTheme);
 | 
			
		||||
							
								
								
									
										8
									
								
								themes/pico/static/js/init.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
document.addEventListener("DOMContentLoaded", function(event){
 | 
			
		||||
    setStartTheme();
 | 
			
		||||
    enableCopy();
 | 
			
		||||
    if (document.head.dataset['buildSearchIndex'] == "true") {
 | 
			
		||||
      initSearch();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  });
 | 
			
		||||
							
								
								
									
										1759
									
								
								themes/pico/static/js/mermaid.min.js
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										202
									
								
								themes/pico/static/js/search.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,202 @@
 | 
			
		|||
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);
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function makeTeaser(body, terms) {
 | 
			
		||||
  var TERM_WEIGHT = 40;
 | 
			
		||||
  var NORMAL_WORD_WEIGHT = 2;
 | 
			
		||||
  var FIRST_WORD_WEIGHT = 8;
 | 
			
		||||
  var TEASER_MAX_WORDS = 20;
 | 
			
		||||
 | 
			
		||||
  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 <em/> around search terms
 | 
			
		||||
    if (word[1] === TERM_WEIGHT) {
 | 
			
		||||
      teaser.push("<b>");
 | 
			
		||||
    }
 | 
			
		||||
    startIndex = word[2] + word[0].length;
 | 
			
		||||
    teaser.push(body.substring(word[2], startIndex));
 | 
			
		||||
 | 
			
		||||
    if (word[1] === TERM_WEIGHT) {
 | 
			
		||||
      teaser.push("</b>");
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  teaser.push("…");
 | 
			
		||||
  return teaser.join("");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function formatSearchResultItem(item, terms) {
 | 
			
		||||
  return '<div class="search-results__item">'
 | 
			
		||||
  + `<h4><a href="${item.ref}">${item.doc.title}</a></h4>`
 | 
			
		||||
  + `<div class="teaser">${makeTeaser(item.doc.body, terms)}</div>`
 | 
			
		||||
  + '</div>';
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function initSearch() {
 | 
			
		||||
  var $searchInput = document.getElementById("searchInput");
 | 
			
		||||
  var $searchResults = document.getElementById('sResults');
 | 
			
		||||
  var $searchResultsItems = document.getElementById('sResultsUL')
 | 
			
		||||
  var MAX_ITEMS = 5;
 | 
			
		||||
 | 
			
		||||
  var options = {
 | 
			
		||||
    bool: "AND",
 | 
			
		||||
    fields: {
 | 
			
		||||
      title: {boost: 2},
 | 
			
		||||
      body: {boost: 1},
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
  var currentTerm = "";
 | 
			
		||||
  var index;
 | 
			
		||||
  
 | 
			
		||||
  var initIndex = async function () {
 | 
			
		||||
    if (index === undefined) {
 | 
			
		||||
      let $baseUrl = document.head.dataset['baseUrl']
 | 
			
		||||
      index = fetch($baseUrl + "search_index.en.json")
 | 
			
		||||
        .then(
 | 
			
		||||
          async function(response) {
 | 
			
		||||
            return await elasticlunr.Index.load(await response.json());
 | 
			
		||||
        }
 | 
			
		||||
      );
 | 
			
		||||
    }
 | 
			
		||||
    let res = await index;
 | 
			
		||||
    return res;
 | 
			
		||||
    
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  $searchInput.addEventListener("keyup", debounce(async function() {
 | 
			
		||||
    if ($searchInput.value != '') {
 | 
			
		||||
      $searchInput.classList.add("textIn")
 | 
			
		||||
    } else {
 | 
			
		||||
      $searchInput.classList.remove("textIn")
 | 
			
		||||
    }
 | 
			
		||||
    var term = $searchInput.value.trim();
 | 
			
		||||
    if (term === currentTerm) {
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
    $searchResults.style.display = term === "" ? "none" : "block";
 | 
			
		||||
    $searchResultsItems.innerHTML = "";
 | 
			
		||||
    $searchResults.style.top = `${document.documentElement.scrollTop}px`;
 | 
			
		||||
    $searchResultsItems.style.display="block";
 | 
			
		||||
    $searchResultsItems.style.transition="opacity 3s";
 | 
			
		||||
    
 | 
			
		||||
    currentTerm = term;
 | 
			
		||||
    if (term === "") {
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    var results = (await initIndex()).search(term, options);
 | 
			
		||||
    if (results.length === 0) {
 | 
			
		||||
      $searchResults.style.display = "none";
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
    var item = document.createElement("li");
 | 
			
		||||
    clSearch = `<span class="closeBtn icon icon-close" onclick="closeSearchResults();"></span>`
 | 
			
		||||
    item.innerHTML = clSearch;
 | 
			
		||||
    $searchResultsItems.appendChild(item);
 | 
			
		||||
 | 
			
		||||
    for (var i = 0; i < Math.min(results.length, MAX_ITEMS); i++) {
 | 
			
		||||
      var item = document.createElement("li");
 | 
			
		||||
      item.innerHTML = formatSearchResultItem(results[i], term.split(" "));
 | 
			
		||||
      $searchResultsItems.appendChild(item);
 | 
			
		||||
    }
 | 
			
		||||
  }, 150));
 | 
			
		||||
 | 
			
		||||
  window.addEventListener('click', function(e) {
 | 
			
		||||
    if ($searchResults.style.display == "block" && !$searchResults.contains(e.target)) {
 | 
			
		||||
      $searchResults.style.display = "block";
 | 
			
		||||
    }
 | 
			
		||||
  });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function closeSearchResults() {
 | 
			
		||||
  document.getElementById("sResults").style.display="none";
 | 
			
		||||
  document.getElementById("searchInput").value="";
 | 
			
		||||
  document.getElementById("searchInput").classList.remove("textIn");
 | 
			
		||||
  initSearch;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										14
									
								
								themes/pico/templates/404.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,14 @@
 | 
			
		|||
<div class="row">
 | 
			
		||||
  <div class="col-12 center">
 | 
			
		||||
    <h1>Ooops! 404!</h1>
 | 
			
		||||
  </div>
 | 
			
		||||
</div>
 | 
			
		||||
<div class="row">
 | 
			
		||||
  <div class="col-2"></div>
 | 
			
		||||
  <div class="col-8 center">
 | 
			
		||||
    <div id="indextext" >
 | 
			
		||||
     <p>Something is definetly went wrong, as you tried to reach page that doesn't exist here. Try to start from the <a href="{{ config.base_url }}">beginning</a></p>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										60
									
								
								themes/pico/templates/base.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,60 @@
 | 
			
		|||
{% set cdn_version = now() | date(format="%d%m%Y%H%M%S") %}
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html lang="en">
 | 
			
		||||
<head
 | 
			
		||||
  data-base-url="{{config.base_url | safe }}"
 | 
			
		||||
  data-giscus-repo="{{config.extra.giscus.data_repo | safe}}"
 | 
			
		||||
  data-giscus-repo-id="{{config.extra.giscus.data_repo_id | safe}}"
 | 
			
		||||
  data-giscus-category="{{config.extra.giscus.data_category | safe}}"
 | 
			
		||||
  data-giscus-category-id="{{config.extra.giscus.data_category_id | safe}}"
 | 
			
		||||
  data-giscus-mapping="{{config.extra.giscus.data_mapping | safe}}"
 | 
			
		||||
  data-giscus-strict="{{config.extra.giscus.data_strict | safe}}"
 | 
			
		||||
  data-giscus-reactions-enabled="{{config.extra.giscus.data_reactions_enabled | safe}}"
 | 
			
		||||
  data-giscus-emit-metadata="{{config.extra.giscus.data_emit_metadata | safe}}"
 | 
			
		||||
  data-giscus-input-position="{{config.extra.giscus.data_input_position | safe}}"
 | 
			
		||||
  data-giscus-lang="{{config.extra.giscus.data_lang | safe}}"
 | 
			
		||||
  data-giscus-crossorigin="{{config.extra.giscus.crossorigin | safe}}"
 | 
			
		||||
  data-giscus-nonce="{{config.extra.nonce | safe}}"
 | 
			
		||||
  data-giscus-src="{{config.extra.giscus.src | safe}}"
 | 
			
		||||
  data-build-search-index="{{config.build_search_index | safe}}"
 | 
			
		||||
  data-comments-enabled="{%- if page.extra.show_comments -%}true{%- else -%}false{%- endif -%}">
 | 
			
		||||
  <meta charset="utf-8">
 | 
			
		||||
  <title>
 | 
			
		||||
    {%- if page.title -%} {{ page.title }}
 | 
			
		||||
    {%- elif section.title -%} {{ section.title }} 
 | 
			
		||||
    {%- endif -%}
 | 
			
		||||
  </title>
 | 
			
		||||
{% if dsc is not defined %}
 | 
			
		||||
  <meta name="description" content="{{ config.extra.description }}">  
 | 
			
		||||
{% else %}
 | 
			
		||||
  <meta name="description" content="{{ dsc }}">
 | 
			
		||||
  <meta name="viewport" content="width=device-width, initial-scale=1">
 | 
			
		||||
{% endif %}
 | 
			
		||||
  <meta name="author" content="{{config.extra.author}}">
 | 
			
		||||
  {% if page.extra.keywords is defined %}<meta name="keywords" content="{{ page.extra.keywords }}">{% endif %}
 | 
			
		||||
  <link type="text/css" rel="stylesheet" href="{{config.base_url | safe }}css/grid.css?v={{ cdn_version }}">
 | 
			
		||||
  <link type="text/css" rel="stylesheet" href="{{config.base_url | safe }}css/style.css?v={{ cdn_version }}">
 | 
			
		||||
  <link rel="icon" type="image/png" href="{{config.base_url | safe }}images/favicon.webp">
 | 
			
		||||
  <link rel="mask-icon" type="image/png" href="{{config.base_url | safe }}images/favicon.webp">
 | 
			
		||||
  {% if config.extra.stats and config.mode != 'serve' %}
 | 
			
		||||
  <script async src="{{config.extra.stats.script_src}}" data-website-id="{{config.extra.stats.site_id}}" nonce="{{config.extra.nonce}}"></script>
 | 
			
		||||
  {% endif %}
 | 
			
		||||
  <script src = "{{config.base_url | safe }}js/codecopy.js?v={{ cdn_version }}" nonce="{{config.extra.nonce}}"></script>
 | 
			
		||||
  <script src="{{config.base_url | safe }}js/mermaid.min.js?v={{ cdn_version }}" nonce="{{config.extra.nonce}}"></script>
 | 
			
		||||
  {%- if config.build_search_index -%}
 | 
			
		||||
  <script src="{{config.base_url | safe }}elasticlunr.min.js?v={{ cdn_version }}" nonce="{{config.extra.nonce}}"></script>
 | 
			
		||||
  <script src="{{config.base_url | safe }}js/search.js?v={{ cdn_version }}" nonce="{{config.extra.nonce}}"></script>
 | 
			
		||||
  {%- endif -%}
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
{% include 'header.html' %}
 | 
			
		||||
<main>
 | 
			
		||||
  <div class="container" id="main-container">
 | 
			
		||||
        {% block content %} {% endblock %}
 | 
			
		||||
  </div>
 | 
			
		||||
</main>
 | 
			
		||||
{% include 'footer.html' %}
 | 
			
		||||
<script src = "{{config.base_url | safe }}js/colortheme.js?v={{ cdn_version }}" nonce="{{config.extra.nonce}}"></script>
 | 
			
		||||
<script src = "{{config.base_url | safe }}js/init.js?v={{ cdn_version }}" nonce="{{config.extra.nonce}}"></script>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
							
								
								
									
										7
									
								
								themes/pico/templates/comments.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
{% if page.extra.show_comments %}
 | 
			
		||||
  <div class="row">
 | 
			
		||||
    <div class="col-2"></div>
 | 
			
		||||
    <div class="col-8" id="giscusWidget">
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
  {% endif %}
 | 
			
		||||
							
								
								
									
										18
									
								
								themes/pico/templates/footer.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,18 @@
 | 
			
		|||
{% block footer %}
 | 
			
		||||
{% if page.extra.show_copyright or section.extra.show_copyright or term is defined %}
 | 
			
		||||
{%- set YEAR = now() | date(format="%Y") -%}
 | 
			
		||||
<footer class="row">
 | 
			
		||||
    <div class="col-2"></div>
 | 
			
		||||
    <div class="col-8" id="footer-wrapper">
 | 
			
		||||
        <div class="footer-text">{{ config.extra.copyright_string | replace (from="%YEAR%", to=YEAR) | markdown | safe }}</div>
 | 
			
		||||
        {% if config.extra.footer.icons.github %}
 | 
			
		||||
        <div class="footer-icons"><a href="{{config.extra.footer.icons.github}}" class="icon footer icon-gh"></a></div>
 | 
			
		||||
        {% endif %}
 | 
			
		||||
        {% if config.extra.footer.icons.linkedin %}
 | 
			
		||||
        <div class="footer-icons"><a href="{{config.extra.footer.icons.linkedin}}" class="icon footer icon-linkedin"></a></div>
 | 
			
		||||
        {% endif %}
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="col-2"></div>
 | 
			
		||||
</footer>
 | 
			
		||||
{% endif %}
 | 
			
		||||
{% endblock footer %}
 | 
			
		||||
							
								
								
									
										36
									
								
								themes/pico/templates/header.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,36 @@
 | 
			
		|||
{% block header %}
 | 
			
		||||
<header>
 | 
			
		||||
  <div class="container" id="header-container">
 | 
			
		||||
    <div class="row">
 | 
			
		||||
      <div class="col-2"></div>
 | 
			
		||||
      <div class="col-8" id="top">
 | 
			
		||||
        <div id="menu">
 | 
			
		||||
          <ul>
 | 
			
		||||
          {% for menuitem in config.extra.top_menu %}
 | 
			
		||||
            <li><a href="{% if menuitem == config.extra.index_page %}{{config.base_url | safe }}{% else %}{{config.base_url | safe }}{{ menuitem }}{% endif %}" class="{% if menuitem in current_url and menuitem != '/' %} active{% elif menuitem == config.extra.index_page and current_url == config.base_url %} active{% endif %}">{{ menuitem }}</a></li>
 | 
			
		||||
          {% endfor %}
 | 
			
		||||
          </ul>
 | 
			
		||||
        </div>
 | 
			
		||||
        {%- if config.build_search_index -%}
 | 
			
		||||
        <div id="searchBox">  
 | 
			
		||||
          <span class="icon icon-search head"></span>
 | 
			
		||||
          <input id="searchInput" name="search">
 | 
			
		||||
        </div>
 | 
			
		||||
        {%- endif -%}
 | 
			
		||||
        <span id="cIcon" class="icon head"></span>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="col-2"></div>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
</header>
 | 
			
		||||
{%- if config.build_search_index -%}
 | 
			
		||||
    <div class="row">
 | 
			
		||||
      <div class="col-12">
 | 
			
		||||
          <div id="sResults">
 | 
			
		||||
            <ul id="sResultsUL" class="search-results">
 | 
			
		||||
            </ul>
 | 
			
		||||
          </div>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
  {%- endif -%}
 | 
			
		||||
{% endblock header %}
 | 
			
		||||
							
								
								
									
										21
									
								
								themes/pico/templates/index.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,21 @@
 | 
			
		|||
{% extends "base.html" %}
 | 
			
		||||
{% block content %}
 | 
			
		||||
<div class="row content" id="flexbox">
 | 
			
		||||
  <div class="col-2"></div>
 | 
			
		||||
  <div class="col-5 content" id="index-text">
 | 
			
		||||
    <h1 class="center">
 | 
			
		||||
      About
 | 
			
		||||
     </h1>
 | 
			
		||||
    {% if section.content %} {{ section.content | safe }} 
 | 
			
		||||
    {% elif page.content %}
 | 
			
		||||
    {{ page.content }}
 | 
			
		||||
    {% endif %}
 | 
			
		||||
  </div>
 | 
			
		||||
  <div class="col-3">
 | 
			
		||||
    <div id = "index-image">
 | 
			
		||||
      <img src="{{config.base_url}}{{ config.extra.avatar_src }}" alt="avatar" class="avatar">
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
</div> 
 | 
			
		||||
{% endblock %}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										72
									
								
								themes/pico/templates/page.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,72 @@
 | 
			
		|||
{% extends "base.html" %}
 | 
			
		||||
{% block content %}
 | 
			
		||||
  <div class="row">
 | 
			
		||||
    <div class="col-2"></div>
 | 
			
		||||
    <div class="col-8 content">
 | 
			
		||||
      <h1 class="center">
 | 
			
		||||
        {%- if page.title -%}{{ page.title | safe }}
 | 
			
		||||
        {%- elif section.title -%}{{ section.title | safe }}
 | 
			
		||||
        {%- endif -%}
 | 
			
		||||
       </h1>
 | 
			
		||||
      {% if page.extras.show_date %}
 | 
			
		||||
      <h6>{{ page.date | date(format="%e %b %Y") }}</h6>
 | 
			
		||||
      {% endif %}
 | 
			
		||||
      <span class="post-tags">
 | 
			
		||||
        <ul>
 | 
			
		||||
          {% if page.taxonomies.tags %}
 | 
			
		||||
              {% for tag in page.taxonomies.tags %}
 | 
			
		||||
          <li><a href="{{ get_taxonomy_url(kind='tags', name=tag) | safe }}" class="singlepost-tags">#{{ tag }}</a> </li>
 | 
			
		||||
              {% endfor %}
 | 
			
		||||
            {% endif %}
 | 
			
		||||
        </ul>
 | 
			
		||||
      </span>
 | 
			
		||||
      {%- if post.description -%}<div class="fullpost-desc">
 | 
			
		||||
        <blockquote>{{ page.description }}</blockquote>
 | 
			
		||||
      </div>{%- endif -%}
 | 
			
		||||
      <div>
 | 
			
		||||
    {% if page.toc and page.extra.show_toc %}
 | 
			
		||||
    <details>
 | 
			
		||||
      <summary><span class="toc-header">Contents</span></summary>
 | 
			
		||||
      <ul class="toc">
 | 
			
		||||
      {% for h1 in page.toc %}
 | 
			
		||||
        <li class="toc"><a href="{{ h1.permalink | safe }}">{{ h1.title }}</a>
 | 
			
		||||
          {% if h1.children %}
 | 
			
		||||
          <ul class="toc">
 | 
			
		||||
          {% for h2 in h1.children %}
 | 
			
		||||
            <li class="toc"><a href="{{ h2.permalink | safe }}">{{ h2.title }}</a></li>
 | 
			
		||||
              {% if h2.children %}
 | 
			
		||||
            <ul class="toc">
 | 
			
		||||
                {% for h3 in h2.children %}
 | 
			
		||||
              <li class="toc"><a href="{{ h3.permalink | safe }}">{{ h3.title }}</a></li>
 | 
			
		||||
                {% endfor %}
 | 
			
		||||
            </ul>
 | 
			
		||||
            {% endif %}
 | 
			
		||||
          {% endfor %}
 | 
			
		||||
      </ul>
 | 
			
		||||
        {% endif %}
 | 
			
		||||
      </li>
 | 
			
		||||
    {% endfor %}
 | 
			
		||||
    </ul>
 | 
			
		||||
    </details>    
 | 
			
		||||
          {% endif %}
 | 
			
		||||
          {%- if page.content -%}
 | 
			
		||||
          {{ page.content | safe }}
 | 
			
		||||
          {%- elif secion.content -%}
 | 
			
		||||
          {{ section.content | safe }}
 | 
			
		||||
          {%- endif -%}
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="col-2"></div>
 | 
			
		||||
  </div>
 | 
			
		||||
  <div class="row postnav">
 | 
			
		||||
    <div class="col-2"></div>
 | 
			
		||||
    <div class="col-8">
 | 
			
		||||
      <div class="col-6 left">{% if page.higher %}<a class="postnav" href="{{page.higher.permalink | safe}}">← {{page.higher.title}}</a>{% endif %}</div>
 | 
			
		||||
      <div class="col-6 right">{% if page.lower %}<a class="postnav" href="{{page.lower.permalink | safe}}">{{page.lower.title}} →</a>{% endif %}</div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="col-2"></div>
 | 
			
		||||
  </div>
 | 
			
		||||
  </div>
 | 
			
		||||
  {% include "shares.html" %}
 | 
			
		||||
  {% include "comments.html" %}
 | 
			
		||||
{% endblock %}
 | 
			
		||||
							
								
								
									
										41
									
								
								themes/pico/templates/section.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,41 @@
 | 
			
		|||
{% extends "base.html" %}
 | 
			
		||||
{% block content %}
 | 
			
		||||
<div class="row content">
 | 
			
		||||
  <div class="col-2"></div>
 | 
			
		||||
  <div class="col-6 content" id="catlist">
 | 
			
		||||
    <h1 class="center">{{ section.title }}</h1>
 | 
			
		||||
    <ul>
 | 
			
		||||
      {% for post in paginator.pages %}
 | 
			
		||||
      <li><b><a href="{{ post.permalink | safe }}">
 | 
			
		||||
      {{ post.date | date(format="%e %b %Y") }} <span class="invis">»</span>
 | 
			
		||||
      {{ post.title }}</a></b><span class="icon icon-time post-list"></span><span class="invis reading-time">{{ post.reading_time }} min read</span>
 | 
			
		||||
      {%- if post.description -%}<div class="invis post-desc">{{ post.description }}</div>{%- endif -%}
 | 
			
		||||
      </li>
 | 
			
		||||
      {% endfor %}
 | 
			
		||||
    </ul>
 | 
			
		||||
    <div class="pagination">
 | 
			
		||||
      {%- if paginator.previous  or paginator.next -%}    
 | 
			
		||||
      {%- set pag_start = 1 -%}
 | 
			
		||||
      {%- set pag_end = paginator.number_pagers -%}
 | 
			
		||||
      {%- if paginator.previous -%}<a href = "{{ paginator.previous }}">←</a>{%- endif -%}
 | 
			
		||||
      {%- for i in range(start=pag_start, end=pag_end+1) -%}
 | 
			
		||||
        <a class="{% if paginator.current_index == i %} current {% endif %}" href="{{ paginator.base_url | safe }}{{ i ~ '/' }}">{{i}}</a>
 | 
			
		||||
      {%- endfor -%}
 | 
			
		||||
      {%- if paginator.next -%}<a href = {{paginator.next}}>→</a>{%- endif -%}
 | 
			
		||||
      {%- endif -%}
 | 
			
		||||
      </div>
 | 
			
		||||
  </div>
 | 
			
		||||
  <div class="col-2" id="taglist">
 | 
			
		||||
    {% if section.ancestors %}
 | 
			
		||||
    <h4>Tags:</h4>
 | 
			
		||||
    {% set tags = get_taxonomy(kind="tags") %}
 | 
			
		||||
    <ul>
 | 
			
		||||
    {% for tag in tags.items %}
 | 
			
		||||
      <li><a href="{{ tag.permalink | safe }}">{{ tag.name }}</a> ({{ tag.pages | length }})</li>
 | 
			
		||||
    {% endfor %} 
 | 
			
		||||
    </ul>
 | 
			
		||||
    {% endif %}
 | 
			
		||||
  </div>
 | 
			
		||||
</div>
 | 
			
		||||
{% endblock %}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										16
									
								
								themes/pico/templates/shares.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
{% if page.extra.show_shares %}
 | 
			
		||||
<div class="row">
 | 
			
		||||
    <div class="col-2"></div>
 | 
			
		||||
    <div class="col-8 center shares">
 | 
			
		||||
        <ul>
 | 
			
		||||
            <li><a href = "https://www.linkedin.com/sharing/share-offsite/?url={{ current_url | safe }}" class="icon icon-linkedin shares"></a></li>
 | 
			
		||||
            <li><a href="http://www.facebook.com/sharer.php?u={{ current_url | safe }}" class="icon icon-fb shares"></a></li>
 | 
			
		||||
            <li><a href = "https://t.me/share/url?url={{ current_url | safe }}" class="icon icon-tg shares"></a></li>
 | 
			
		||||
            <li><a href= "https://api.whatsapp.com/send?text={{ current_url | safe }}" class="icon icon-wa shares"></a></li>
 | 
			
		||||
        </ul>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="col-2"></div>
 | 
			
		||||
</div>
 | 
			
		||||
{% endif %}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										3
									
								
								themes/pico/templates/shortcodes/badges.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
<div class="badges center">
 | 
			
		||||
{{ body | markdown | replace(from="%20", to=" ") | safe }}
 | 
			
		||||
</div>
 | 
			
		||||
							
								
								
									
										22
									
								
								themes/pico/templates/shortcodes/callout.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
{% if type == 'warning' %}
 | 
			
		||||
{% set img = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
 | 
			
		||||
    <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M8 4a.905.905 0 0 0-.9.995l.35 3.507a.552.552 0 0 0 1.1 0l.35-3.507A.905.905 0 0 0 8 4m.002 6a1 1 0 1 0 0 2 1 1 0 0 0 0-2"/>
 | 
			
		||||
  </svg>' %}
 | 
			
		||||
  {% elif type == 'alert'%}
 | 
			
		||||
    {% set img = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
 | 
			
		||||
        <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1z"/>
 | 
			
		||||
    </svg>' %}
 | 
			
		||||
   {% elif type == 'info' %}
 | 
			
		||||
   {% set img = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
 | 
			
		||||
    <path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2"/>
 | 
			
		||||
  </svg>' %}
 | 
			
		||||
{% endif %}
 | 
			
		||||
<div class="co-container">
 | 
			
		||||
    <div class="callout {{ type }}">
 | 
			
		||||
        <span class="co-img">{{ img |safe }}</span>
 | 
			
		||||
        <span class="co-body">
 | 
			
		||||
            {{ body | markdown | safe}}
 | 
			
		||||
        </span>
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										3
									
								
								themes/pico/templates/shortcodes/mermaid.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
<pre class="mermaid">
 | 
			
		||||
{{ body | safe }}
 | 
			
		||||
</pre>
 | 
			
		||||
							
								
								
									
										11
									
								
								themes/pico/templates/shortcodes/skillcards.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,11 @@
 | 
			
		|||
{% set raw = load_data(literal = body, format='toml') %}
 | 
			
		||||
{% set cards = raw.cards %}
 | 
			
		||||
<div class="cards-wrapper center">
 | 
			
		||||
    {% for card in cards %}
 | 
			
		||||
    <div class="panel">
 | 
			
		||||
        <div class="skillcard-icon skillcard-icon-{{card.icon}}"></div>
 | 
			
		||||
        <div class="skillcard-title"><strong>{{ card.title | safe }}</strong></div>
 | 
			
		||||
        <div class="skillcard-details">{{ card.details | markdown | safe }}</div>
 | 
			
		||||
    </div>
 | 
			
		||||
    {% endfor %}
 | 
			
		||||
</div>
 | 
			
		||||
							
								
								
									
										12
									
								
								themes/pico/templates/shortcodes/timeline.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,12 @@
 | 
			
		|||
 | 
			
		||||
{% set dt = load_data(literal = body, format="json") %}
 | 
			
		||||
<div id="timeline-content">
 | 
			
		||||
  <ul class="timeline">
 | 
			
		||||
      {% for d in dt %}
 | 
			
		||||
    <li class="event" data-date="{{ d.date |safe }}">
 | 
			
		||||
      <h3>{{ d.title | markdown | safe}}</h3>
 | 
			
		||||
      <p>{{ d.body | safe }}</p>
 | 
			
		||||
    </li>
 | 
			
		||||
    {% endfor %}
 | 
			
		||||
  </ul>
 | 
			
		||||
</div>
 | 
			
		||||
							
								
								
									
										15
									
								
								themes/pico/templates/tags/list.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
{% extends "base.html" %}
 | 
			
		||||
{% block content %}
 | 
			
		||||
  <div class="row">
 | 
			
		||||
    <div class="col-12" id="content">
 | 
			
		||||
      {% if terms %}
 | 
			
		||||
      <ul>
 | 
			
		||||
        {% for term in terms %}
 | 
			
		||||
          <li><a class = "taglink" href="{{ term.permalink | safe }}">{{ term.name }}</a> ({{ term.pages | length }});</li>
 | 
			
		||||
        {% endfor %}
 | 
			
		||||
      </ul>
 | 
			
		||||
      {% endif %}
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
{% endblock %} 
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										31
									
								
								themes/pico/templates/tags/single.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,31 @@
 | 
			
		|||
{% extends "base.html" %}
 | 
			
		||||
{% block content %}
 | 
			
		||||
<div class="row content">
 | 
			
		||||
  <div class="col-2"></div>
 | 
			
		||||
  <div class="col-6 content" id="catlist">
 | 
			
		||||
    <h1 class="center">Tag: {{ term.name }}</h1>
 | 
			
		||||
    <ul>
 | 
			
		||||
      {% for post in term.pages %}
 | 
			
		||||
      <li><b><a href="{{ post.permalink | safe }}">
 | 
			
		||||
      {{ post.date | date(format="%e %b %Y") }} <span class="invis">»</span>
 | 
			
		||||
      {{ post.title }}</a></b><span class="icon icon-time post-list"></span><span class="invis reading-time">{{ post.reading_time }} min read</span>
 | 
			
		||||
      {%- if post.description -%}<div class="invis post-desc">{{ post.description }}</div>{%- endif -%}
 | 
			
		||||
      </li>
 | 
			
		||||
      {% endfor %}
 | 
			
		||||
    </ul>
 | 
			
		||||
    <div class="pagination">
 | 
			
		||||
      {%- if paginator.previous  or paginator.next -%}    
 | 
			
		||||
      {%- set pag_start = 1 -%}
 | 
			
		||||
      {%- set pag_end = paginator.number_pagers -%}
 | 
			
		||||
      {%- if paginator.previous -%}<a href = "{{ paginator.previous }}">←</a>{%- endif -%}
 | 
			
		||||
      {%- for i in range(start=pag_start, end=pag_end+1) -%}
 | 
			
		||||
        <a class="{% if paginator.current_index == i %} current {% endif %}" href="{{ paginator.base_url | safe }}{{ i ~ '/' }}">{{i}}</a>
 | 
			
		||||
      {%- endfor -%}
 | 
			
		||||
      {%- if paginator.next -%}<a href = {{paginator.next}}>→</a>{%- endif -%}
 | 
			
		||||
      {%- endif -%}
 | 
			
		||||
      </div>
 | 
			
		||||
  </div>
 | 
			
		||||
  </div>
 | 
			
		||||
  <div class="col-2"></div>
 | 
			
		||||
</div>
 | 
			
		||||
{% endblock %} 
 | 
			
		||||
							
								
								
									
										14
									
								
								themes/pico/theme.toml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,14 @@
 | 
			
		|||
name = "pico"
 | 
			
		||||
description = "Clean and minimalistic dark theme"
 | 
			
		||||
license = "MIT"
 | 
			
		||||
homepage = "https://github.com/kuznetsov17/pico"
 | 
			
		||||
# The minimum version of Zola required
 | 
			
		||||
min_version = "0.18.0"
 | 
			
		||||
# An optional live demo URL
 | 
			
		||||
demo = "https://kuznetsov17.github.io/pico/"
 | 
			
		||||
 | 
			
		||||
[author]
 | 
			
		||||
name = "Vitaliy Kuznetsov"
 | 
			
		||||
homepage = "https://viku.me"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||