This commit is contained in:
Your Name 2024-09-21 13:24:25 -05:00
parent 0ae911bda9
commit f06bf7f45a
189 changed files with 10539 additions and 6 deletions

View File

@ -3,7 +3,7 @@ languageCode = "en"
DefaultContentLanguage = "en"
title = "Hello, Friend."
publishdir = "/srv/www/thewwwdotcom.com/"
theme = "anatole"
theme = "anatole-theme"
summarylength = 10
enableEmoji = true

View File

@ -1,4 +0,0 @@
baseURL = 'https://example.org/'
languageCode = 'en-us'
title = 'My New Hugo Site'
theme = 'anatole'

@ -1 +0,0 @@
Subproject commit f821cf71064ec74bedaf5d4bfb46db20aedeb773

View File

@ -0,0 +1,3 @@
{
"extends": ["@commitlint/config-conventional"]
}

View File

@ -0,0 +1,38 @@
# Update the NODE_VERSION arg in docker-compose.yml to pick a Node version: 18, 16, 14
ARG NODE_VERSION=16
FROM mcr.microsoft.com/devcontainers/javascript-node:${NODE_VERSION}
# VARIANT can be either 'hugo' for the standard version or 'hugo_extended' for the extended version.
ARG VARIANT=hugo_extended
# VERSION can be either 'latest' or a specific version number
ARG VERSION=latest
# Download Hugo
RUN apt-get update && apt-get install -y ca-certificates openssl git curl && \
rm -rf /var/lib/apt/lists/* && \
case ${VERSION} in \
latest) \
export VERSION=$(curl -s https://api.github.com/repos/gohugoio/hugo/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') ;;\
esac && \
echo ${VERSION} && \
case $(uname -m) in \
aarch64) \
export ARCH=ARM64 ;; \
*) \
export ARCH=64bit ;; \
esac && \
echo ${ARCH} && \
wget -O ${VERSION}.tar.gz https://github.com/gohugoio/hugo/releases/download/v${VERSION}/${VARIANT}_${VERSION}_Linux-${ARCH}.tar.gz && \
tar xf ${VERSION}.tar.gz && \
mv hugo /usr/bin/hugo
# Hugo dev server port
EXPOSE 1313
# [Optional] Uncomment this section to install additional OS packages you may want.
#
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
# && apt-get -y install --no-install-recommends <your-package-list-here>
# [Optional] Uncomment if you want to install more global node packages
# RUN sudo -u node npm install -g <your-package-list-here>

View File

@ -0,0 +1,41 @@
{
"name": "Hugo (Community)",
"build": {
"dockerfile": "Dockerfile",
"args": {
// Update VARIANT to pick hugo variant.
// Example variants: hugo, hugo_extended
// Rebuild the container if it already exists to update.
"VARIANT": "hugo",
// Update VERSION to pick a specific hugo version.
// Example versions: latest, 0.73.0, 0,71.1
// Rebuild the container if it already exists to update.
"VERSION": "latest",
// Update NODE_VERSION to pick the Node.js version: 12, 14
"NODE_VERSION": "14"
}
},
// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Set *default* container specific settings.json values on container create.
"settings": {
"html.format.templating": true
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": ["bungcip.better-toml", "davidanson.vscode-markdownlint"]
}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [1313],
// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "uname -a",
// Set `remoteUser` to `root` to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "node"
}

9
themes/anatole-theme/.gitignore vendored Normal file
View File

@ -0,0 +1,9 @@
**/themes/
demo/
.hugo/*
!.hugo/version
.hugo_build.lock
/node_modules
exampleSite/public/
.DS_Store
public/

View File

@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npx --no-install commitlint --edit $1

View File

@ -0,0 +1,7 @@
contact.html
resources
exampleSite/public
exampleSite/resources
anatole.scss
anatole.rtl.scss
assets/fontawesome/css/*.min.css

View File

@ -0,0 +1,18 @@
{
"endOfLine": "lf",
"semi": true,
"singleQuote": true,
"printWidth": 120,
"tabWidth": 2,
"trailingComma": "all",
"useTabs": false,
"overrides": [
{
"files": ["*.html"],
"options": {
"parser": "go-template"
}
}
],
"plugins": ["prettier-plugin-go-template"]
}

View File

@ -0,0 +1,21 @@
{
"npm": {
"publish": false
},
"git": {
"commitMessage": "chore: release v${version}",
"tagName": "v${version}"
},
"github": {
"release": true,
"releaseName": "v${version}",
"web": true
},
"plugins": {
"@release-it/conventional-changelog": {
"header": "# Changelog",
"infile": "CHANGELOG.md",
"preset": "conventionalcommits"
}
}
}

View File

@ -0,0 +1,317 @@
# Changelog
## [1.15.0](https://github.com/lxndrblz/anatole/compare/v1.14.0...v1.15.0) (2024-07-24)
### Features
- add config option to disable title capitalization ([#408](https://github.com/lxndrblz/anatole/issues/408)) ([297bcc8](https://github.com/lxndrblz/anatole/commit/297bcc825d97cad41359d047e02d310d3fcdf8a1))
- add general styling for tables ([4eee0da](https://github.com/lxndrblz/anatole/commit/4eee0da80251b046049c3806da9ef4dc90be6a07))
- implement multilingual portfolio data ([#481](https://github.com/lxndrblz/anatole/issues/481)) ([d500419](https://github.com/lxndrblz/anatole/commit/d500419b5b0ac464387df6226d0dd51721a3e976))
- translate related posts header ([#473](https://github.com/lxndrblz/anatole/issues/473)) ([f8eda4a](https://github.com/lxndrblz/anatole/commit/f8eda4ac663328b89e8e99d3d5d18b815ccccee1))
- update fontawesome version ([#508](https://github.com/lxndrblz/anatole/issues/508)) ([7a44369](https://github.com/lxndrblz/anatole/commit/7a44369734a6a2a37162da7c5321c4c8d0a84a43))
### Bug Fixes
- deprecation warnings for recent Hugo versions ([#511](https://github.com/lxndrblz/anatole/issues/511)) ([4435557](https://github.com/lxndrblz/anatole/commit/4435557b80dd5b8f9ff5a391fb9a128254c13ffb))
- remove decoration around backtick blocks ([#507](https://github.com/lxndrblz/anatole/issues/507)) ([ca04698](https://github.com/lxndrblz/anatole/commit/ca0469823bacccd11f571577ceeb17421b6e1b08))
- resolve language params warning when using hugo v0.112+ ([#464](https://github.com/lxndrblz/anatole/issues/464)) ([9ac9117](https://github.com/lxndrblz/anatole/commit/9ac9117bccbd19ce4f7d602b9c12a2a38ca2e76d))
- title in sidebar changing marging ([1ca7be2](https://github.com/lxndrblz/anatole/commit/1ca7be2ca23b7ac6809c3a3a013ce0c6d09ed1c6))
## [1.14.0](https://github.com/lxndrblz/anatole/compare/v1.12.0...v1.14.0) (2024-04-09)
### Features
- add descriptions to portfolio categories ([#494](https://github.com/lxndrblz/anatole/issues/494)) ([a0beb99](https://github.com/lxndrblz/anatole/commit/a0beb99691b4bfa97f8d7ea67efd9f233e5be369))
- add giscus comments system ([#448](https://github.com/lxndrblz/anatole/issues/448)) ([bedc8f5](https://github.com/lxndrblz/anatole/commit/bedc8f56b595ed13db27b16c1e157149c4bedcac))
- add Hungarian localization ([#434](https://github.com/lxndrblz/anatole/issues/434)) ([86586db](https://github.com/lxndrblz/anatole/commit/86586dbdde6cc9de3b3cd88ef4ca16acc5b9f25c))
- add id.toml ([#417](https://github.com/lxndrblz/anatole/issues/417)) ([82847f7](https://github.com/lxndrblz/anatole/commit/82847f76262b2822edc8879a09983e192712eeab))
- add matomo analytics support ([#500](https://github.com/lxndrblz/anatole/issues/500)) ([418c14e](https://github.com/lxndrblz/anatole/commit/418c14e4629693251bd2a7d6a9623e35d91e9d01)), closes [#411](https://github.com/lxndrblz/anatole/issues/411)
- add support to provide custom tracker script name for Umami Analytics ([#418](https://github.com/lxndrblz/anatole/issues/418)) ([f6c9968](https://github.com/lxndrblz/anatole/commit/f6c9968ffd595e105d20f3f4aa80ded571f05abb))
- enable 'pre' property in menu config file ([#381](https://github.com/lxndrblz/anatole/issues/381)) ([6deb26e](https://github.com/lxndrblz/anatole/commit/6deb26e699ceb1eb3d2d325689655bf0e06bb4bb))
- hide sidebar on certain posts ([#439](https://github.com/lxndrblz/anatole/issues/439)) ([38de0c9](https://github.com/lxndrblz/anatole/commit/38de0c9dfe6bb598bef0effb980bd001553ef59c))
### Bug Fixes
- remove async version of Google Analytics ([#498](https://github.com/lxndrblz/anatole/issues/498)) ([4d73eb5](https://github.com/lxndrblz/anatole/commit/4d73eb5d8be6dfc12cc6f4fe52df6ce492d5f1cf))
- remove mixin to fix print layout ([#391](https://github.com/lxndrblz/anatole/issues/391)) ([7981438](https://github.com/lxndrblz/anatole/commit/7981438d6c1bd1513ff0f2faab88035c1ef116c2))
- Resolve font sizing issue ([#451](https://github.com/lxndrblz/anatole/issues/451)) ([de7c5bb](https://github.com/lxndrblz/anatole/commit/de7c5bb037893effd996bc878ba123f4cccdb8cb))
- tidy <head> elements ([#478](https://github.com/lxndrblz/anatole/issues/478)) ([5299af6](https://github.com/lxndrblz/anatole/commit/5299af67fe031e0028b8fc88b7221194deff2cf1)), closes [#477](https://github.com/lxndrblz/anatole/issues/477)
- wordwrap in (un)ordered list ([#497](https://github.com/lxndrblz/anatole/issues/497)) ([61e2792](https://github.com/lxndrblz/anatole/commit/61e2792ebdb8a9a974b2c31991cb57502e2d0820)), closes [#496](https://github.com/lxndrblz/anatole/issues/496)
## [1.13.0](https://github.com/lxndrblz/anatole/compare/v1.12.0...v1.13.0) (2023-05-13)
### Features
- add Hungarian localization ([#434](https://github.com/lxndrblz/anatole/issues/434)) ([86586db](https://github.com/lxndrblz/anatole/commit/86586dbdde6cc9de3b3cd88ef4ca16acc5b9f25c))
- add id.toml ([#417](https://github.com/lxndrblz/anatole/issues/417)) ([82847f7](https://github.com/lxndrblz/anatole/commit/82847f76262b2822edc8879a09983e192712eeab))
- add support to provide custom tracker script name for Umami Analytics ([#418](https://github.com/lxndrblz/anatole/issues/418)) ([f6c9968](https://github.com/lxndrblz/anatole/commit/f6c9968ffd595e105d20f3f4aa80ded571f05abb))
- enable 'pre' property in menu config file ([#381](https://github.com/lxndrblz/anatole/issues/381)) ([6deb26e](https://github.com/lxndrblz/anatole/commit/6deb26e699ceb1eb3d2d325689655bf0e06bb4bb))
- hide sidebar on certain posts ([#439](https://github.com/lxndrblz/anatole/issues/439)) ([38de0c9](https://github.com/lxndrblz/anatole/commit/38de0c9dfe6bb598bef0effb980bd001553ef59c))
### Bug Fixes
- remove mixin to fix print layout ([#391](https://github.com/lxndrblz/anatole/issues/391)) ([7981438](https://github.com/lxndrblz/anatole/commit/7981438d6c1bd1513ff0f2faab88035c1ef116c2))
- Resolve font sizing issue ([#451](https://github.com/lxndrblz/anatole/issues/451)) ([de7c5bb](https://github.com/lxndrblz/anatole/commit/de7c5bb037893effd996bc878ba123f4cccdb8cb))
## [1.12.0](https://github.com/lxndrblz/anatole/compare/v1.11.0...v1.12.0) (2022-11-26)
### Features
- Add reCAPTCHA to the contact form ([#365](https://github.com/lxndrblz/anatole/issues/365)) ([06847f3](https://github.com/lxndrblz/anatole/commit/06847f35a19834ff26c60b691522107fa201a7a5))
- add rel-me to social links ([#394](https://github.com/lxndrblz/anatole/issues/394)) ([210f632](https://github.com/lxndrblz/anatole/commit/210f6321cac602c948bc6c92344743e6d8cf4cfd))
- added mermaid support for displaying diagrams ([#359](https://github.com/lxndrblz/anatole/issues/359)) ([d511a6f](https://github.com/lxndrblz/anatole/commit/d511a6f520bcc2ffab10ce009239904774ed6bb0))
- added TR language ([#401](https://github.com/lxndrblz/anatole/issues/401)) ([b2faf30](https://github.com/lxndrblz/anatole/commit/b2faf30d428b37fb45025c08e3ef42eb2a3006f6))
- localized dates ([#373](https://github.com/lxndrblz/anatole/issues/373)) ([c097ab9](https://github.com/lxndrblz/anatole/commit/c097ab90ab82e257d961b4122e690d25aeb1f6ea))
- translate series label ([#372](https://github.com/lxndrblz/anatole/issues/372)) ([2fbe51c](https://github.com/lxndrblz/anatole/commit/2fbe51c98f2669eadeef8c1c2d00ee158d67a440))
- trim the whitespace from the HTML meta tags ([#367](https://github.com/lxndrblz/anatole/issues/367)) ([6747495](https://github.com/lxndrblz/anatole/commit/67474957d7cfd7da342df3c4908b1162effc5e2d))
- update Font Awesome and add Regular variant ([#375](https://github.com/lxndrblz/anatole/issues/375)) ([1d18d09](https://github.com/lxndrblz/anatole/commit/1d18d09bd63421735aff63f065ba36d4a41e6684))
### Bug Fixes
- move theme class to root node to prevent white flash ([#392](https://github.com/lxndrblz/anatole/issues/392)) ([c36e1d8](https://github.com/lxndrblz/anatole/commit/c36e1d8fff70ab6a817e00aa053b996342554681))
- prettier error with go template ([#398](https://github.com/lxndrblz/anatole/issues/398)) ([549a722](https://github.com/lxndrblz/anatole/commit/549a722314ac6d8397ffa1802426480641c92064))
- properly escape title in schema ([#358](https://github.com/lxndrblz/anatole/issues/358)) ([c0c367c](https://github.com/lxndrblz/anatole/commit/c0c367c2de79783614b926a0661e287fc401af20))
- resolve dependency conflict conventional changelog release it ([#388](https://github.com/lxndrblz/anatole/issues/388)) ([b86ecc7](https://github.com/lxndrblz/anatole/commit/b86ecc78a16aa7348fdc9c4175d3daca16bd4fe8))
- update FA translation ([#400](https://github.com/lxndrblz/anatole/issues/400)) ([24afb94](https://github.com/lxndrblz/anatole/commit/24afb94d40460a32eef5b3458e73197eca89901e))
## [1.11.0](https://github.com/lxndrblz/anatole/compare/v1.10.0...v1.11.0) (2022-05-13)
### Features
- added support for navigation menu dropdown ([#344](https://github.com/lxndrblz/anatole/issues/344)) ([6c55d42](https://github.com/lxndrblz/anatole/commit/6c55d4282e1e460afb56a19e70058f05d738e85d))
### Bug Fixes
- apply active class to submenu items ([#350](https://github.com/lxndrblz/anatole/issues/350)) ([ec5066b](https://github.com/lxndrblz/anatole/commit/ec5066bdb57e8927150cb9e1b37ad0cedb047716))
- incorrect display of submenu items when multiple menu dropdowns are implemented ([#354](https://github.com/lxndrblz/anatole/issues/354)) ([1959fa6](https://github.com/lxndrblz/anatole/commit/1959fa6d400511da65044c29f1bc7c7030a31ca6)), closes [#352](https://github.com/lxndrblz/anatole/issues/352)
- open social links in a new tab ([#353](https://github.com/lxndrblz/anatole/issues/353)) ([81c4208](https://github.com/lxndrblz/anatole/commit/81c4208b6778ad3a730f7f654106942a9a1e7ff9))
## [1.10.0](https://github.com/lxndrblz/anatole/compare/v1.9.0...v1.10.0) (2022-04-16)
### Features
- use front matter description as rss item description ([89c8c65](https://github.com/lxndrblz/anatole/commit/89c8c6558702bf29fc1b07137d29ce80ab06ed5f))
### Bug Fixes
- loading the correct internal Google Analytics template for v4 token ([ec0175a](https://github.com/lxndrblz/anatole/commit/ec0175a4ed4131f4cf26d723c243d388b421d7eb)), closes [#339](https://github.com/lxndrblz/anatole/issues/339)
- remove double h1 tags ([#347](https://github.com/lxndrblz/anatole/issues/347)) ([849a2f2](https://github.com/lxndrblz/anatole/commit/849a2f2d9bca2928df6e86e98576e4ec2988d65f))
## [1.9.0](https://github.com/lxndrblz/anatole/compare/v1.8.0...v1.9.0) (2022-03-27)
### Features
- add a notice shortcode ([212d6cc](https://github.com/lxndrblz/anatole/commit/212d6ccae4ac6a029352fba397219eaf1d30e623))
- Add option to display related posts ([#300](https://github.com/lxndrblz/anatole/issues/300)) ([6ad4d7a](https://github.com/lxndrblz/anatole/commit/6ad4d7aea163240dbb76ed405125c7e3eeda2605))
- add the option to hide the sidebar on post pages ([a9d3b1d](https://github.com/lxndrblz/anatole/commit/a9d3b1dd926dfc3ba5aacb0928b811fc318309e8))
- added meta author HTML tag ([1a063c8](https://github.com/lxndrblz/anatole/commit/1a063c8d5dcf3f6960f9df1de465c832f51b6d53))
- avoid wrapping text of navigation items ([4ba5593](https://github.com/lxndrblz/anatole/commit/4ba5593c7282720fed7fc0eada17c025cba4089f))
- layout improvements for portfolio ([3685a7d](https://github.com/lxndrblz/anatole/commit/3685a7dfa6d3f62670f0d2cd57cc80dbfcca00fe))
- set open graph meta tags without requiring series taxonomy ([579d768](https://github.com/lxndrblz/anatole/commit/579d7682f2c91dc7d36e5f028ee999e91c3e8265))
### Bug Fixes
- enable sidebar by default ([36ea4a8](https://github.com/lxndrblz/anatole/commit/36ea4a8ca1e5d0abe795419dd0555ee0b1b583b5))
- increase padding on the x-axis ([fbecf7f](https://github.com/lxndrblz/anatole/commit/fbecf7ff34a8435eb72479cdba59468c5863270e))
- minify fontawesome files format to resolve integrity check errors ([#335](https://github.com/lxndrblz/anatole/issues/335)) ([0e03d3f](https://github.com/lxndrblz/anatole/commit/0e03d3fc86c1bcb7fa99c9a87a041643d71cb1e6))
- mobile and ultrawide views ([799d134](https://github.com/lxndrblz/anatole/commit/799d134e57a67c477bcb455d5e4dbe97e3a65b90))
- non styled summary ([f345853](https://github.com/lxndrblz/anatole/commit/f345853fe8d314f612e218e6c035d75271846eae))
- refactor SCSS according to BEM standards ([342ffd3](https://github.com/lxndrblz/anatole/commit/342ffd371483bdba81ca130a18ec162378e53cae))
- refactor sidebar SCSS ([14af37f](https://github.com/lxndrblz/anatole/commit/14af37f0df41a0abcd691bc3d2c759f74e5db42e))
- removed obsolete css properties ([e985a59](https://github.com/lxndrblz/anatole/commit/e985a599598c12b344848850c6897bace6060e99))
- show sidebar only on homepage ([3db4bb0](https://github.com/lxndrblz/anatole/commit/3db4bb0f8eb2f47076ec1858cb19cdf7148f07db))
### Reverts
- Revert "ci: temporarily invoke workflow for testing purposes" ([a6aa3e4](https://github.com/lxndrblz/anatole/commit/a6aa3e487419fab865c3ab3286eeefc49dc9e9f4))
- Revert "ci: temporarily invoke workflow for testing purposes" ([b3011c1](https://github.com/lxndrblz/anatole/commit/b3011c10efc2344873bb85696854fbe6bcfc91e9))
- Revert "ci: temporarily invoke workflow for testing purposes" ([1ff8217](https://github.com/lxndrblz/anatole/commit/1ff82174fb1bb6003725fe52f4c650eb807006e7))
## [1.8.0](https://github.com/lxndrblz/anatole/compare/v1.7.0...v1.8.0) (2022-03-10)
### Features
- add bottom spacing in case of row wraps ([a22f17c](https://github.com/lxndrblz/anatole/commit/a22f17ca78345ba84e45c9428ecb5ab1737172b1))
- add padding to navbar burger ([d277672](https://github.com/lxndrblz/anatole/commit/d277672c66a58cdecc9aed61f77f28959ecaab7b)), closes [#308](https://github.com/lxndrblz/anatole/issues/308)
- add size options to figure shortcode ([a8c3d31](https://github.com/lxndrblz/anatole/commit/a8c3d31a715db10885ffa84f79810899f2264856))
- include credits to FontAwesome ([12ff26f](https://github.com/lxndrblz/anatole/commit/12ff26f433d1bcd2e5b1b130a44b087b298cc79f))
- load fontawesome from local server ([2d0d448](https://github.com/lxndrblz/anatole/commit/2d0d448284c65746361730ca2c10185a616ca542)), closes [#299](https://github.com/lxndrblz/anatole/issues/299)
- reduce size of big figure ([a7d4d91](https://github.com/lxndrblz/anatole/commit/a7d4d91b7a1d665832cecf2073354ca15fc8af2f))
- style portfolio metadata as list with icon start adornments ([2b05b86](https://github.com/lxndrblz/anatole/commit/2b05b8608380133f5fc65e0aba2dba274eefc1a3))
- title case headings on content pages respectively keep user formatting ([8dc415c](https://github.com/lxndrblz/anatole/commit/8dc415c97890e8264a17c35906f763447c571b6b))
- title case portfolio headings ([278c146](https://github.com/lxndrblz/anatole/commit/278c1461e333cc7c0d63d7abaf4a35a6ba64fc69))
- uppercase headings on overview pages ([c14fb1e](https://github.com/lxndrblz/anatole/commit/c14fb1e46cd2d37a0fa0256d27cf7dfb997bd6f7))
### Bug Fixes
- [display] dark mode preference was not taken into account. ([57011f1](https://github.com/lxndrblz/anatole/commit/57011f1d2b04cc9032cedcd6af00301461725fa8))
- chroma styling in post content ([923c738](https://github.com/lxndrblz/anatole/commit/923c738f9642fd3ff21c0463d70345ee62f52f3c))
- increase padding slightly ([28a68e9](https://github.com/lxndrblz/anatole/commit/28a68e9cf80960ca1c54bef079bc004141beda7b))
- w3c validator errors ([021c1e0](https://github.com/lxndrblz/anatole/commit/021c1e0e9bcb81ecb02182c587ad4d17b98f26f7)), closes [#309](https://github.com/lxndrblz/anatole/issues/309)
## [1.7.0](https://github.com/lxndrblz/anatole/compare/v1.7.0...v1.8.0) (2022-02-21)
### Features
- add makefile to generate resource folder ([0e610e4](https://github.com/lxndrblz/anatole/commit/0e610e4ba806b19a7aae01d5810691c0c6803b17))
- added umami analytics ([#298](https://github.com/lxndrblz/anatole/issues/298)) ([a9cb563](https://github.com/lxndrblz/anatole/commit/a9cb5630a21a320d3d3c1afe3781fd289129273e))
- added windows release target ([c4ac344](https://github.com/lxndrblz/anatole/commit/c4ac344e662445ea9f9752f7822b3d8bcb9f3cf0))
- allow setting displayMode dark from params ([3be3958](https://github.com/lxndrblz/anatole/commit/3be3958812aff76710e17f58a370dd4601f061f8))
- decrease border radius of thumbnail ([80598b5](https://github.com/lxndrblz/anatole/commit/80598b58c8330ef5b0013878355d374bc7098dca))
- decrease font size h1; set font sizes if headings have nested a tags ([d2b4566](https://github.com/lxndrblz/anatole/commit/d2b4566616a5af9cad2e73676a622c6cf7c6812b))
- decrease nav spacing ([0145c16](https://github.com/lxndrblz/anatole/commit/0145c1661d65ccd1a542092f75c2d84f544ea8cb))
- increase font size of post title ([82b2cee](https://github.com/lxndrblz/anatole/commit/82b2cee0b41b72c73b853531c807df2115998879))
- increase font size of sidebar title ([17b1b74](https://github.com/lxndrblz/anatole/commit/17b1b747a18d100267a0d9d04fcdb0881d25c1a2))
- increase hero spacing on mobile ([94d6dac](https://github.com/lxndrblz/anatole/commit/94d6dacd133375300c44f50f99fa531686698983))
- move info to post-meta and improve styles ([e17be94](https://github.com/lxndrblz/anatole/commit/e17be94391c5a232ac543f371b35ca6585786f36))
- ported makefile to package.json script ([5bc180c](https://github.com/lxndrblz/anatole/commit/5bc180ccafbeb3d44d1f67e4e1fcc0b9b71ba3e3))
- reduce border-radius ([08bc7f2](https://github.com/lxndrblz/anatole/commit/08bc7f227a82327ff15e5cac51c8bcf0b4778729))
- reduce font size ([e92403b](https://github.com/lxndrblz/anatole/commit/e92403bff7ee9b0260e49ba915ebadf07c7978f0))
- update screenshots ([b3c18d6](https://github.com/lxndrblz/anatole/commit/b3c18d68adccdd2728f040e4ddf0a3ffda2f0127))
- url as link ([f6c8150](https://github.com/lxndrblz/anatole/commit/f6c81503e9f3e7f8f1b734295cbd9b51148d0153))
- use standard font size for paragraphs ([951c109](https://github.com/lxndrblz/anatole/commit/951c109365d202d036fd58dc888f189fae660861))
### Bug Fixes
- add back gen folder ([cc80d58](https://github.com/lxndrblz/anatole/commit/cc80d588e9b725a2d972d90cd2f9819a85d1b531))
- add generated resources to example site to ensure compatibility ([6dd1953](https://github.com/lxndrblz/anatole/commit/6dd19537bea5b3e89ef6579cbecdf174dd52f2e4))
- add optional shx for echo statement ([c62550d](https://github.com/lxndrblz/anatole/commit/c62550ddfb0c93fed5e9e6ebcfef0abe2b7a4607))
- alert colours ([4a788a6](https://github.com/lxndrblz/anatole/commit/4a788a66ea204bd68a1c7ac389047cd8dee95079))
- align nav border highlight ([74fb537](https://github.com/lxndrblz/anatole/commit/74fb537c21fb75e779baf338b78d75f094da394e))
- color portfolio mobile ([9affb74](https://github.com/lxndrblz/anatole/commit/9affb74a24c5ab7bde6f99e4fc7eab5071ae3c19))
- define img max width ([75e1630](https://github.com/lxndrblz/anatole/commit/75e1630bbd235082d5a1c20fc6c12ec5fef61730))
- deprecation warning global assignments won't be able to declare new variables in future versions ([9e5d138](https://github.com/lxndrblz/anatole/commit/9e5d138e97cd119226049c02cc31d4ea903eb711))
- duplicate footers ([fe660be](https://github.com/lxndrblz/anatole/commit/fe660be1ebd4b448375ba3b0695f44b62b92b217))
- languageswitcher triangle alignment and mobile spacing ([0a690aa](https://github.com/lxndrblz/anatole/commit/0a690aa0dceed6a372443dd8398ffd08e2702932))
- make sure tag text is also in lighter color ([6678874](https://github.com/lxndrblz/anatole/commit/66788744649fdf5313b2514f75644b2f12d07ba1))
- make themeswitch functionable again ([72f09ca](https://github.com/lxndrblz/anatole/commit/72f09ca2a9dd93c6d94b32eb5e5a3ecb2dbcc733))
- medium zoom ([94973bf](https://github.com/lxndrblz/anatole/commit/94973bf4d053ed0940b54f2c4d69cb404b48b4fd))
- nonmatching div footer ([5c84ace](https://github.com/lxndrblz/anatole/commit/5c84ace36c5273bcd70094b7fcce5dc8b10b3a2a))
- portfolio stacking ([1d65174](https://github.com/lxndrblz/anatole/commit/1d65174b2471915180e6416a13c48c974caa0a76))
- redundant main.scss ([4c85c2a](https://github.com/lxndrblz/anatole/commit/4c85c2a733f5ec12bbeea084f5bc8e550ff2ffe7))
- remove fixed width to enable class big ([6f74c37](https://github.com/lxndrblz/anatole/commit/6f74c378ec215e412e3a5499cc4362b130ebc10b))
- remove obsolete file ([9d78804](https://github.com/lxndrblz/anatole/commit/9d7880414f15049d0457db96ef9d75cc034cf4b4))
- remove obsolete post class ([4c14755](https://github.com/lxndrblz/anatole/commit/4c147555e11ef0544d1da27d84f3187471829f87))
- remove unnecessary padding on mobile ([a5e341b](https://github.com/lxndrblz/anatole/commit/a5e341bfded6289c5c940fc0014e27cdb502df1d))
- removed unused SCSS classes ([698f821](https://github.com/lxndrblz/anatole/commit/698f821f77f25d84ed2f97924a4180633711ee8c))
- rtl and ltr mode ([76e9a77](https://github.com/lxndrblz/anatole/commit/76e9a7708e7e71ff50ec7cb26f83e48430cbc045))
- sonarcloud bug border ([57fb870](https://github.com/lxndrblz/anatole/commit/57fb870be4acd12156fd2439c816c904b2ff676f))
- sonarcloud bugs ([96a38bd](https://github.com/lxndrblz/anatole/commit/96a38bd67868305489659903568df29d159c872a))
- sonarcloud bugs ([2be0e35](https://github.com/lxndrblz/anatole/commit/2be0e353567140abe9b566f6be8e286ade036e0f))
- spacing of alert box ([161496d](https://github.com/lxndrblz/anatole/commit/161496d0608336e4d6a99938a02a5d749d4e0a42))
- styling contact form ([00e408a](https://github.com/lxndrblz/anatole/commit/00e408a786552c0b252081626c162cd5a94622da))
- typo pull request template ([6583837](https://github.com/lxndrblz/anatole/commit/658383730e7d6c4aa63b6fd679d2dc14e1d6d9e6))
- use scss variable ([372e0ed](https://github.com/lxndrblz/anatole/commit/372e0ed628a741be0fae47dda6b7ed25e23f50a8))
- various colors ([8249f80](https://github.com/lxndrblz/anatole/commit/8249f80b595f6d90b3b2239ed8eceb4ac0ac03c9))
- width smaller than screen on archive page ([ddeacdd](https://github.com/lxndrblz/anatole/commit/ddeacdd16288dab570a165b942c8983cef919393))
### Reverts
- Revert "refactor: do not change link color on hover" ([6594cab](https://github.com/lxndrblz/anatole/commit/6594cabbb4be999a82c769b8ce7633267d26d3b0))
## [1.6.0](https://github.com/lxndrblz/anatole/compare/v1.7.0...v1.8.0) (2022-01-30)
### Features
- added a netlify.toml for demo site ([13bc907](https://github.com/lxndrblz/anatole/commit/13bc90740288e5bc7473f4f1642db4a9bac8bfd3))
- added links to config and example site in readme ([#293](https://github.com/lxndrblz/anatole/issues/293)) ([9cf84d3](https://github.com/lxndrblz/anatole/commit/9cf84d343061064c203fdecb77558fe54e5b4ea4))
- added links to demo site ([5294a0d](https://github.com/lxndrblz/anatole/commit/5294a0dfe44d15f0be60385c3db6cd0dded58cf5))
- Added page title switcher ([#286](https://github.com/lxndrblz/anatole/issues/286)) ([789876a](https://github.com/lxndrblz/anatole/commit/789876a144c58cd4876913ac75c2024c643576a6))
- Added Plausible Analytics ([#296](https://github.com/lxndrblz/anatole/issues/296)) ([b84efff](https://github.com/lxndrblz/anatole/commit/b84efff11943dc926d5e04892c215d5533dc4bc0))
- added portfolio and projects page ([#272](https://github.com/lxndrblz/anatole/issues/272)) ([0d412d3](https://github.com/lxndrblz/anatole/commit/0d412d3a37f6317dd1a8b231444077fecbbf522c)), closes [#221](https://github.com/lxndrblz/anatole/issues/221)
- include testing checklist ([2344d65](https://github.com/lxndrblz/anatole/commit/2344d6572d808468a63642355c072ea95cdd36c6))
- old content warning ([#266](https://github.com/lxndrblz/anatole/issues/266)) ([33fe67a](https://github.com/lxndrblz/anatole/commit/33fe67a975fce9de03f9666bdbebe647721eb57d))
- turn anatole theme into a hugo module ([#291](https://github.com/lxndrblz/anatole/issues/291)) ([fcbc65c](https://github.com/lxndrblz/anatole/commit/fcbc65c81ceb7ff31879e997026d79e5215f7b90))
### Bug Fixes
- added English aria labels for prev/next pagination buttons ([#289](https://github.com/lxndrblz/anatole/issues/289)) ([c610dad](https://github.com/lxndrblz/anatole/commit/c610dadb1769c5ac8d6ec3e760b51931da52a0d7))
- fixing typos ([99baec2](https://github.com/lxndrblz/anatole/commit/99baec23d388f6693495c90e864629bada902258))
- image width portfolio ([af75745](https://github.com/lxndrblz/anatole/commit/af75745ecc1e54c93ffa9ebd6dd562f8c621f49c))
- language dropdown styling ([#264](https://github.com/lxndrblz/anatole/issues/264)) ([e1817fe](https://github.com/lxndrblz/anatole/commit/e1817feceb8f1213f26c8018365e6ba14bb2fd64))
- make canonical link absolute ([#273](https://github.com/lxndrblz/anatole/issues/273)) ([ef17749](https://github.com/lxndrblz/anatole/commit/ef17749c72806dd54b8d2a660ab8fe41c0aa83bb))
- order of expiration note ([9dd94c2](https://github.com/lxndrblz/anatole/commit/9dd94c27bfe0239dae54b6ed32289c78ccc4b1a6)), closes [#285](https://github.com/lxndrblz/anatole/issues/285)
- overlap on ultra wide screens ([#287](https://github.com/lxndrblz/anatole/issues/287)) ([69e2f1f](https://github.com/lxndrblz/anatole/commit/69e2f1f3bba2995bafb311ef439083873fdba92e))
- redirect users to home page of current language ([#263](https://github.com/lxndrblz/anatole/issues/263)) ([fe9efda](https://github.com/lxndrblz/anatole/commit/fe9efda7969239dfd0f17ef00c0124ea8f68bf99))
- remove padding in mobile view ([4558d20](https://github.com/lxndrblz/anatole/commit/4558d20053ac0c86ea4402c921a4f7f39a3b89de))
- revert twitter example for backwards compatibility ([7d2af9a](https://github.com/lxndrblz/anatole/commit/7d2af9ad0b33b840e08d3d6cd430b193508fc6e1)), closes [#271](https://github.com/lxndrblz/anatole/issues/271)
- show mouseover text for social links ([#265](https://github.com/lxndrblz/anatole/issues/265)) ([d8bfafc](https://github.com/lxndrblz/anatole/commit/d8bfafc28e1741169bc5189553afb6df3deabcfa))
- twitter shortcode warning ([488c3e9](https://github.com/lxndrblz/anatole/commit/488c3e97ec95c7fdc00102290c8f30f8108d6c8c))
## [1.4.0](https://github.com/lxndrblz/anatole/compare/v1.7.0...v1.8.0) (2021-11-03)
### Features
- Added Formspree spam filtering ([#259](https://github.com/lxndrblz/anatole/issues/259)) ([0c9c5bc](https://github.com/lxndrblz/anatole/commit/0c9c5bc15caa6ebd9d5fa3227aaa62c761956109))
- Added support for Google Fonts ([#255](https://github.com/lxndrblz/anatole/issues/255)) ([8d51b8b](https://github.com/lxndrblz/anatole/commit/8d51b8ba619af4504ad40386f6b452e50ec8a39b))
- Improved Arabic support ([#249](https://github.com/lxndrblz/anatole/issues/249)) ([8ad28e8](https://github.com/lxndrblz/anatole/commit/8ad28e87167be8369f7b6ce2737a3cc6f5b9f9e3))
- improved language dropdown menu ([#261](https://github.com/lxndrblz/anatole/issues/261)) ([045dabb](https://github.com/lxndrblz/anatole/commit/045dabb11992a0d77f404dd931cbb093f4e11b44)), closes [#169](https://github.com/lxndrblz/anatole/issues/169)
- prettier pagination ([8a40abc](https://github.com/lxndrblz/anatole/commit/8a40abcc71a995b0de12d110428a46ed74a22d3f))
### Bug Fixes
- adjusted stale bot to close only issues that are awaiting a reply ([2847365](https://github.com/lxndrblz/anatole/commit/284736548ad97e5d84026ff982bca3aa92f5df0d))
- remove white color in syntax highlighting (dark mode) ([49de81b](https://github.com/lxndrblz/anatole/commit/49de81b2e2c921f752d8b1d261fe4c148a00c51e))
## [1.3.0](https://github.com/lxndrblz/anatole/compare/v1.7.0...v1.8.0) (2021-08-15)
### Features
- added schema.org structured data ([3ce92e4](https://github.com/lxndrblz/anatole/commit/3ce92e4534975918a3559ec4f77caf15c797d663))
- Adding series to the theme ([d530d03](https://github.com/lxndrblz/anatole/commit/d530d03761514d90de059ca005063d447f50460c)), closes [#234](https://github.com/lxndrblz/anatole/issues/234)
### Bug Fixes
- if condition with gtagId ([#230](https://github.com/lxndrblz/anatole/issues/230)) ([9c59364](https://github.com/lxndrblz/anatole/commit/9c59364e45baa0a744e411139d008998da95225e)), closes [#228](https://github.com/lxndrblz/anatole/issues/228)
- organization name ([96483e4](https://github.com/lxndrblz/anatole/commit/96483e4b5a4f945d7e992c416761496b4ef15e8c))
## [1.2.0](https://github.com/lxndrblz/anatole/compare/v1.7.0...v1.8.0) (2021-07-04)
### Features
- added basic CSS for TOC ([4b11819](https://github.com/lxndrblz/anatole/commit/4b11819a89b7f43f66b13930c7555086459725a4))
- gitalk comment ([92c37f1](https://github.com/lxndrblz/anatole/commit/92c37f1abcec54941ece965cb047cedda1b2e6a3))
### Bug Fixes
- Adjusted title of single.html to be a H1 header ([0ec60e9](https://github.com/lxndrblz/anatole/commit/0ec60e9678d5f049b687d1b753dd73c1a5107daa))
- description in README file ([5303fca](https://github.com/lxndrblz/anatole/commit/5303fca371473037c783c6c45d778e5fd8be6bf4))
- distorted print view ([8c36e9a](https://github.com/lxndrblz/anatole/commit/8c36e9a4a4f411758877742fc59c26fc15880295))
- missed absolute fontsize ([3184d8f](https://github.com/lxndrblz/anatole/commit/3184d8f808db0a9e912507d537e61aa62ddb2b35))
- Navigation Item Centering ([#219](https://github.com/lxndrblz/anatole/issues/219)) ([b4260d7](https://github.com/lxndrblz/anatole/commit/b4260d7c7f77d382fe2b98db411fa5f45870ff0b))
- relative font sizes instead of px defined ([faf23c5](https://github.com/lxndrblz/anatole/commit/faf23c5219a152f99f2854a65348dcc8bc109877))
- sidebar url ([9b1d6f8](https://github.com/lxndrblz/anatole/commit/9b1d6f8385faabb2e5d3a9c2d70a2b984ad0bf20))
- updated gitalk tag to include integrity check ([548686a](https://github.com/lxndrblz/anatole/commit/548686af08f78aeda3b237ebe864ee809dda54b3))
## [1.1.0](https://github.com/lxndrblz/anatole/compare/v1.7.0...v1.8.0) (2021-06-20)
### Bug Fixes
- correct typo ([3c730ae](https://github.com/lxndrblz/anatole/commit/3c730aeda3f67200fce5fcdaac666192f8cf8323))
## [1.0.0](https://github.com/lxndrblz/anatole/compare/v1.7.0...v1.8.0) (2021-05-08)
## [0.9.0](https://github.com/lxndrblz/anatole/compare/v1.7.0...v1.8.0) (2021-04-18)
### Reverts
- Revert "Fixes an issue where long links overflow page width" ([cbc272f](https://github.com/lxndrblz/anatole/commit/cbc272f46fe78b13e751030a2458f31afbfca213))
## [0.8.0](https://github.com/lxndrblz/anatole/compare/v1.7.0...v1.8.0) (2021-03-13)
## [0.7.0](https://github.com/lxndrblz/anatole/compare/v1.7.0...v1.8.0) (2021-03-03)
### Reverts
- Revert "Added reCAPTCHA to Formspree and support for Netlify forms" (#123) ([e325c1b](https://github.com/lxndrblz/anatole/commit/e325c1b2adbddb81c82d167e280ff3f673cf92d6)), closes [#123](https://github.com/lxndrblz/anatole/issues/123)
- Revert "Added reCAPTCHA to Formspree and support for Netlify forms" ([efabd21](https://github.com/lxndrblz/anatole/commit/efabd21d92afd4d265adf2a490625cc994493656))
- Revert "Revert "Merge branch 'post-thumbnail' of https://github.com/LucasVadilho/anatole into pr/72"" ([6752fb1](https://github.com/lxndrblz/anatole/commit/6752fb185e4ae9b87d90adaa70c8f81af43cdbdf))
- Revert "Alternative suggestion" ([1306bb7](https://github.com/lxndrblz/anatole/commit/1306bb71e6e0333c1fd1995c65bb715367694004))
## [0.5.0](https://github.com/lxndrblz/anatole/compare/v1.7.0...v1.8.0) (2021-01-05)
## [0.3.0](https://github.com/lxndrblz/anatole/compare/v1.7.0...v1.8.0) (2020-10-25)
### Bug Fixes
- fix white space in partials template ([a6a072f](https://github.com/lxndrblz/anatole/commit/a6a072f5165ae0aeaff3e381353fcc8d39d78835))

View File

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2020 lxndrblz
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.

View File

@ -0,0 +1,72 @@
# Anatole Hugo Theme ![LICENSE](https://img.shields.io/badge/license-MIT-blue.svg) [![https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://www.conventionalcommits.org/) [![Netlify Status](https://api.netlify.com/api/v1/badges/1f4f2327-2b3f-428a-8f31-c4f921ebcc44/deploy-status)](https://app.netlify.com/sites/anatole-demo/deploys)
Anatole is a beautiful minimalist two-column [hugo](https://gohugo.io/) theme based on farbox-theme-Anatole.
![Screenshot Anatole Theme](https://raw.githubusercontent.com/lxndrblz/anatole/master/images/screenshot.png)
![Screenshot Anatole Theme (dark)](https://raw.githubusercontent.com/lxndrblz/anatole/master/images/screenshot_dark.png)
## Demo
A live demo of the theme can be found under the following domain:
[https://anatole-demo.netlify.app/](https://anatole-demo.netlify.app/)
## Features
Anatole's aims to be minimalistic and sleek but still brings some great functionality, including:
- Dark mode
- Multilingual
- RTL support
- Portfolio (optional)
- Post Thumbnails (optional)
- 100100 Google Lighthouse score
- Analytics powered by Google Analytics, Simple Analytics and Umami (optional)
- Comments powered by Disqus, Commento, Gitalk, Utteranc.es or Giscus (optional)
- KaTex support (optional)
- Formspree Contact Form (optional)
- Twitter Cards support
- Open Graph support
- Google Fonts support
- Custom JavaScript and CSS (optional)
- Compliant to strict CSP
- Post Series
- Mermaid diagram support (optional)
## Preview the Example Site
```shell
git clone https://github.com/lxndrblz/anatole.git anatole
cd anatole/exampleSite
hugo server --themesDir ../..
```
## Documentation
🚧 The documentation has moved!
The latest documentation for the theme can be found within the [Wiki Tab on GitHub](https://github.com/lxndrblz/anatole/wiki).
## License
Anatole is licensed under the [MIT license](https://github.com/lxndrblz/anatole/blob/master/LICENSE).
## Contributions
This theme is maintained by its author [Alexander Bilz](https://github.com/lxndrblz) and with the help from these awesome [contributors](https://github.com/lxndrblz/anatole/graphs/contributors). All contributions (including features, translations, code cleanups, improved documentation & bugs reporting) are welcome.
Read the [guidelines](https://github.com/lxndrblz/anatole/blob/master/.github/CONTRIBUTING.md) for more information about contributing to this project.
## Sponsoring
If you like this theme, give it a star on GitHub, and consider supporting its development:
[![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/lxndrblz/)
## Special Thanks 🎁
- Go to [Cai Cai](https://github.com/hi-caicai), for the great Anatole [Farbox theme](https://github.com/hi-caicai/farbox-theme-Anatole) that formed the foundation for this theme.
- Go to [Kareya Saleh](https://unsplash.com/photos/tLKOj6cNwe0) for providing the [profile picture](https://github.com/lxndrblz/anatole/blob/master/exampleSite/static/images/profile.jpg) used in the exampleSite.
- Go to [Petri R](https://unsplash.com/photos/jLn20MzqfdE) for providing the [portfolio picture](https://github.com/lxndrblz/anatole/blob/master/exampleSite/static/images/portfolio/code.jpg) used in the exampleSite.
- Go to [Ales Krivec](https://unsplash.com/photos/4miBe6zg5r0) for providing the thumbnail picture used in the exampleSite [image-test post](https://github.com/lxndrblz/anatole/blob/master/exampleSite/content/english/post/image-test.md).
- Go to [Tobias Ahlin](https://github.com/tobiasahlin) for his [SpinKit](https://github.com/tobiasahlin/SpinKit) that is used in the exampleSite [redirect post](https://github.com/lxndrblz/anatole/blob/master/exampleSite/content/english/post/redirect.md).
- Go to [FontAwseome](https://fontawesome.com/) for providing the icons used in this project.

View File

@ -0,0 +1,8 @@
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
Description: ""
Tags: []
Categories: []
DisableComments: false
---

View File

@ -0,0 +1,464 @@
:root {
/* Light -> monokailight */
--chr-def-color: #272822;
--chr-def-bg-color: #fafafa;
--chr-err-color: #960050;
--chr-err-bg-color: #960050;
--chr-hl-bg-color: #ffffcc;
--chr-lnt-color: #7f7f7f;
--chr-ln-color: #7f7f7f;
--chr-k-color: #00a8c8;
--chr-kc-color: #00a8c8;
--chr-kd-color: #00a8c8;
--chr-kn-color: #f92672;
--chr-kp-color: #00a8c8;
--chr-kr-color: #00a8c8;
--chr-kt-color: #00a8c8;
--chr-na-color: #75af00;
--chr-bp-color: #111111;
--chr-nc-color: #75af00;
--chr-no-color: #00a8c8;
--chr-nd-color: #75af00;
--chr-ni-color: #111111;
--chr-ne-color: #75af00;
--chr-nf-color: #75af00;
--chr-fm-color: #111111;
--chr-nl-color: #111111;
--chr-nx-color: #75af00;
--chr-py-color: #111111;
--chr-nt-color: #f92672;
--chr-vc-color: #111111;
--chr-vg-color: #111111;
--chr-vi-color: #111111;
--chr-vm-color: #111111;
--chr-l-color: #ae81ff;
--chr-ld-color: #d88200;
--chr-s-color: #d88200;
--chr-sa-color: #d88200;
--chr-sb-color: #d88200;
--chr-sc-color: #d88200;
--chr-dl-color: #d88200;
--chr-sd-color: #d88200;
--chr-s2-color: #d88200;
--chr-se-color: #8045ff;
--chr-sh-color: #d88200;
--chr-si-color: #d88200;
--chr-sx-color: #d88200;
--chr-sr-color: #d88200;
--chr-s1-color: #d88200;
--chr-ss-color: #d88200;
--chr-m-color: #ae81ff;
--chr-mb-color: #ae81ff;
--chr-mf-color: #ae81ff;
--chr-mh-color: #ae81ff;
--chr-mi-color: #ae81ff;
--chr-il-color: #ae81ff;
--chr-mo-color: #ae81ff;
--chr-o-color: #f92672;
--chr-ow-color: #f92672;
--chr-p-color: #111111;
--chr-c-color: #75715e;
--chr-ch-color: #75715e;
--chr-cm-color: #75715e;
--chr-c1-color: #75715e;
--chr-cs-color: #75715e;
--chr-cp-color: #75715e;
--chr-cpf-color: #75715e;
}
:root.theme--dark {
/* Dark -> monokai */
--chr-def-color: #f8f8f2;
--chr-def-bg-color: #272822;
--chr-err-color: #960050;
--chr-err-bg-color: #1e0010;
--chr-hl-bg-color: #ffffcc;
--chr-lnt-color: #7f7f7f;
--chr-ln-color: #7f7f7f;
--chr-k-color: #66d9ef;
--chr-kc-color: #66d9ef;
--chr-kd-color: #66d9ef;
--chr-kn-color: #f92672;
--chr-kp-color: #66d9ef;
--chr-kr-color: #66d9ef;
--chr-kt-color: #66d9ef;
--chr-na-color: #a6e22e;
--chr-nc-color: #a6e22e;
--chr-no-color: #66d9ef;
--chr-nd-color: #a6e22e;
--chr-ne-color: #a6e22e;
--chr-nf-color: #a6e22e;
--chr-nx-color: #a6e22e;
--chr-nt-color: #f92672;
--chr-l-color: #ae81ff;
--chr-ld-color: #e6db74;
--chr-s-color: #e6db74;
--chr-sa-color: #e6db74;
--chr-sb-color: #e6db74;
--chr-sc-color: #e6db74;
--chr-dl-color: #e6db74;
--chr-sd-color: #e6db74;
--chr-s2-color: #e6db74;
--chr-se-color: #ae81ff;
--chr-sh-color: #e6db74;
--chr-si-color: #e6db74;
--chr-sx-color: #e6db74;
--chr-sr-color: #e6db74;
--chr-s1-color: #e6db74;
--chr-ss-color: #e6db74;
--chr-m-color: #ae81ff;
--chr-mb-color: #ae81ff;
--chr-mf-color: #ae81ff;
--chr-mh-color: #ae81ff;
--chr-mi-color: #ae81ff;
--chr-il-color: #ae81ff;
--chr-mo-color: #ae81ff;
--chr-o-color: #f92672;
--chr-ow-color: #f92672;
--chr-p-color: #f8f8f2;
--chr-c-color: #75715e;
--chr-ch-color: #75715e;
--chr-cm-color: #75715e;
--chr-c1-color: #75715e;
--chr-cs-color: #75715e;
--chr-cp-color: #75715e;
--chr-cpf-color: #75715e;
--chr-gd-color: #f92672;
--chr-gi-color: #a6e22e;
--chr-gu-color: #75715e;
}
/* Background */
.chroma {
direction: ltr;
color: var(--chr-def-color);
background-color: var(--chr-def-bg-color);
}
/* Other */
.chroma .x {
}
/* Error */
.chroma .err {
color: var(--chr-err-color);
background-color: var(--chr-err-bg-color);
}
/* LineTableTD */
.chroma .lntd {
vertical-align: top;
padding: 0;
margin: 0;
border: 0;
}
/* LineTable */
.chroma .lntable {
border-spacing: 0;
padding: 0;
margin: 0;
border: 0;
width: auto;
overflow: auto;
display: block;
}
/* LineHighlight */
.chroma .hl {
display: block;
width: 100%;
background-color: var(--chr-hl-bg-color);
}
/* LineNumbersTable */
.chroma .lnt {
margin-right: 0.4em;
padding: 0 0.4em 0 0.4em;
color: var(--chr-lnt-color);
}
/* LineNumbers */
.chroma .ln {
margin-right: 0.4em;
padding: 0 0.4em 0 0.4em;
color: var(--chr-ln-color);
}
/* Keyword */
.chroma .k {
color: var(--chr-k-color);
}
/* KeywordConstant */
.chroma .kc {
color: var(--chr-kc-color);
}
/* KeywordDeclaration */
.chroma .kd {
color: var(--chr-kd-color);
}
/* KeywordNamespace */
.chroma .kn {
color: var(--chr-kn-color);
}
/* KeywordPseudo */
.chroma .kp {
color: var(--chr-kp-color);
}
/* KeywordReserved */
.chroma .kr {
color: var(--chr-kr-color);
}
/* KeywordType */
.chroma .kt {
color: var(--chr-kt-color);
}
/* Name */
.chroma .n {
color: var(--chr-n-color);
}
/* NameAttribute */
.chroma .na {
color: var(--chr-na-color);
}
/* NameBuiltin */
.chroma .nb {
color: var(--chr-nb-color);
}
/* NameBuiltinPseudo */
.chroma .bp {
color: var(--chr-bp-color);
}
/* NameClass */
.chroma .nc {
color: var(--chr-nc-color);
}
/* NameConstant */
.chroma .no {
color: var(--chr-no-color);
}
/* NameDecorator */
.chroma .nd {
color: var(--chr-nd-color);
}
/* NameEntity */
.chroma .ni {
color: var(--chr-ni-color);
}
/* NameException */
.chroma .ne {
color: var(--chr-ne-color);
}
/* NameFunction */
.chroma .nf {
color: var(--chr-nf-color);
}
/* NameFunctionMagic */
.chroma .fm {
color: var(--chr-fm-color);
}
/* NameLabel */
.chroma .nl {
color: var(--chr-nl-color);
}
/* NameNamespace */
.chroma .nn {
color: var(--chr-nn-color);
}
/* NameOther */
.chroma .nx {
color: var(--chr-nx-color);
}
/* NameProperty */
.chroma .py {
color: var(--chr-py-color);
}
/* NameTag */
.chroma .nt {
color: var(--chr-nt-color);
}
/* NameVariable */
.chroma .nv {
color: var(--chr-nv-color);
}
/* NameVariableClass */
.chroma .vc {
color: var(--chr-vc-color);
}
/* NameVariableGlobal */
.chroma .vg {
color: var(--chr-vg-color);
}
/* NameVariableInstance */
.chroma .vi {
color: var(--chr-vi-color);
}
/* NameVariableMagic */
.chroma .vm {
color: var(--chr-vm-color);
}
/* Literal */
.chroma .l {
color: var(--chr-l-color);
}
/* LiteralDate */
.chroma .ld {
color: var(--chr-ld-color);
}
/* LiteralString */
.chroma .s {
color: var(--chr-s-color);
}
/* LiteralStringAffix */
.chroma .sa {
color: var(--chr-sa-color);
}
/* LiteralStringBacktick */
.chroma .sb {
color: var(--chr-sb-color);
}
/* LiteralStringChar */
.chroma .sc {
color: var(--chr-sc-color);
}
/* LiteralStringDelimiter */
.chroma .dl {
color: var(--chr-dl-color);
}
/* LiteralStringDoc */
.chroma .sd {
color: var(--chr-sd-color);
}
/* LiteralStringDouble */
.chroma .s2 {
color: var(--chr-s2-color);
}
/* LiteralStringEscape */
.chroma .se {
color: var(--chr-se-color);
}
/* LiteralStringHeredoc */
.chroma .sh {
color: var(--chr-sh-color);
}
/* LiteralStringInterpol */
.chroma .si {
color: var(--chr-si-color);
}
/* LiteralStringOther */
.chroma .sx {
color: var(--chr-sx-color);
}
/* LiteralStringRegex */
.chroma .sr {
color: var(--chr-sr-color);
}
/* LiteralStringSingle */
.chroma .s1 {
color: var(--chr-s1-color);
}
/* LiteralStringSymbol */
.chroma .ss {
color: var(--chr-ss-color);
}
/* LiteralNumber */
.chroma .m {
color: var(--chr-m-color);
}
/* LiteralNumberBin */
.chroma .mb {
color: var(--chr-mb-color);
}
/* LiteralNumberFloat */
.chroma .mf {
color: var(--chr-mf-color);
}
/* LiteralNumberHex */
.chroma .mh {
color: var(--chr-mh-color);
}
/* LiteralNumberInteger */
.chroma .mi {
color: var(--chr-mi-color);
}
/* LiteralNumberIntegerLong */
.chroma .il {
color: var(--chr-il-color);
}
/* LiteralNumberOct */
.chroma .mo {
color: var(--chr-mo-color);
}
/* Operator */
.chroma .o {
color: var(--chr-o-color);
}
/* OperatorWord */
.chroma .ow {
color: var(--chr-ow-color);
}
/* Punctuation */
.chroma .p {
color: var(--chr-p-color);
}
/* Comment */
.chroma .c {
color: var(--chr-c-color);
}
/* CommentHashbang */
.chroma .ch {
color: var(--chr-ch-color);
}
/* CommentMultiline */
.chroma .cm {
color: var(--chr-cm-color);
}
/* CommentSingle */
.chroma .c1 {
color: var(--chr-c1-color);
}
/* CommentSpecial */
.chroma .cs {
color: var(--chr-cs-color);
}
/* CommentPreproc */
.chroma .cp {
color: var(--chr-cp-color);
}
/* CommentPreprocFile */
.chroma .cpf {
color: var(--chr-cpf-color);
}
/* Generic */
.chroma .g {
}
/* GenericDeleted */
.chroma .gd {
}
/* GenericEmph */
.chroma .ge {
font-style: italic;
}
/* GenericError */
.chroma .gr {
}
/* GenericHeading */
.chroma .gh {
}
/* GenericInserted */
.chroma .gi {
}
/* GenericOutput */
.chroma .go {
}
/* GenericPrompt */
.chroma .gp {
}
/* GenericStrong */
.chroma .gs {
font-weight: bold;
}
/* GenericSubheading */
.chroma .gu {
}
/* GenericTraceback */
.chroma .gt {
}
/* GenericUnderline */
.chroma .gl {
}
/* TextWhitespace */
.chroma .w {
}

View File

@ -0,0 +1,85 @@
:root {
--sk-size: 40px;
--sk-color: #333;
}
body.theme--dark {
--sk-color: rgb(169, 169, 179);
}
.sk-wrapper {
display: flex;
justify-content: center;
padding: 24px 0;
}
.sk-fold {
width: var(--sk-size);
height: var(--sk-size);
position: relative;
transform: rotateZ(45deg);
}
.sk-fold-cube {
float: left;
width: 50%;
height: 50%;
position: relative;
transform: scale(1.1);
}
.sk-fold-cube:before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: var(--sk-color);
animation: sk-fold 2.4s infinite linear both;
transform-origin: 100% 100%;
}
.sk-fold-cube:nth-child(2) {
transform: scale(1.1) rotateZ(90deg);
}
.sk-fold-cube:nth-child(4) {
transform: scale(1.1) rotateZ(180deg);
}
.sk-fold-cube:nth-child(3) {
transform: scale(1.1) rotateZ(270deg);
}
.sk-fold-cube:nth-child(2):before {
animation-delay: 0.3s;
}
.sk-fold-cube:nth-child(4):before {
animation-delay: 0.6s;
}
.sk-fold-cube:nth-child(3):before {
animation-delay: 0.9s;
}
@keyframes sk-fold {
0%,
10% {
transform: perspective(140px) rotateX(-180deg);
opacity: 0;
}
25%,
75% {
transform: perspective(140px) rotateX(0);
opacity: 1;
}
90%,
100% {
transform: perspective(140px) rotateY(180deg);
opacity: 0;
}
}

View File

@ -0,0 +1,165 @@
Fonticons, Inc. (https://fontawesome.com)
--------------------------------------------------------------------------------
Font Awesome Free License
Font Awesome Free is free, open source, and GPL friendly. You can use it for
commercial projects, open source projects, or really almost whatever you want.
Full Font Awesome Free license: https://fontawesome.com/license/free.
--------------------------------------------------------------------------------
# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/)
The Font Awesome Free download is licensed under a Creative Commons
Attribution 4.0 International License and applies to all icons packaged
as SVG and JS file types.
--------------------------------------------------------------------------------
# Fonts: SIL OFL 1.1 License
In the Font Awesome Free download, the SIL OFL license applies to all icons
packaged as web and desktop font files.
Copyright (c) 2024 Fonticons, Inc. (https://fontawesome.com)
with Reserved Font Name: "Font Awesome".
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
SIL OPEN FONT LICENSE
Version 1.1 - 26 February 2007
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting — in part or in whole — any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
--------------------------------------------------------------------------------
# Code: MIT License (https://opensource.org/licenses/MIT)
In the Font Awesome Free download, the MIT license applies to all non-font and
non-icon files.
Copyright 2024 Fonticons, Inc.
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.
--------------------------------------------------------------------------------
# Attribution
Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font
Awesome Free files already contain embedded comments with sufficient
attribution, so you shouldn't need to do anything additional when using these
files normally.
We've kept attribution comments terse, so we ask that you do not actively work
to remove them from files, especially code. They're a great way for folks to
learn about Font Awesome.
--------------------------------------------------------------------------------
# Brand Icons
All brand icons are trademarks of their respective owners. The use of these
trademarks does not indicate endorsement of the trademark holder by Font
Awesome, nor vice versa. **Please do not use brand logos for any purpose except
to represent the company, product, or service to which they refer.**

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,6 @@
/*!
* Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2024 Fonticons, Inc.
*/
:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-weight:400}

View File

@ -0,0 +1,6 @@
/*!
* Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2024 Fonticons, Inc.
*/
:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-weight:900}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,6 @@
/*!
* Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2024 Fonticons, Inc.
*/
@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format("woff2"),url(../webfonts/fa-v4compatibility.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,6 @@
/*!
* Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2024 Fonticons, Inc.
*/
@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}

View File

@ -0,0 +1,11 @@
document.addEventListener('DOMContentLoaded', () => {
const navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);
const nav = document.querySelector('nav');
if (navbarBurgers.length < 1) return;
navbarBurgers.forEach((navbarBurger) => {
navbarBurger.addEventListener('click', () => {
navbarBurger.classList.toggle('nav--active');
nav.classList.toggle('nav--active');
});
});
});

View File

@ -0,0 +1,50 @@
const getStoredThemeStyle = () => localStorage.getItem('theme');
const setThemeClass = (style) => {
const html = document.documentElement;
const prevTheme = [...html.classList].find((c) => c.match(/theme--(light|dark)/));
if (!prevTheme) return;
html.classList.remove(prevTheme);
html.classList.add(`theme--${style}`);
};
const setThemeStyle = (style) => {
localStorage.setItem('theme', style);
setThemeClass(style);
};
const switchTheme = () => {
const currThemeStyle = getStoredThemeStyle();
switch (currThemeStyle) {
case 'light':
setThemeStyle('dark');
break;
case 'dark':
setThemeStyle('light');
break;
default:
setThemeStyle('light');
break;
}
};
document.addEventListener(
'DOMContentLoaded',
() => {
const themeSwitcher = document.querySelector('.themeswitch');
themeSwitcher.addEventListener('click', switchTheme, false);
},
false,
);
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', switchTheme, false);
const currThemeStyle = getStoredThemeStyle();
if (currThemeStyle) {
setThemeStyle(currThemeStyle);
} else {
const userPrefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
if (userPrefersDark) {
setThemeStyle('dark');
}
}

View File

@ -0,0 +1,507 @@
/*!medium-zoom 1.0.5 | MIT License | https://github.com/francoischalifour/medium-zoom*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined'
? (module.exports = factory())
: typeof define === 'function' && define.amd
? define(factory)
: ((global = global || self), (global.mediumZoom = factory()));
})(this, function () {
'use strict';
var _extends =
Object.assign ||
function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
var isSupported = function isSupported(node) {
return node.tagName === 'IMG';
};
var isNodeList = function isNodeList(selector) {
return NodeList.prototype.isPrototypeOf(selector);
};
var isNode = function isNode(selector) {
return selector && selector.nodeType === 1;
};
var isSvg = function isSvg(image) {
var source = image.currentSrc || image.src;
return source.substr(-4).toLowerCase() === '.svg';
};
var getImagesFromSelector = function getImagesFromSelector(selector) {
try {
if (Array.isArray(selector)) {
return selector.filter(isSupported);
}
if (isNodeList(selector)) {
return [].slice.call(selector).filter(isSupported);
}
if (isNode(selector)) {
return [selector].filter(isSupported);
}
if (typeof selector === 'string') {
return [].slice.call(document.querySelectorAll(selector)).filter(isSupported);
}
return [];
} catch (err) {
throw new TypeError(
'The provided selector is invalid.\n' +
'Expects a CSS selector, a Node element, a NodeList or an array.\n' +
'See: https://github.com/francoischalifour/medium-zoom',
);
}
};
var createOverlay = function createOverlay() {
var overlay = document.createElement('div');
overlay.classList.add('medium-zoom-overlay');
return overlay;
};
var cloneTarget = function cloneTarget(template) {
var _template$getBounding = template.getBoundingClientRect(),
top = _template$getBounding.top,
left = _template$getBounding.left,
width = _template$getBounding.width,
height = _template$getBounding.height;
var clone = template.cloneNode();
var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0;
clone.removeAttribute('id');
clone.style.position = 'absolute';
clone.style.top = top + scrollTop + 'px';
clone.style.left = left + scrollLeft + 'px';
clone.style.width = width + 'px';
clone.style.height = height + 'px';
clone.style.transform = '';
return clone;
};
var createCustomEvent = function createCustomEvent(type, params) {
var eventParams = _extends(
{
bubbles: false,
cancelable: false,
detail: undefined,
},
params,
);
if (typeof window.CustomEvent === 'function') {
return new CustomEvent(type, eventParams);
}
var customEvent = document.createEvent('CustomEvent');
customEvent.initCustomEvent(type, eventParams.bubbles, eventParams.cancelable, eventParams.detail);
return customEvent;
};
var mediumZoom = function mediumZoom(selector) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var Promise =
window.Promise ||
function Promise(fn) {
function noop() {}
fn(noop, noop);
};
var _handleClick = function _handleClick(event) {
var target = event.target;
if (target === overlay) {
close();
return;
}
if (images.indexOf(target) === -1) {
return;
}
toggle({
target: target,
});
};
var _handleScroll = function _handleScroll() {
if (isAnimating || !active.original) {
return;
}
var currentScroll = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
if (Math.abs(scrollTop - currentScroll) > zoomOptions.scrollOffset) {
setTimeout(close, 150);
}
};
var _handleKeyUp = function _handleKeyUp(event) {
var key = event.key || event.keyCode;
if (key === 'Escape' || key === 'Esc' || key === 27) {
close();
}
};
var update = function update() {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var newOptions = options;
if (options.container && options.container instanceof Object) {
newOptions.container = _extends({}, zoomOptions.container, options.container);
}
if (options.template) {
var template = isNode(options.template) ? options.template : document.querySelector(options.template);
newOptions.template = template;
}
zoomOptions = _extends({}, zoomOptions, newOptions);
images.forEach(function (image) {
image.dispatchEvent(
createCustomEvent('medium-zoom:update', {
detail: {
zoom: zoom,
},
}),
);
});
return zoom;
};
var clone = function clone() {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return mediumZoom(_extends({}, zoomOptions, options));
};
var attach = function attach() {
for (var _len = arguments.length, selectors = Array(_len), _key = 0; _key < _len; _key++) {
selectors[_key] = arguments[_key];
}
var newImages = selectors.reduce(function (imagesAccumulator, currentSelector) {
return [].concat(imagesAccumulator, getImagesFromSelector(currentSelector));
}, []);
newImages
.filter(function (newImage) {
return images.indexOf(newImage) === -1;
})
.forEach(function (newImage) {
images.push(newImage);
newImage.classList.add('medium-zoom-image');
});
eventListeners.forEach(function (_ref) {
var type = _ref.type,
listener = _ref.listener,
options = _ref.options;
newImages.forEach(function (image) {
image.addEventListener(type, listener, options);
});
});
return zoom;
};
var detach = function detach() {
for (var _len2 = arguments.length, selectors = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
selectors[_key2] = arguments[_key2];
}
if (active.zoomed) {
close();
}
var imagesToDetach =
selectors.length > 0
? selectors.reduce(function (imagesAccumulator, currentSelector) {
return [].concat(imagesAccumulator, getImagesFromSelector(currentSelector));
}, [])
: images;
imagesToDetach.forEach(function (image) {
image.classList.remove('medium-zoom-image');
image.dispatchEvent(
createCustomEvent('medium-zoom:detach', {
detail: {
zoom: zoom,
},
}),
);
});
images = images.filter(function (image) {
return imagesToDetach.indexOf(image) === -1;
});
return zoom;
};
var on = function on(type, listener) {
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
images.forEach(function (image) {
image.addEventListener('medium-zoom:' + type, listener, options);
});
eventListeners.push({
type: 'medium-zoom:' + type,
listener: listener,
options: options,
});
return zoom;
};
var off = function off(type, listener) {
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
images.forEach(function (image) {
image.removeEventListener('medium-zoom:' + type, listener, options);
});
eventListeners = eventListeners.filter(function (eventListener) {
return !(
eventListener.type === 'medium-zoom:' + type && eventListener.listener.toString() === listener.toString()
);
});
return zoom;
};
var open = function open() {
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
target = _ref2.target;
var _animate = function _animate() {
var container = {
width: document.documentElement.clientWidth,
height: document.documentElement.clientHeight,
left: 0,
top: 0,
right: 0,
bottom: 0,
};
var viewportWidth = void 0;
var viewportHeight = void 0;
if (zoomOptions.container) {
if (zoomOptions.container instanceof Object) {
container = _extends({}, container, zoomOptions.container);
viewportWidth = container.width - container.left - container.right - zoomOptions.margin * 2;
viewportHeight = container.height - container.top - container.bottom - zoomOptions.margin * 2;
} else {
var zoomContainer = isNode(zoomOptions.container)
? zoomOptions.container
: document.querySelector(zoomOptions.container);
var _zoomContainer$getBou = zoomContainer.getBoundingClientRect(),
_width = _zoomContainer$getBou.width,
_height = _zoomContainer$getBou.height,
_left = _zoomContainer$getBou.left,
_top = _zoomContainer$getBou.top;
container = _extends({}, container, {
width: _width,
height: _height,
left: _left,
top: _top,
});
}
}
viewportWidth = viewportWidth || container.width - zoomOptions.margin * 2;
viewportHeight = viewportHeight || container.height - zoomOptions.margin * 2;
var zoomTarget = active.zoomedHd || active.original;
var naturalWidth = isSvg(zoomTarget) ? viewportWidth : zoomTarget.naturalWidth || viewportWidth;
var naturalHeight = isSvg(zoomTarget) ? viewportHeight : zoomTarget.naturalHeight || viewportHeight;
var _zoomTarget$getBoundi = zoomTarget.getBoundingClientRect(),
top = _zoomTarget$getBoundi.top,
left = _zoomTarget$getBoundi.left,
width = _zoomTarget$getBoundi.width,
height = _zoomTarget$getBoundi.height;
var scaleX = Math.min(naturalWidth, viewportWidth) / width;
var scaleY = Math.min(naturalHeight, viewportHeight) / height;
var scale = Math.min(scaleX, scaleY);
var translateX = (-left + (viewportWidth - width) / 2 + zoomOptions.margin + container.left) / scale;
var translateY = (-top + (viewportHeight - height) / 2 + zoomOptions.margin + container.top) / scale;
var transform = 'scale(' + scale + ') translate3d(' + translateX + 'px, ' + translateY + 'px, 0)';
active.zoomed.style.transform = transform;
if (active.zoomedHd) {
active.zoomedHd.style.transform = transform;
}
};
return new Promise(function (resolve) {
if (target && images.indexOf(target) === -1) {
resolve(zoom);
return;
}
var _handleOpenEnd = function _handleOpenEnd() {
isAnimating = false;
active.zoomed.removeEventListener('transitionend', _handleOpenEnd);
active.original.dispatchEvent(
createCustomEvent('medium-zoom:opened', {
detail: {
zoom: zoom,
},
}),
);
resolve(zoom);
};
if (active.zoomed) {
resolve(zoom);
return;
}
if (target) {
active.original = target;
} else if (images.length > 0) {
var _images = images;
active.original = _images[0];
} else {
resolve(zoom);
return;
}
active.original.dispatchEvent(
createCustomEvent('medium-zoom:open', {
detail: {
zoom: zoom,
},
}),
);
scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
isAnimating = true;
active.zoomed = cloneTarget(active.original);
document.body.appendChild(overlay);
if (zoomOptions.template) {
var template = isNode(zoomOptions.template)
? zoomOptions.template
: document.querySelector(zoomOptions.template);
active.template = document.createElement('div');
active.template.appendChild(template.content.cloneNode(true));
document.body.appendChild(active.template);
}
document.body.appendChild(active.zoomed);
window.requestAnimationFrame(function () {
document.body.classList.add('medium-zoom--opened');
});
active.original.classList.add('medium-zoom-image--hidden');
active.zoomed.classList.add('medium-zoom-image--opened');
active.zoomed.addEventListener('click', close);
active.zoomed.addEventListener('transitionend', _handleOpenEnd);
if (active.original.getAttribute('data-zoom-src')) {
active.zoomedHd = active.zoomed.cloneNode();
active.zoomedHd.removeAttribute('srcset');
active.zoomedHd.removeAttribute('sizes');
active.zoomedHd.src = active.zoomed.getAttribute('data-zoom-src');
active.zoomedHd.onerror = function () {
clearInterval(getZoomTargetSize);
console.warn('Unable to reach the zoom image target ' + active.zoomedHd.src);
active.zoomedHd = null;
_animate();
};
var getZoomTargetSize = setInterval(function () {
if (active.zoomedHd.complete) {
clearInterval(getZoomTargetSize);
active.zoomedHd.classList.add('medium-zoom-image--opened');
active.zoomedHd.addEventListener('click', close);
document.body.appendChild(active.zoomedHd);
_animate();
}
}, 10);
} else if (active.original.hasAttribute('srcset')) {
active.zoomedHd = active.zoomed.cloneNode();
active.zoomedHd.removeAttribute('sizes');
var loadEventListener = active.zoomedHd.addEventListener('load', function () {
active.zoomedHd.removeEventListener('load', loadEventListener);
active.zoomedHd.classList.add('medium-zoom-image--opened');
active.zoomedHd.addEventListener('click', close);
document.body.appendChild(active.zoomedHd);
_animate();
});
} else {
_animate();
}
});
};
var close = function close() {
return new Promise(function (resolve) {
if (isAnimating || !active.original) {
resolve(zoom);
return;
}
var _handleCloseEnd = function _handleCloseEnd() {
active.original.classList.remove('medium-zoom-image--hidden');
document.body.removeChild(active.zoomed);
if (active.zoomedHd) {
document.body.removeChild(active.zoomedHd);
}
document.body.removeChild(overlay);
active.zoomed.classList.remove('medium-zoom-image--opened');
if (active.template) {
document.body.removeChild(active.template);
}
isAnimating = false;
active.zoomed.removeEventListener('transitionend', _handleCloseEnd);
active.original.dispatchEvent(
createCustomEvent('medium-zoom:closed', {
detail: {
zoom: zoom,
},
}),
);
active.original = null;
active.zoomed = null;
active.zoomedHd = null;
active.template = null;
resolve(zoom);
};
isAnimating = true;
document.body.classList.remove('medium-zoom--opened');
active.zoomed.style.transform = '';
if (active.zoomedHd) {
active.zoomedHd.style.transform = '';
}
if (active.template) {
active.template.style.transition = 'opacity 150ms';
active.template.style.opacity = 0;
}
active.original.dispatchEvent(
createCustomEvent('medium-zoom:close', {
detail: {
zoom: zoom,
},
}),
);
active.zoomed.addEventListener('transitionend', _handleCloseEnd);
});
};
var toggle = function toggle() {
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
target = _ref3.target;
if (active.original) {
return close();
}
return open({
target: target,
});
};
var getOptions = function getOptions() {
return zoomOptions;
};
var getImages = function getImages() {
return images;
};
var getZoomedImage = function getZoomedImage() {
return active.original;
};
var images = [];
var eventListeners = [];
var isAnimating = false;
var scrollTop = 0;
var zoomOptions = options;
var active = {
original: null,
zoomed: null,
zoomedHd: null,
template: null,
};
if (Object.prototype.toString.call(selector) === '[object Object]') {
zoomOptions = selector;
} else if (selector || typeof selector === 'string') {
attach(selector);
}
zoomOptions = _extends(
{
margin: 0,
scrollOffset: 40,
container: null,
template: null,
},
zoomOptions,
);
var overlay = createOverlay();
document.addEventListener('click', _handleClick);
document.addEventListener('keyup', _handleKeyUp);
document.addEventListener('scroll', _handleScroll);
window.addEventListener('resize', close);
var zoom = {
open: open,
close: close,
toggle: toggle,
update: update,
clone: clone,
attach: attach,
detach: detach,
on: on,
off: off,
getOptions: getOptions,
getImages: getImages,
getZoomedImage: getZoomedImage,
};
return zoom;
};
return mediumZoom;
});
mediumZoom(document.querySelectorAll('div.post__content img'));

View File

@ -0,0 +1,4 @@
$content-ratio: {{ .Site.Params.contentratio | default 0.6 }};
$text-direction: "rtl";
@import 'main.scss';

View File

@ -0,0 +1,4 @@
$content-ratio: {{ .Site.Params.contentratio | default 0.6 }};
$text-direction: "ltr";
@import 'main.scss';

View File

@ -0,0 +1,29 @@
@import './modules/variables';
@import './modules/config';
@import './modules/color_theme';
@import './partials/hugo';
@import './partials/base';
@import './partials/layout/html';
@import './partials/layout/body';
@import './partials/layout/header';
@import './partials/layout/nav';
@import './partials/components/animated';
@import './partials/components/category';
@import './partials/components/tag';
@import './partials/components/wrapper';
@import './partials/components/sidebar';
@import './partials/components/footer';
@import './partials/components/pagination';
@import './partials/components/navbarburger';
@import './partials/components/comment';
@import './partials/components/optionswitch';
@import './partials/components/post';
@import './partials/components/alert';
@import './partials/components/portfolio';
@import './partials/components/page404';
@import './partials/components/archive';
@import './partials/components/notice';
@import './partials/vendors/mediumzoom';
@import './partials/vendors/contactform';
@import './partials/vendors/tableofcontents';
@import './partials/vendors/table';

View File

@ -0,0 +1,52 @@
$themes: (
light: (
accent: $accent--lightmode,
primary: $primary--lightmode,
primary-light: $primary-light--lightmode,
primary-lighter: $primary-lighter--lightmode,
info: $info,
shadow: $shadow--lightmode,
border: 1px solid $primary-lighter--lightmode,
alert: $warning,
success: $success,
warning: $warning,
danger: $danger,
),
dark: (
accent: $accent--darkmode,
primary: $primary--darkmode,
primary-light: $primary-light--darkmode,
primary-lighter: $primary-lighter--darkmode,
info: $info,
shadow: $shadow--darkmode,
border: 1px solid $primary-lighter--darkmode,
alert: $warning,
success: $success,
warning: $warning,
danger: $danger,
),
);
$theme-map: ();
@mixin themed() {
@each $theme, $map in $themes {
.theme--#{$theme} & {
@each $key, $submap in $map {
$value: map-get(map-get($themes, $theme), '#{$key}');
$theme-map: map-merge(
$theme-map,
(
$key: $value,
)
) !global;
}
@content;
$theme-map: ();
}
}
}
@function t($key) {
@return map-get($theme-map, $key);
}

View File

@ -0,0 +1,29 @@
@mixin desktop {
@media screen and (min-width: 961px) {
@content;
}
}
@mixin widescreen {
@media screen and (min-width: 1921px) {
@content;
}
}
@mixin print {
@media print {
@content;
}
}
@mixin ltr {
@if $text-direction == ltr {
@content;
}
}
@mixin rtl {
@if $text-direction == rtl {
@content;
}
}

View File

@ -0,0 +1,25 @@
$accent--lightmode: #fff;
$primary--lightmode: #464646;
$primary-light--lightmode: #9f9f9f;
$primary-lighter--lightmode: #eeeeee;
$shadow--lightmode: 0 8px 16px rgba(10, 10, 10, 0.1);
$accent--darkmode: #152028;
$primary--darkmode: #eeeeee;
$primary-light--darkmode: #9f9f9f;
$primary-lighter--darkmode: #464646;
$shadow--darkmode: 0 8px 16px rgba(226, 226, 226, 0.1);
$warning: #ffc107;
$info: #6086b4;
$success: #51d88a;
$danger: #ef5753;
$thumbnail-height: 15em;
$body-max-width: 1920px;
$sidebar-ratio: calc(1 - #{$content-ratio});
$content-max-width: calc(#{$body-max-width} * #{$content-ratio});
$sidebar-max-width: calc(#{$body-max-width} - #{$content-max-width});
$content-width: calc(#{$content-ratio} * 100%);
$sidebar-width: calc(#{$sidebar-ratio} * 100%);

View File

@ -0,0 +1,17 @@
@charset "UTF-8";
* {
font-family: inherit;
}
body {
@include ltr {
font-family: 'PingHei', 'PingFang SC', 'Helvetica Neue', 'Work Sans', 'Hiragino Sans GB', sans-serif;
font-size: 1.6rem;
}
@include rtl {
font-family: 'Tajawal', sans-serif;
font-size: 1.5rem;
}
}

View File

@ -0,0 +1,33 @@
a {
text-decoration: none;
@include themed() {
color: t('primary');
}
&:hover {
@include themed() {
color: t('info');
}
}
}
blockquote {
padding: 0 1em;
@include themed() {
color: t('primary');
@include ltr {
border-left: t('border');
}
@include rtl {
border-right: t('border');
}
}
}
p {
line-height: 1.9em;
}

View File

@ -0,0 +1,27 @@
.alert {
padding: 1rem;
border-style: solid;
border-radius: 0.25rem;
border-width: 2px;
margin-top: 1rem;
@include themed() {
border-color: t('alert');
}
&__indicator {
display: inline-block;
border-radius: 9999px;
padding: 0.5rem;
width: 2.5rem;
height: 2.5rem;
text-align: center;
font-weight: 800;
margin-right: 0.75rem;
@include themed() {
color: t('accent');
background-color: t('alert');
}
}
}

View File

@ -0,0 +1,52 @@
.animated {
transition: top 0.8s linear;
animation-duration: 1s;
-webkit-animation-duration: 1s;
-moz-animation-duration: 1s;
-ms-animation-duration: 1s;
-o-animation-duration: 1s;
-webkit-animation-name: fadeInDown;
-moz-animation-name: fadeInDown;
-o-animation-name: fadeInDown;
animation-name: fadeInDown;
@-webkit-keyframes fadeInDown {
0% {
-webkit-transform: translateY(-20px);
}
100% {
-webkit-transform: translateY(0);
}
}
@-moz-keyframes fadeInDown {
0% {
-moz-transform: translateY(-20px);
}
100% {
-moz-transform: translateY(0);
}
}
@-o-keyframes fadeInDown {
0% {
-o-transform: translateY(-20px);
}
100% {
-o-transform: translateY(0);
}
}
@keyframes fadeInDown {
0% {
transform: translateY(-20px);
}
100% {
transform: translateY(0);
}
}
}

View File

@ -0,0 +1,46 @@
.archive {
margin: 30px;
&__heading {
font-size: 2.4rem;
font-weight: 600;
line-height: 2.2em;
@include themed() {
color: t('primary');
}
}
&__list {
padding: 0;
&-item {
display: flex;
justify-content: space-between;
padding-bottom: 5px;
list-style-type: none;
}
&-date {
text-align: right;
@include themed() {
color: t('primary-light');
}
}
&-title {
display: inline-block;
flex: 0.96;
@include themed() {
color: t('primary');
}
&:hover {
@include themed() {
color: t('info');
}
}
}
}
}

View File

@ -0,0 +1,20 @@
.category {
padding: 4px 6px;
border-radius: 2px;
display: inline-block;
font-size: 1.4rem;
@include themed() {
border: t('border');
background-color: t('primary-lighter');
color: t('primary') !important;
}
@include ltr {
margin: 5px 8px 5px 0;
}
@include rtl {
margin: 5px 0 5px 8px;
}
}

View File

@ -0,0 +1,6 @@
.comment {
margin: 30px;
.utterances {
max-width: unset;
}
}

View File

@ -0,0 +1,45 @@
.footer {
$font-size-footer: 1.4rem;
text-align: center;
margin: 0 auto;
bottom: 0;
width: 100%;
padding-bottom: 20px;
flex: 0;
position: relative;
&__list {
list-style: none;
padding: 0;
display: flex;
justify-content: center;
}
&__item {
font-size: $font-size-footer;
&:not(:first-of-type)::before {
content: '\00B7';
padding: 4px;
}
a {
font-size: $font-size-footer;
}
}
&__sidebar {
display: none;
@include desktop {
display: inline-block;
}
}
&__base {
@include desktop {
display: none;
}
}
}

View File

@ -0,0 +1,40 @@
.navbar-burger {
cursor: pointer;
display: block;
height: 3.25rem;
position: relative;
width: 3.25rem;
margin-left: auto;
padding: 6px;
&__line {
display: block;
height: 1px;
left: calc(50% - 8px);
position: absolute;
transform-origin: center;
transition-duration: 86ms;
transition-property: background-color, opacity, transform;
transition-timing-function: ease-out;
width: 16px;
@include themed() {
background-color: t('primary');
}
&:nth-child(1) {
top: calc(50% - 6px);
}
&:nth-child(2) {
top: calc(50% - 1px);
}
&:nth-child(3) {
top: calc(50% + 4px);
}
}
@include desktop {
display: none;
}
}

View File

@ -0,0 +1,44 @@
.notice {
display: flex;
flex-direction: column;
@include themed() {
background-color: mix(t('info'), t('accent'), 40%);
}
&--update {
@include themed() {
background-color: mix(t('success'), t('accent'), 40%);
}
}
&--warning {
@include themed() {
background-color: mix(t('danger'), t('accent'), 40%);
}
}
&__title {
background-color: t('info');
align-self: flex-end;
font-weight: 300;
letter-spacing: 0.025em;
padding: 0.2rem 0.5rem 0.2rem 0.5rem;
@include themed() {
color: t('accent');
}
&--update {
background-color: t('success');
}
&--warning {
background-color: t('danger');
}
}
&__content {
padding: 8px 8px 1rem 1rem;
}
}

View File

@ -0,0 +1,81 @@
.optionswitch {
position: relative;
&__label {
cursor: pointer;
white-space: nowrap;
}
&__list {
display: none;
list-style: none;
padding: 0;
position: relative;
@include desktop {
border-radius: 5px;
position: absolute;
top: 32px;
@include themed() {
background: t('primary-lighter');
box-shadow: t('shadow');
}
}
&-item {
background: transparent;
display: block;
line-height: 1;
bottom: 0;
text-align: center;
white-space: nowrap;
padding-top: 24px;
@include themed() {
color: t('primary');
}
@include desktop {
padding: 12px;
}
}
}
&__triangle {
display: none;
&::before {
content: '';
border-radius: 2px 0px 0px 0px;
height: 14px;
left: calc(50% / 2);
overflow: hidden;
position: absolute;
transform: rotate(45deg) translateY(0px) translatex(10px);
width: 14px;
@include themed() {
background: t('primary-lighter');
box-shadow: t('shadow');
border-color: t('primary-lighter');
}
}
}
&__picker {
&:checked {
~ .optionswitch {
&__list {
display: block;
}
&__triangle {
@include desktop {
display: block;
}
}
}
}
}
}

View File

@ -0,0 +1,4 @@
.page_404 {
text-align: center;
padding-top: 50px;
}

View File

@ -0,0 +1,23 @@
.pagination {
margin: 30px;
padding: 0px 0 56px 0;
text-align: center;
&__list {
list-style: none;
margin: 0;
padding: 0;
height: 13px;
&-item {
margin: 0 2px 0 2px;
display: inline;
line-height: 1;
text-decoration: none;
@include themed() {
color: t('primary');
}
}
}
}

View File

@ -0,0 +1,185 @@
.portfolio {
position: relative;
padding-left: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-top: 48px;
@include desktop {
padding: 48px;
}
&::before {
content: '';
position: absolute;
top: 10%;
left: 10%;
bottom: 10%;
right: 10%;
background: transparent;
border-radius: 0.5em;
@include desktop {
@include themed() {
border: t('border');
}
}
}
&__title {
letter-spacing: 1px;
font-size: 2.6rem;
line-height: 1;
font-weight: 600;
}
&__image {
max-width: 100%;
min-width: 100%;
box-shadow: t('shadow');
overflow: hidden;
transition: box-shadow 0.3s ease;
object-fit: cover;
border-bottom: 0px;
display: block;
position: relative;
&-wrapper {
display: block;
background-color: #fff;
position: relative;
overflow: hidden;
&--right,
&--left {
margin-right: auto;
margin-left: auto;
width: calc(100% - 64px);
padding: 32px 32px 0px 32px;
max-width: inherit;
@include themed() {
background-color: t('accent');
}
@include desktop {
width: 60%;
object-fit: contain;
max-width: none;
border-radius: 0.5em;
padding: 0;
}
}
&--left {
@include desktop {
margin-right: auto;
margin-left: 0;
}
}
&--right {
@include desktop {
margin-right: 0;
margin-left: auto;
}
}
}
}
&__description {
padding: 32px;
position: relative;
@include themed() {
background-color: t('accent');
}
@include desktop {
padding: 48px;
border-radius: 0.5em;
@include themed() {
box-shadow: t('shadow');
}
}
&--left,
&--right {
margin-top: -24px;
@include themed() {
border-bottom: t('border');
}
@include desktop {
@include themed() {
background: t('primary-lighter');
}
border-bottom: 0px;
width: 60%;
margin-top: -48px;
}
}
&--right {
@include desktop {
margin-left: auto;
}
}
}
&__meta {
display: flex;
flex-wrap: wrap;
list-style: none;
padding: 0;
row-gap: 0.8rem;
&-item {
&:not(:last-child) {
margin-right: 1.25rem;
}
}
}
&__button {
font-weight: 400;
display: inline-block;
position: relative;
outline: 0;
background: transparent;
text-align: center;
text-decoration: none;
cursor: pointer;
white-space: nowrap;
font-style: normal;
border-radius: 999em;
padding: 10px;
@include themed() {
border: 1px solid t('primary-light');
color: t('info');
}
&:hover {
display: inline-block;
position: relative;
outline: 0px;
background: transparent;
text-align: center;
text-decoration: none;
cursor: pointer;
white-space: nowrap;
font-weight: 400;
font-style: normal;
border-radius: 999em;
}
&-wrapper {
padding-bottom: 1em;
}
}
}

View File

@ -0,0 +1,230 @@
.post {
margin: 30px;
@include themed() {
background-color: t('accent');
}
&__meta {
display: flex;
list-style: none;
padding: 0;
&-item {
&:not(:last-child) {
margin-right: 1.25rem;
}
}
&-icon {
@include ltr {
margin-right: 2px;
}
@include rtl {
margin-left: 2px;
}
}
&-text {
&:not(:last-child) {
@include ltr {
margin-right: 4px;
}
@include rtl {
margin-left: 4px;
}
}
}
}
&__thumbnail {
width: 100%;
height: $thumbnail-height;
object-fit: cover;
display: block;
&-wrapper {
border-radius: 2px;
width: 100%;
margin-bottom: 1em;
overflow: hidden;
transition: box-shadow 0.3s ease;
@include themed() {
box-shadow: t('shadow');
}
}
}
&__content {
a {
@include themed() {
color: t('info');
}
}
.chroma {
@include themed() {
background-color: t('primary-lighter');
display: block;
border-bottom: 1px solid t('primary-lighter');
}
}
code {
font-family: monospace;
}
pre {
padding: 5px;
overflow-x: auto;
@include themed() {
background-color: t('primary-lighter');
}
}
h1 {
$font-size-h1: 3.6rem;
font-size: $font-size-h1;
letter-spacing: 1px;
line-height: 1;
a {
font-size: $font-size-h1;
@include themed() {
color: t('primary');
}
}
}
h2 {
$font-size-h2: 2.4rem;
font-size: $font-size-h2;
font-weight: 600;
letter-spacing: 1px;
line-height: 1;
a {
font-size: $font-size-h2;
@include themed() {
color: t('primary');
}
}
}
h3 {
$font-size-h3: 2rem;
font-size: $font-size-h3;
font-weight: 600;
letter-spacing: 1px;
line-height: 1;
a {
font-size: $font-size-h3;
@include themed() {
color: t('primary');
}
}
}
ul,
ol {
line-height: 1.9em;
font-weight: 400;
word-wrap: break-word;
}
img {
display: block;
margin-left: auto;
margin-right: auto;
max-width: 100%;
}
figure {
max-width: 100%;
height: auto;
margin: 0 auto;
text-align: center;
&.big {
max-width: 87.5%;
}
&.medium {
max-width: 75%;
}
&.small {
max-width: 50%;
}
&.tiny {
max-width: 25%;
}
&.right {
@include desktop {
max-width: 50%;
@include ltr {
float: right;
margin: 0 0 0 1.5em;
}
@include rtl {
float: left;
margin: 0 1.5em 0 0;
}
}
}
&.left {
@include desktop {
max-width: 50%;
@include ltr {
float: left;
margin-right: 1.5em;
}
@include rtl {
float: right;
margin-left: 1.5em;
}
}
}
}
}
&__footer {
padding: 12px 0;
@include themed() {
border-bottom: t('border');
}
&-date {
font-size: 1.4rem;
@include ltr {
margin-right: 10px;
margin-left: 5px;
}
@include rtl {
margin-left: 10px;
margin-right: 5px;
}
}
}
}

View File

@ -0,0 +1,78 @@
.sidebar {
margin-top: 40px;
@include desktop {
z-index: 2;
position: fixed;
height: 100%;
margin-top: 0;
width: inherit;
display: flex;
flex-direction: column;
@include themed() {
@include ltr {
margin-right: 4px;
border-right: t('border');
}
@include rtl {
margin-left: 4px;
border-left: t('border');
}
}
}
&__content {
@include desktop {
display: flex;
flex-direction: column;
flex-grow: 1;
justify-content: center;
}
}
&__list {
list-style: none;
padding: 0;
text-align: center;
&-item {
display: inline;
padding: 0 4px;
line-height: 0;
}
}
&__introduction {
top: 40%;
text-align: center;
&-description {
margin: 0 1em;
}
&-profileimage {
width: 127px;
height: 127px;
border-radius: 50%;
}
&-title {
text-transform: uppercase;
font-weight: bold;
letter-spacing: 2px;
line-height: 1;
margin: 1em;
a {
font-size: 3.2rem;
}
h1 {
margin: 0;
}
}
}
}

View File

@ -0,0 +1,20 @@
.tag {
display: inline-block;
font-size: 1.4rem;
@include themed() {
color: t('primary-light');
}
@include ltr {
margin: 5px 8px 5px 0;
}
@include rtl {
margin: 5px 0 5px 8px;
}
&::before {
content: '#';
}
}

View File

@ -0,0 +1,4 @@
.themeswitch {
margin-top: -5px;
font-size: 1.75rem;
}

View File

@ -0,0 +1,55 @@
.wrapper {
display: flex;
flex-direction: column;
@include desktop {
flex-direction: row;
}
@include widescreen {
justify-content: center;
}
&__main {
width: 100%;
@include desktop {
width: $content-width;
}
@include widescreen {
width: calc(#{$content-ratio} * 80%);
}
&--fullscreen {
margin-top: 20px;
@include desktop {
width: 100%;
margin-top: 0px;
}
@include widescreen {
width: $body-max-width;
}
}
}
&__sidebar {
width: 100%;
padding: 16px 0;
@include desktop {
width: $sidebar-width;
padding: 0;
}
@include widescreen {
width: calc(#{$sidebar-ratio} * 80%);
}
&--hidden {
display: none;
}
}
}

View File

@ -0,0 +1,9 @@
.body {
width: 100%;
margin: 0 auto;
// work around to style body
@include themed() {
color: t('primary');
background-color: t('accent');
}
}

View File

@ -0,0 +1,21 @@
.header {
@include themed() {
background-color: t('accent');
}
width: 100%;
position: fixed;
z-index: 1;
top: 0;
@include desktop {
position: sticky;
@include themed() {
border-bottom: t('border');
}
}
@include print {
display: none;
}
}

View File

@ -0,0 +1,4 @@
.html {
-webkit-font-smoothing: antialiased;
font-size: 62.5%;
}

View File

@ -0,0 +1,74 @@
.nav {
$py-desktop: 24px;
display: none;
@include desktop {
display: flex;
justify-content: space-between;
align-items: center;
box-shadow: none;
}
&__list {
margin: 0;
list-style: none;
padding: 0;
width: 100%;
@include themed() {
background-color: t('primary-lighter');
}
@include desktop {
display: flex;
padding: $py-desktop 30px;
@include themed() {
background-color: t('accent');
}
&--end {
flex-shrink: 1;
justify-content: flex-end;
}
}
&-item {
padding: 16px 0;
text-transform: uppercase;
text-align: center;
white-space: nowrap;
@include desktop {
padding-top: 0;
padding-bottom: 0;
&:not(:last-child) {
@include ltr {
padding-right: 20px;
}
@include rtl {
padding-left: 20px;
}
}
}
}
}
&__link {
&--active {
padding-bottom: $py-desktop;
@include desktop {
@include themed() {
border-bottom: 1px solid t('primary');
}
}
}
}
&--active {
display: block;
}
}

View File

@ -0,0 +1,64 @@
/* (CONTACT) FORM */
.contact-form {
margin-top: 30px;
}
.form-style {
width: 100%;
}
.form-style ul {
padding: 0;
margin: 0;
list-style: none;
}
.form-style ul li {
@include themed() {
background-color: t('accent');
color: t('primary');
}
display: block;
margin-bottom: 10px;
min-height: 35px;
}
.form-style ul li .field-style {
@include themed() {
border: t('border');
background-color: t('accent');
color: t('primary');
}
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
padding: 8px;
outline: none;
font-family: inherit;
}
.form-style ul li .field-style:focus {
box-shadow: 0 0 5px;
border: 1px solid;
}
.form-style ul li .field-split {
width: 49%;
}
.form-style ul li .field-full {
width: 100%;
}
.form-style ul li input.align-left {
float: left;
}
.form-style ul li input.align-right {
float: right;
}
.form-style ul li textarea {
width: 100%;
height: auto;
}
.form-style ul li input[type='button'],
.form-style ul li input[type='submit'] {
display: inline-block;
cursor: pointer;
text-decoration: none;
width: 100%;
}
/* (CONTACT) FORM END */

View File

@ -0,0 +1,37 @@
.medium-zoom-overlay {
@include themed() {
background: t('accent');
}
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
opacity: 0;
transition: opacity 300ms;
will-change: opacity;
}
.medium-zoom--opened .medium-zoom-overlay {
cursor: pointer;
cursor: zoom-out;
opacity: 1;
}
.medium-zoom-image {
cursor: pointer;
cursor: zoom-in;
transition: transform 300ms cubic-bezier(0.2, 0, 0.2, 1) !important;
z-index: 100;
}
.medium-zoom-image--hidden {
visibility: hidden;
}
.medium-zoom-image--opened {
position: relative;
cursor: pointer;
cursor: zoom-out;
will-change: transform;
}

View File

@ -0,0 +1,18 @@
table {
display: table;
width: 80%;
border-collapse: collapse;
}
tr {
display: table-row;
}
th,
td {
display: table-cell;
padding: 8px;
@include themed() {
border: t('border');
}
}

View File

@ -0,0 +1,23 @@
#TableOfContents {
display: block;
background: transparent;
}
#TableOfContents ul {
list-style: none;
line-height: 1.9em;
margin: 0;
}
#TableOfContents > ul {
padding-left: 0;
}
#TableOfContents li a {
display: inherit;
color: $info;
}
#TableOfContents li a:hover {
display: inherit;
}

View File

@ -0,0 +1,52 @@
baseURL = "https://example.com"
languageCode = "en"
DefaultContentLanguage = "en"
title = "Website of Jane Doe"
# theme as hugo module
#theme = "github.com/lxndrblz/anatole"
# theme as git submodule
theme = "anatole"
summarylength = 10
enableEmoji = true
enableRobotsTXT = true
# Syntax highlighting
pygmentsUseClasses = true
pygmentsCodeFences = true
pygmentsCodefencesGuessSyntax = true
# Localized dates requires Hugo version 0.87.0
localizedDates = false
[markup]
[markup.goldmark]
[markup.goldmark.renderer]
unsafe=true
[taxonomies]
category = "categories"
series = "series"
tag = "tags"
[related]
includeNewer = true
threshold = 80
toLower = true
[[related.indices]]
name = 'keywords'
weight = 100
[[related.indices]]
name = 'tags'
weight = 80
[services]
# Enable Disqus.Disqus.Shortname
[services.disqus]
#shortname = 'your-disqus-shortname'
# Google Analytics
[services.googleAnalytics]
#ID = 'G-MEASUREMENT_ID'

View File

@ -0,0 +1,14 @@
[en]
title = "My blog"
weight = 1
LanguageName = "EN"
contentDir = "content/english"
[ar]
title = "فلانة الفلانية"
contentDir = "content/arabic"
weight = 2
LanguageDirection = "rtl"
LanguageName = "AR"
[ar.params]
description = "أنا أعمل كمطورة ويب في شركة س"

View File

@ -0,0 +1,23 @@
[[main]]
name = "الرئيسية"
identifier = "main"
weight = 100
url = "/ar/"
[[main]]
name = "المنشورات"
weight = 200
identifier = "posts"
url = "/ar/post/"
[[main]]
name = "حول"
weight = 300
identifier = "about"
url = "/ar/about/"
[[main]]
name = "للتواصل"
weight = 400
identifier = "contact"
url = "/ar/contact/"

View File

@ -0,0 +1,54 @@
[[main]]
name = "Home"
identifier = "home"
weight = 100
url = "/"
[[main]]
name = "Posts"
weight = 200
identifier = "posts"
url = "/post/"
[[main]]
name = "Portfolio"
weight = 300
identifier = "portfolio"
url = "/portfolio/"
[[main]]
name = "About"
weight = 400
identifier = "about"
url = "/about/"
[[main]]
name = "Accomplishments"
weight = 500
identifier = "accomplishments"
[[main]]
name = "Awards"
weight = 510
identifier = "awards"
url = "/awards/"
parent = "accomplishments"
[[main]]
name = "Certifications"
weight = 520
identifier = "certifications"
url = "/certifications/"
parent = "accomplishments"
[[main]]
name = "Contact"
weight = 600
identifier = "contact"
url = "/contact/"
[[footer]]
name = "imprint"
weight = 1
identifier = "imprint"
url = "/imprint/"

View File

@ -0,0 +1,80 @@
title = "I'm Jane Doe"
author = "Jane Doe"
#copyright = "2020-2021"
description = "Call me Jane"
profilePicture = "images/profile.jpg"
keywords = ""
favicon = "favicons/"
# example ["css/custom.css"]
customCss = []
# example ["js/custom.js"]
customJs = []
mainSections = ["post"]
images = ["images/site-feature-image.png"]
doNotLoadAnimations = false
# Form Spree Contact Form
#contactFormAction = "https://formspree.io/f/your-form-hash-here"
#contactFormReCaptcha = "your-site-key-here"
# Google Fonts
#googleFonts = ["Indie+Flower", "Roboto:ital,wght@0,100;0,400;0,700;1,400"]
# Google Site Verify
#googleSiteVerify = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
singleDateFormat = "2/1/2006"
indexDateFormat = "2/1/2006"
listDateFormat = "2/1/2006"
# Commento Comments
# CommentoURL = "https://commento.example.com/js/commento.js"
# Read More links for truncated summaries
# readMore = true
# postSectionName = "blog"
# relatedPosts = true
# numberOfRelatedPosts = 3
reversepagetitle = true # When set to 'true', the Window Title will be reversed to 'Title | Author' instead of the default 'Author | Title'
# hidesidebar = true
[simpleAnalytics]
# enable = true
# customurl = "https://analytics.example.com"
[plausibleAnalytics]
# domain = "example.com"
# serverURL = "https://analytics.example.com"
[umami]
# serverURL = "example.com"
# id = "94db1cb1-74f4-4a40-ad6c-962362670409"
# trackerScriptName = "mycustomscriptname.js"
## Math settings
[math]
enable = false # options: true, false. Enable math support globally, default: false. You can always enable math on per page.
use = "katex" # options: "katex", "mathjax". default is "katex".
## Social links
# use 'fa-brands' when brand icons, use 'fas' when standard solid icons.
[[socialIcons]]
icon = "fa-brands fa-linkedin"
title = "Linkedin"
url = "https://de.linkedin.com/"
[[socialIcons]]
icon = "fa-brands fa-github"
title = "GitHub"
url = "https://github.com/lxndrblz/anatole/"
[[socialIcons]]
icon = "fa-brands fa-instagram"
title = "instagram"
url = "https://www.instagram.com/"
[[socialIcons]]
icon = "fa-solid fa-envelope"
title = "e-mail"
url = "mailto:mail@example.com"
[mermaid]
# enable = true

View File

@ -0,0 +1,25 @@
+++
author = "Hugo Authors"
+++
<!--
This file is left intentionally empty by default to be backwards compatible with the initial theme setup.
Although the theme has advanced a little bit and it now allows to specify the content on the main page (even if the list of posts/articles is not intended).
This can be:
- with the list of posts/articles (default: `mainSections = ["post"]) or
- without the list of posts/articles (by setting `mainSections = [""]`)
Markdown supported, ie:
```
# Welcome
- Hugo :rocket:
- Hugo theme :rocket:
Don't forget to check the README.md file!
```
Remember that you can also specify a section header for the posts below by configuring the `mainSectionsTitle` parameter in the front matter of this file.
-->

View File

@ -0,0 +1,12 @@
+++
title = "حول"
description = "Hugo, the world's fastest framework for building websites"
date = "2019-02-28"
aliases = ["about-us", "about-hugo", "contact"]
author = "Hugo Authors"
+++
هذا النص هو مثال لنص يمكن أن يستبدل في نفس المساحة، لقد تم توليد هذا النص من مولد النص العربى، حيث يمكنك أن تولد مثل هذا النص أو العديد من النصوص الأخرى إضافة إلى زيادة عدد الحروف التى يولدها التطبيق.
إذا كنت تحتاج إلى عدد أكبر من الفقرات يتيح لك مولد النص العربى زيادة عدد الفقرات كما تريد، النص لن يبدو مقسما ولا يحوي أخطاء لغوية، مولد النص العربى مفيد لمصممي المواقع على وجه الخصوص، حيث يحتاج العميل فى كثير من الأحيان أن يطلع على صورة حقيقية لتصميم الموقع.
ومن هنا وجب على المصمم أن يضع نصوصا مؤقتة على التصميم ليظهر للعميل الشكل كاملاً،دور مولد النص العربى أن يوفر على المصمم عناء البحث عن نص بديل لا علاقة له بالموضوع الذى يتحدث عنه التصميم فيظهر بشكل لا يليق.
هذا النص يمكن أن يتم تركيبه على أي تصميم دون مشكلة فلن يبدو وكأنه نص منسوخ، غير منظم، غير منسق، أو حتى غير مفهوم. لأنه مازال نصاً بديلاً ومؤقتاً.

View File

@ -0,0 +1,5 @@
---
date: 2019-05-28
type: section
layout: 'archives'
---

View File

@ -0,0 +1,7 @@
---
author: Hugo Authors
title: للتواصل
date: 2019-03-08
description: Contact Page
contact: true
---

View File

@ -0,0 +1,6 @@
+++
aliases = ["posts", "articles", "blog", "showcase", "docs"]
title = "Posts"
author = "Hugo Authors"
tags = ["index"]
+++

View File

@ -0,0 +1,29 @@
+++
author = "كتاب المقال"
title = "نموذج عربي"
date = "2019-03-05"
description = "نص عربي سريع"
tags = [
"عربي",
]
+++
من مولد النص العربى، حيث يمكنك أن تولد مثل هذا النص أو العديد من النصوص الأخرى إضافة إلى زيادة عدد الحروف التى يولدها التطبيق.
إذا كنت تحتاج إلى عدد أكبر من الفقرات يتيح لك مولد النص العربى زيادة عدد الفقرات كما تريد، النص لن يبدو مقسما ولا يحوي أخطاء لغوية، مولد النص العربى مفيد لمصممي المواقع على وجه الخصوص، حيث يحتاج العميل فى كثير من الأحيان أن يطلع على صورة حقيقية لتصميم الموقع.
ومن هنا وجب على المصمم أن يضع نصوصا مؤقتة على التصميم ليظهر للعميل الشكل كاملاً،دور مولد النص العربى أن يوفر على المصمم عناء البحث عن نص بديل لا علاقة له بالموضوع الذى يتحدث عنه التصميم فيظهر بشكل لا يليق.
هذا النص يمكن أن يتم تركيبه على أي تصميم دون مشكلة فلن يبدو وكأنه نص منسوخ، غير منظم، غير منسق، أو حتى غير مفهوم. لأنه مازال نصاً بديلاً ومؤقتاً.
هذا النص هو مثال لنص يمكن أن يستبدل في نفس المساحة، لقد تم توليد هذا النص من مولد النص العربى، حيث يمكنك أن تولد مثل هذا النص أو العديد من النصوص الأخرى إضافة إلى زيادة عدد الحروف التى يولدها التطبيق.
إذا كنت تحتاج إلى عدد أكبر من الفقرات يتيح لك مولد النص العربى زيادة عدد الفقرات كما تريد، النص لن يبدو مقسما ولا يحوي أخطاء لغوية، مولد النص العربى مفيد لمصممي المواقع على وجه الخصوص، حيث يحتاج العميل فى كثير من الأحيان أن يطلع على صورة حقيقية لتصميم الموقع.
ومن هنا وجب على المصمم أن يضع نصوصا مؤقتة على التصميم ليظهر للعميل الشكل كاملاً،دور مولد النص العربى أن يوفر على المصمم عناء البحث عن نص بديل لا علاقة له بالموضوع الذى يتحدث عنه التصميم فيظهر بشكل لا يليق.
هذا النص يمكن أن يتم تركيبه على أي تصميم دون مشكلة فلن يبدو وكأنه نص منسوخ، غير منظم، غير منسق، أو حتى غير مفهوم. لأنه مازال نصاً بديلاً ومؤقتاً.
```html
<!doctype html>
<html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>
```

View File

@ -0,0 +1,25 @@
+++
author = "Hugo Authors"
+++
<!--
This file is left intentionally empty by default to be backwards compatible with the initial theme setup.
Although the theme has advanced a little bit and it now allows to specify the content on the main page (even if the list of posts/articles is not intended).
This can be:
- with the list of posts/articles (default: `mainSections = ["post"]) or
- without the list of posts/articles (by setting `mainSections = [""]`)
Markdown supported, ie:
```
# Welcome
- Hugo :rocket:
- Hugo theme :rocket:
Don't forget to check the README.md file!
```
Remember that you can also specify a section header for the posts below by configuring the `mainSectionsTitle` parameter in the front matter of this file.
-->

View File

@ -0,0 +1,25 @@
+++
title = "About"
description = "Hugo, the world's fastest framework for building websites"
date = "2019-02-28"
aliases = ["about-us", "about-hugo", "contact"]
author = "Hugo Authors"
+++
Written in Go, Hugo is an open source static site generator available under the [Apache License 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) Hugo supports TOML, YAML and JSON data file types, Markdown and HTML content files and uses shortcodes to add rich content. Other notable features are taxonomies, multilingual mode, image processing, custom output formats, HTML/CSS/JS minification and support for Sass SCSS workflows.
Hugo makes use of a variety of open source projects including:
- https://github.com/yuin/goldmark
- https://github.com/alecthomas/chroma
- https://github.com/muesli/smartcrop
- https://github.com/spf13/cobra
- https://github.com/spf13/viper
Hugo is ideal for blogs, corporate websites, creative portfolios, online magazines, single page applications or even a website with thousands of pages.
Hugo is for people who want to hand code their own website without worrying about setting up complicated runtimes, dependencies and databases.
Websites built with Hugo are extremely fast, secure and can be deployed anywhere including, AWS, GitHub Pages, Heroku, Netlify and any other hosting provider.
Learn more and contribute on [GitHub](https://github.com/gohugoio).

View File

@ -0,0 +1,5 @@
---
date: 2019-05-28
type: section
layout: 'archives'
---

View File

@ -0,0 +1,17 @@
+++
title = "Awards"
description = "Hugo Awards, an annual literary award for the best science fiction or fantasy works"
date = "2022-04-10"
aliases = ["awards"]
author = "Hugo Authors"
+++
Hugo Award - from Wikipedia: [Hugo Award](https://en.wikipedia.org/wiki/Hugo_Award)
The Hugo Award is an annual literary award for the best science fiction or fantasy works and achievements of the previous year, given at the World Science Fiction Convention and chosen by its members. The Hugo is widely considered the premier award in science fiction. The award is administered by the World Science Fiction Society. It is named after Hugo Gernsback, the founder of the pioneering science fiction magazine Amazing Stories. Hugos were first given in 1953, at the 11th World Science Fiction Convention, and have been awarded every year since 1955.
- Best Novel 1953 Stories of 40,000 words or more
- Best Novella 1968 Stories of between 17,500 and 40,000 words
- Best Novelette 1955 Stories of between 7,500 and 17,500 words
- Best Short Story 1955 Stories of less than 7,500 words
- Best Series 2017 Series of works

View File

@ -0,0 +1,13 @@
+++
title = "Certifications"
description = "Hugo Certifications"
date = "2022-04-10"
aliases = ["certifications"]
author = "Hugo Authors"
+++
## 3 Best Hugo Courses, Training, Classes & Tutorials Online
1. “Migrate from WordPress to Hugo, Step by Step” Our Best Pick 2022
2. Create a Static Site With Hugo 2021
3. Créez votre site statique avec Hugo 2020

View File

@ -0,0 +1,7 @@
---
author: Hugo Authors
title: Contact
date: 2019-03-08
description: Contact Page
contact: true
---

View File

@ -0,0 +1,8 @@
# Legal Disclosure
Information in accordance with the applicable law
Jane Doe\
Anatole Street 10\
2016 GoHugo\
Germany

View File

@ -0,0 +1,5 @@
---
title: 'Portfolio'
draft: false
description: 'Welcome to my Portfolio!'
---

View File

@ -0,0 +1,6 @@
+++
aliases = ["posts", "articles", "blog", "showcase", "docs"]
title = "Posts"
author = "Hugo Authors"
tags = ["index"]
+++

View File

@ -0,0 +1,50 @@
+++
author = "Hugo Authors"
title = "Emoji Support"
date = "2019-03-05"
description = "Guide to emoji usage in Hugo"
tags = [
"emoji",
]
+++
Emoji can be enabled in a Hugo project in a number of ways.
<!--more-->
The [`emojify`](https://gohugo.io/functions/emojify/) function can be called directly in templates or [Inline Shortcodes](https://gohugo.io/templates/shortcode-templates/#inline-shortcodes).
To enable emoji globally, set `enableEmoji` to `true` in your site's [configuration](https://gohugo.io/getting-started/configuration/) and then you can type emoji shorthand codes directly in content files; e.g.
<p><span class="nowrap"><span class="emojify">🙈</span> <code>:see_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙉</span> <code>:hear_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙊</span> <code>:speak_no_evil:</code></span></p>
<br>
The [Emoji cheat sheet](http://www.emoji-cheat-sheet.com/) is a useful reference for emoji shorthand codes.
---
**N.B.** The above steps enable Unicode Standard emoji characters and sequences in Hugo, however the rendering of these glyphs depends on the browser and the platform. To style the emoji you can either use a third party emoji font or a font stack; e.g.
{{< highlight html >}}
.emoji {
font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols;
}
{{< /highlight >}}
{{< css.inline >}}
<style>
.emojify {
font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols;
font-size: 2rem;
vertical-align: middle;
}
@media screen and (max-width:650px) {
.nowrap {
display: block;
margin: 25px 0;
}
}
</style>
{{< /css.inline >}}

View File

@ -0,0 +1,52 @@
---
title: 'The Figure Shortcode'
date: 2021-03-13T21:47:41+00:00
draft: false
tags:
- demo
- shortcode
---
Hugo has `figure` shortcode built-in, so you can easily add figure captions or hyperlink rel attributes to images. Documentations can be found here:
https://gohugo.io/content-management/shortcodes/#figure
This theme has 3 CSS classes made for figure elements:
- `big`: images will break the width limit of main content area.
- `left`: images will float to the left.
- `right`: images will float to the right.
If a figure has no class set, the image will behave just like a normal markdown image: `![]()`.
Here are some examples; please be aware that these styles only take effect when the page width is over 1300px.
{{< figure src="https://via.placeholder.com/1600x800" alt="image" caption="figure-normal (without any classes)" >}}
Pellentesque posuere sem nec nunc varius, id hendrerit arcu consequat. Maecenas commodo, sapien ut gravida porttitor, dolor risus facilisis enim, eget pharetra nibh nisl porttitor sapien. Proin finibus elementum ligula sit amet hendrerit. Praesent et erat sodales ante accumsan pharetra non eu nulla. Sed vehicula consequat lorem, a fermentum ante faucibus quis. Aliquam erat volutpat. In vitae tincidunt dui. Proin sit amet ligula sodales, elementum tortor et, venenatis sem. Maecenas non nisl erat. Curabitur nec velit eros. Ut cursus lacus nisi, non pretium libero euismod et. Fusce luctus in nisi quis sollicitudin. Aenean nec blandit ligula. Duis ac felis lorem. Proin tellus tellus, dictum nec tempus sit amet, venenatis ac felis. Sed in pharetra nulla, non mollis sem.
{{< figure src="https://via.placeholder.com/1600x800" alt="image" caption="figure-big" class="big" >}}
Donec nec tincidunt est. Sed id metus in erat fringilla mattis at id turpis. Aliquam tempor vehicula faucibus. Phasellus consequat aliquam odio. Morbi a ex vitae sapien porta auctor. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec sit amet nulla arcu. Praesent ut tortor purus. Praesent id eros diam. Pellentesque vitae dolor at nibh ultrices accumsan eu id urna. Aliquam finibus interdum orci in varius. Pellentesque a enim condimentum, condimentum felis id, vehicula augue. Vivamus cursus commodo eros nec lacinia.
{{< figure src="https://via.placeholder.com/1600x800" alt="image" caption="figure-medium" class="medium" >}}
In a libero varius, luctus ligula et, bibendum tortor. Sed sit amet dui malesuada, mattis justo id, ultricies enim. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam sollicitudin cursus feugiat. Vivamus suscipit ipsum eget lobortis sollicitudin. Fusce vehicula neque tellus. Integer eu posuere quam, id laoreet tortor. Mauris sit amet turpis urna. Donec venenatis tempor dolor, nec laoreet orci aliquet et. Sed condimentum elit eu tristique aliquam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc luctus ipsum sit amet nisl maximus pellentesque.
{{< figure src="https://via.placeholder.com/1600x800" alt="image" caption="figure-small" class="small" >}}
Pellentesque posuere sem nec nunc varius, id hendrerit arcu consequat. Maecenas commodo, sapien ut gravida porttitor, dolor risus facilisis enim, eget pharetra nibh nisl porttitor sapien. Proin finibus elementum ligula sit amet hendrerit. Praesent et erat sodales ante accumsan pharetra non eu nulla. Sed vehicula consequat lorem, a fermentum ante faucibus quis. Aliquam erat volutpat. In vitae tincidunt dui. Proin sit amet ligula sodales, elementum tortor et, venenatis sem. Maecenas non nisl erat. Curabitur nec velit eros. Ut cursus lacus nisi, non pretium libero euismod et. Fusce luctus in nisi quis sollicitudin. Aenean nec blandit ligula. Duis ac felis lorem. Proin tellus tellus, dictum nec tempus sit amet, venenatis ac felis. Sed in pharetra nulla, non mollis sem.
{{< figure src="https://via.placeholder.com/1600x800" alt="image" caption="figure-tiny" class="tiny" >}}
Suspendisse fringilla malesuada massa, in malesuada orci lacinia a. Praesent dapibus faucibus nisl, id volutpat elit bibendum eu. Nulla vitae laoreet nibh, eu hendrerit lacus. Donec lacinia auctor ligula, vel interdum ipsum malesuada vitae. Donec placerat a justo eu gravida. Aenean ultricies imperdiet convallis. Pellentesque accumsan non ex sed euismod. Proin bibendum lectus nec enim faucibus feugiat. Donec hendrerit nisi viverra ornare luctus. Nullam non viverra nisl. Nam vel tellus et tortor elementum volutpat sit amet et erat. Aliquam a libero quis libero porta consectetur. Etiam aliquam felis vel nulla mattis finibus. Mauris laoreet lacus arcu, sed rhoncus odio condimentum sed. Aenean in dui rutrum elit faucibus faucibus nec fringilla augue. Fusce non ornare mauris.
{{< figure src="https://via.placeholder.com/400x280" alt="image" caption="figure-left" class="left" >}}
In a libero varius, luctus ligula et, bibendum tortor. Sed sit amet dui malesuada, mattis justo id, ultricies enim. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam sollicitudin cursus feugiat. Vivamus suscipit ipsum eget lobortis sollicitudin. Fusce vehicula neque tellus. Integer eu posuere quam, id laoreet tortor. Mauris sit amet turpis urna. Donec venenatis tempor dolor, nec laoreet orci aliquet et. Sed condimentum elit eu tristique aliquam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc luctus ipsum sit amet nisl maximus pellentesque.
{{< figure src="https://via.placeholder.com/400x280" alt="image" caption="figure-right" class="right" >}}
Pellentesque eu consequat nunc. Vivamus eu eros ut nulla dapibus molestie in id tortor. Cras viverra ligula erat, tincidunt hendrerit diam blandit nec. Cras id urna vel dolor dictum mattis. Vestibulum congue erat ac eros molestie accumsan. Maecenas lorem nibh, maximus vel justo eget, facilisis egestas lectus. Mauris eu est ut odio blandit consequat id feugiat eros. Fusce id suscipit mi, et lacinia lectus. Mauris a arcu placerat dolor iaculis feugiat nec non mi. Ut porttitor elit tortor, eget tempus velit mollis eu. Aliquam sem nulla, dictum cursus mauris ac, semper ullamcorper leo.
Donec nec tincidunt est. Sed id metus in erat fringilla mattis at id turpis. Aliquam tempor vehicula faucibus. Phasellus consequat aliquam odio. Morbi a ex vitae sapien porta auctor. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec sit amet nulla arcu. Praesent ut tortor purus. Praesent id eros diam. Pellentesque vitae dolor at nibh ultrices accumsan eu id urna. Aliquam finibus interdum orci in varius. Pellentesque a enim condimentum, condimentum felis id, vehicula augue. Vivamus cursus commodo eros nec lacinia.

View File

@ -0,0 +1,29 @@
+++
author = "Hugo Authors"
title = "Guide to Thumbnails in Hugo"
date = "2019-03-04"
description = "Guide to Thumbnails in Hugo"
tags = [
"thumbnail",
]
thumbnail= "images/landscape.jpg"
+++
Thumbnails can be enabled easily by setting the `thumbnail` parameter in the frontmatter to an image such as `"images/landscape.jpg"`.
Make sure to copy the image the `static/images/` directory.
If put together, it will look like this (that's in fact this post's frontmatter):
```md
+++
author = "Hugo Authors"
title = "Guide to Thumbnails in Hugo"
date = "2019-03-04"
description = "Guide to Thumbnails in Hugo"
tags = [
"thumbnail",
]
thumbnail= "images/landscape.jpg"
+++
```

View File

@ -0,0 +1,156 @@
+++
author = "Hugo Authors"
title = "Markdown Syntax Guide"
date = "2019-03-11"
description = "Sample article showcasing basic Markdown syntax and formatting for HTML elements."
tags = [
"markdown",
"css",
"html",
]
categories = [
"themes",
"syntax",
]
series = ["Themes Guide"]
aliases = ["migrate-from-jekyl"]
+++
This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme.
<!--more-->
## Headings
The following HTML `<h1>`—`<h6>` elements represent six levels of section headings. `<h1>` is the highest section level while `<h6>` is the lowest.
# H1
## H2
### H3
#### H4
##### H5
###### H6
## Paragraph
Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat.
Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat.
## Blockquotes
The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations.
#### Blockquote without attribution
> Tiam, ad mint andaepu dandae nostion secatur sequo quae.
> **Note** that you can use _Markdown syntax_ within a blockquote.
#### Blockquote with attribution
> Don't communicate by sharing memory, share memory by communicating.<br>
> — <cite>Rob Pike[^1]</cite>
[^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015.
## Tables
Tables aren't part of the core Markdown spec, but Hugo supports supports them out-of-the-box.
| Name | Age |
| ----- | --- |
| Bob | 27 |
| Alice | 23 |
#### Inline Markdown within tables
| Italics | Bold | Code |
| --------- | -------- | ------ |
| _italics_ | **bold** | `code` |
## Code Blocks
#### Code block with backticks
```html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Example HTML5 Document</title>
</head>
<body>
<p>Test</p>
</body>
</html>
```
#### Code block indented with four spaces
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Example HTML5 Document</title>
</head>
<body>
<p>Test</p>
</body>
</html>
#### Code block with Hugo's internal highlight shortcode
{{< highlight html >}}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Example HTML5 Document</title>
</head>
<body>
<p>Test</p>
</body>
</html>
{{< /highlight >}}
## List Types
#### Ordered List
1. First item
2. Second item
3. Third item
#### Unordered List
- List item
- Another item
- And another item
#### Nested list
- Fruit
- Apple
- Orange
- Banana
- Dairy
- Milk
- Cheese
## Other Elements — abbr, sub, sup, kbd, mark
<abbr title="Graphics Interchange Format">GIF</abbr> is a bitmap image format.
H<sub>2</sub>O
X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup>
Press <kbd><kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>Delete</kbd></kbd> to end the session.
Most <mark>salamanders</mark> are nocturnal, and hunt for insects, worms, and other small creatures.

View File

@ -0,0 +1,48 @@
---
author: Hugo Authors
title: Math Typesetting
date: 2019-03-08
description: A brief guide to setup KaTeX
math: true
---
Mathematical notation in a Hugo project can be enabled by using third party JavaScript libraries.
<!--more-->
In this example we will be using [KaTeX](https://katex.org/)
- Create a partial under `/layouts/partials/math.html`
- Within this partial reference the [Auto-render Extension](https://katex.org/docs/autorender.html) or host these scripts locally.
- Include the partial in your templates like so:
```bash
{{ if or .Params.math .Site.Params.math }}
{{ partial "math.html" . }}
{{ end }}
```
- To enable KaTex globally set the parameter `math` to `true` in a project's configuration
- To enable KaTex on a per page basis include the parameter `math: true` in content files
**Note:** Use the online reference of [Supported TeX Functions](https://katex.org/docs/supported.html)
{{< math.inline >}}
{{ if or .Page.Params.math .Site.Params.math }}
<!-- KaTeX -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css" integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" crossorigin="anonymous">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js" integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" crossorigin="anonymous"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
{{ end }}
{{</ math.inline >}}
### Examples
Inline math: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\)
Block math:
$$
\varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } }
$$

View File

@ -0,0 +1,46 @@
---
title: 'The Notice Shortcode'
date: 2022-03-18T21:47:41+00:00
draft: false
tags:
- demo
- shortcode
---
The notice shortcode supports three different types of disclaimers. These are as following:
## Info Notice
```
{{%/* notice info */%}}
Lorem Impsum..
{{%/* /notice */%}}
```
{{< notice info >}}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
{{< /notice >}}
## Update Notice
```
{{%/* notice update */%}}
Lorem Impsum..
{{%/* /notice */%}}
```
{{< notice update >}}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
{{< /notice >}}
## Warning Notice
```
{{%/* notice warning */%}}
Lorem Impsum..
{{%/* /notice */%}}
```
{{< notice warning >}}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
{{< /notice >}}

View File

@ -0,0 +1,47 @@
+++
author = "Hugo Authors"
title = "Placeholder Text"
date = "2019-03-09"
description = "Lorem Ipsum Dolor Si Amet"
tags = [
"markdown",
"text",
]
+++
Lorem est tota propiore conpellat pectoribus de pectora summo. <!--more-->Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum.
1. Exierant elisi ambit vivere dedere
2. Duce pollice
3. Eris modo
4. Spargitque ferrea quos palude
Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis.
1. Comas hunc haec pietate fetum procerum dixit
2. Post torum vates letum Tiresia
3. Flumen querellas
4. Arcanaque montibus omnes
5. Quidem et
# Vagus elidunt
<svg class="canon" xmlns="http://www.w3.org/2000/svg" overflow="visible" viewBox="0 0 496 373" height="373" width="496"><g fill="none"><path stroke="#000" stroke-width=".75" d="M.599 372.348L495.263 1.206M.312.633l494.95 370.853M.312 372.633L247.643.92M248.502.92l246.76 370.566M330.828 123.869V1.134M330.396 1.134L165.104 124.515"></path><path stroke="#ED1C24" stroke-width=".75" d="M275.73 41.616h166.224v249.05H275.73zM54.478 41.616h166.225v249.052H54.478z"></path><path stroke="#000" stroke-width=".75" d="M.479.375h495v372h-495zM247.979.875v372"></path><ellipse cx="498.729" cy="177.625" rx=".75" ry="1.25"></ellipse><ellipse cx="247.229" cy="377.375" rx=".75" ry="1.25"></ellipse></g></svg>
[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon)
## Mane refeci capiebant unda mulcebat
Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis.
Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et.
Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, _oculos nomen_ non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**.
{{< css.inline >}}
<style>
.canon { background: white; width: 100%; height: auto; }
</style>
{{< /css.inline >}}

View File

@ -0,0 +1,14 @@
+++
author = "Hugo Authors"
title = "Redirect"
date = "2021-06-20"
description = "Usage of redirectUrl"
tags = [
"redirect", "redirectUrl",
]
redirectUrl="https://gohugo.io"
+++
Forwarding to [gohugo](https://gohugo.io) using `redirectUrl`
{{% loading %}}

View File

@ -0,0 +1,34 @@
+++
author = "Hugo Authors"
title = "Rich Content"
date = "2019-03-10"
description = "A brief description of Hugo Shortcodes"
tags = [
"shortcodes",
"privacy",
]
+++
Hugo ships with several [Built-in Shortcodes](https://gohugo.io/content-management/shortcodes/#use-hugos-built-in-shortcodes) for rich content, along with a [Privacy Config](https://gohugo.io/about/hugo-and-gdpr/) and a set of Simple Shortcodes that enable static and no-JS versions of various social media embeds.
## <!--more-->
## YouTube Privacy Enhanced Shortcode
{{< youtube ZJthWmvUzzc >}}
<br>
---
## Twitter Simple Shortcode
{{< twitter user="SanDiegoZoo" id="1453110110599868418" >}}
<br>
---
## Vimeo Simple Shortcode
{{< vimeo_simple 48912912 >}}

View File

@ -0,0 +1,41 @@
---
author: Hugo Authors
title: Series Part 1
date: 2021-08-14
description: A brief guide to how to setup series part 1
series:
- series-setup
---
In this first part of the series we'll show you how to create a series
<!--more-->
As a first step we need to add series as a taxonomy. We can do this by editing the `config.toml`.
Note: We always need to define the existing taxonomies as well.
```toml
[taxonomies]
category = "categories"
series = "series"
tag = "tags"
```
Now we have the series enabled, the next thing we need to do is add the series name in the FrontMatter.
For our example we'll use this post and the next part.
As you can see we've set the series to `series-setup`. We also do the same in the next parts of the series.
This end results should be a Front Matter that looks similar to this:
```md
---
author: Hugo Authors
title: Series Part 1
date: 2021-08-14
description: A brief guide to how to setup series part 1
series:
- series-setup
---
```
Each individual post will now also show the other posts in the series under the `Posts in this Series` heading.

View File

@ -0,0 +1,17 @@
---
author: Hugo Authors
title: Series Part 2
date: 2021-08-15
description: A brief guide to how to setup series part 2
series:
- series-setup
---
In this second part of the series we'll show you where to find the full series
<!--more-->
When you created a series, you'll probably want to link to the full set of blogposts.
In this example we used `series-setup` as our series name.
This means we can now go to [http://localhost:1313/series/series-setup/](http://localhost:1313/series/series-setup/) to see all the blog posts of this serie.

View File

@ -0,0 +1,58 @@
portfolioitems:
# portfolio category
- title: Coding Projects
description: 'All my coding projects'
portfolioitem:
- name: Project 1
image: '/images/portfolio/code.jpg'
link: https://gohugo.io/
linktext: 'Visit project website'
description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.'
tags:
- Tag 1
- Tag 2
status: 'Finished'
start: '2020'
end: '2021'
authors:
- lxndrblz
- alexanderdavide
- name: Project 2
image: '/images/portfolio/code.jpg'
link: https://gohugo.io/
description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.'
status: 'On Hold'
tags:
- Tag 1
- Tag 2
- name: Project 3
link: https://gohugo.io/
status: 'Finished'
description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.'
tags:
- Tag 1
- Tag 2
# portfolio category
- title: Research
description: 'All my research projects'
portfolioitem:
- name: Project 1
image: '/images/portfolio/code.jpg'
description: 'This project does not have a link attribute'
tags:
- Tag 1
- Tag 2
- name: Project 2
image: '/images/portfolio/code.jpg'
link: https://gohugo.io/
description: 'You can click on [**this link**](#codingprojects) to scroll to my Coding Projects portfolio'
tags:
- Tag 1
- Tag 2
- name: Project 3
image: '/images/portfolio/code.jpg'
link: https://gohugo.io/
description: 'A description'
tags:
- Tag 1
- Tag 2

View File

@ -0,0 +1,3 @@
module github.com/lxndrblz/anatole-example
go 1.12

View File

@ -0,0 +1 @@
{"Target":"scss/main.rtl.min.8004b6ec3d65d09ae1990f008dc05143f892885b495e9096b0473fcbcba48979.css","MediaType":"text/css","Data":{"Integrity":"sha256-gAS27D1l0JrhmQ8AjcBRQ/iSiFtJXpCWsEc/y8ukiXk="}}

View File

@ -0,0 +1 @@
{"Target":"scss/main.rtl.min.afb781d764f2b83b63ec6dd90788a35093c19a6a1ec9f8a2252b9cd3c4f01084.css","MediaType":"text/css","Data":{"Integrity":"sha256-r7eB12TyuDtj7G3ZB4ijUJPBmmoeyfiiJSuc08TwEIQ="}}

Some files were not shown because too many files have changed in this diff Show More