diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 2b740bf..0000000 --- a/.editorconfig +++ /dev/null @@ -1,19 +0,0 @@ -root = true - -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -trim_trailing_whitespace = true -# Unix-style newlines with a newline ending every file -end_of_line = lf -insert_final_newline = true - -[*.{js,css,scss}] -quote_type = single - -[*.{yml,yaml}] -quote_type = double - -[*.md] -trim_trailing_whitespace = false diff --git a/.github.bak/workflows/pages-deploy.yml b/.github.bak/workflows/pages-deploy.yml deleted file mode 100644 index c33b2a6..0000000 --- a/.github.bak/workflows/pages-deploy.yml +++ /dev/null @@ -1,73 +0,0 @@ -name: "Build and Deploy" -on: - push: - branches: - - main - - master - paths-ignore: - - .gitignore - - README.md - - LICENSE - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -permissions: - contents: read - pages: write - id-token: write - -# Allow one concurrent deployment -concurrency: - group: "pages" - cancel-in-progress: true - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - # submodules: true - # If using the 'assets' git submodule from Chirpy Starter, uncomment above - # (See: https://github.com/cotes2020/chirpy-starter/tree/main/assets) - - - name: Setup Pages - id: pages - uses: actions/configure-pages@v4 - - - name: Setup Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: 3.2 - bundler-cache: true - - - name: Build site - run: bundle exec jekyll b -d "_site${{ steps.pages.outputs.base_path }}" - env: - JEKYLL_ENV: "production" - - - name: Test site - run: | - bundle exec htmlproofer _site \ - \-\-disable-external=true \ - \-\-ignore-urls "/^http:\/\/127.0.0.1/,/^http:\/\/0.0.0.0/,/^http:\/\/localhost/" - - - name: Upload site artifact - uses: actions/upload-pages-artifact@v3 - with: - path: "_site${{ steps.pages.outputs.base_path }}" - - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - needs: build - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 859686b..0000000 --- a/.gitignore +++ /dev/null @@ -1,20 +0,0 @@ -# Bundler cache -.bundle -vendor -Gemfile.lock - -# Jekyll cache -.jekyll-cache -_site - -# RubyGems -*.gem - -# NPM dependencies -node_modules -package-lock.json - -# IDE configurations -.idea - -# Misc diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 58062c5..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "assets/lib"] - path = assets/lib - url = https://github.com/cotes2020/chirpy-static-assets.git diff --git a/.husky/commit-msg b/.husky/commit-msg deleted file mode 100755 index 7f23494..0000000 --- a/.husky/commit-msg +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -npx --no -- commitlint --edit ${1} diff --git a/.nojekyll b/.nojekyll deleted file mode 100644 index e69de29..0000000 diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index 6927cd1..0000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "recommendations": [ - // Liquid tags auto-complete - "killalau.vscode-liquid-snippets", - // Liquid syntax highlighting and formatting - "Shopify.theme-check-vscode", - // Common formatter - "esbenp.prettier-vscode", - "foxundermoon.shell-format", - "stylelint.vscode-stylelint" - ] -} diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 4fcded4..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - // Prettier - "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.formatOnSave": true, - "prettier.trailingComma": "none", - // Shopify Liquid - "files.associations": { - "*.html": "liquid" - }, - // Formatter - "[html][liquid]": { - "editor.defaultFormatter": "Shopify.theme-check-vscode" - }, - "[shellscript]": { - "editor.defaultFormatter": "foxundermoon.shell-format" - }, - // Disable vscode built-in stylelint - "css.validate": false, - "scss.validate": false, - "less.validate": false, - // Stylint extension settings - "stylelint.snippet": ["css", "less", "postcss", "scss"], - "stylelint.validate": ["css", "less", "postcss", "scss"] -} diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 043b28e..0000000 --- a/Gemfile +++ /dev/null @@ -1,23 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gemspec - -group :test do - gem "html-proofer", "~> 4.4" -end - -# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem -# and associated library. -platforms :mingw, :x64_mingw, :mswin, :jruby do - gem "tzinfo", ">= 1", "< 3" - gem "tzinfo-data" -end - -# Performance-booster for watching directories on Windows -gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin] - -# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem -# do not have a Java counterpart. -gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby] diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 299d89f..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2019 Cotes Chung - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md deleted file mode 100644 index 0e074cf..0000000 --- a/README.md +++ /dev/null @@ -1,81 +0,0 @@ -
- - # Chirpy Jekyll Theme - - A minimal, responsive, and feature-rich Jekyll theme for technical writing. - - [![Gem Version](https://img.shields.io/gem/v/jekyll-theme-chirpy?color=brightgreen)][gem]  - [![CI](https://github.com/cotes2020/jekyll-theme-chirpy/actions/workflows/ci.yml/badge.svg?branch=master&event=push)][ci]  - [![Codacy Badge](https://app.codacy.com/project/badge/Grade/4e556876a3c54d5e8f2d2857c4f43894)][codacy]  - [![GitHub license](https://img.shields.io/github/license/cotes2020/jekyll-theme-chirpy.svg)][license]  - [![996.icu](https://img.shields.io/badge/link-996.icu-%23FF4D5B.svg)](https://996.icu) - - [**Live Demo** →][demo] - - [![Devices Mockup](https://chirpy-img.netlify.app/commons/devices-mockup.png)][demo] - -
- -## Features - -- Dark / Light Theme Mode -- Localized UI language -- Pinned Posts on Home Page -- Hierarchical Categories -- Trending Tags -- Table of Contents -- Last Modified Date -- Syntax Highlighting -- Mathematical Expressions -- Mermaid Diagrams & Flowcharts -- Dark / Light Mode Images -- Embed Videos -- Disqus / Giscus / Utterances Comments -- Built-in Search -- Atom Feeds -- PWA -- Google Analytics / GoatCounter -- SEO & Performance Optimization - -## Documentation - -To learn how to use, develop, and upgrade the project, please refer to the [Wiki][wiki]. - -## Contributing - -Contributions (_pull requests_, _issues_, and _discussions_) are what make the open-source community such an amazing place -to learn, inspire, and create. Any contributions you make are greatly appreciated. -For details, see the "[Contributing Guidelines][contribute-guide]". - -## Credits - -### Contributors - -Thanks to [all the contributors][contributors] involved in the development of the project! - -[![all-contributors](https://contrib.rocks/image?repo=cotes2020/jekyll-theme-chirpy&columns=16)][contributors] - —— Made with [contrib.rocks](https://contrib.rocks) - -### Third-Party Assets - -This project is built on the [Jekyll][jekyllrb] ecosystem and some [great libraries][lib], and is developed using [VS Code][vscode] as well as tools provided by [JetBrains][jetbrains] under a non-commercial open-source software license. - -The avatar and favicon for the project's website are from [ClipartMAX][clipartmax]. - -## License - -This project is published under [MIT License][license]. - -[gem]: https://rubygems.org/gems/jekyll-theme-chirpy -[ci]: https://github.com/cotes2020/jekyll-theme-chirpy/actions/workflows/ci.yml?query=event%3Apush+branch%3Amaster -[codacy]: https://app.codacy.com/gh/cotes2020/jekyll-theme-chirpy/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade -[license]: https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/LICENSE -[jekyllrb]: https://jekyllrb.com/ -[clipartmax]: https://www.clipartmax.com/middle/m2i8b1m2K9Z5m2K9_ant-clipart-childrens-ant-cute/ -[demo]: https://cotes2020.github.io/chirpy-demo/ -[wiki]: https://github.com/cotes2020/jekyll-theme-chirpy/wiki -[contribute-guide]: https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/docs/CONTRIBUTING.md -[contributors]: https://github.com/cotes2020/jekyll-theme-chirpy/graphs/contributors -[lib]: https://github.com/cotes2020/chirpy-static-assets -[vscode]: https://code.visualstudio.com/ -[jetbrains]: https://www.jetbrains.com/?from=jekyll-theme-chirpy diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 537eb25..0000000 --- a/_config.yml +++ /dev/null @@ -1,153 +0,0 @@ -# The Site Configuration -theme: jekyll-theme-chirpy -lang: en -timezone: Europe/Istanbul - -# See for Jekyll SEO Tag Settings: https://github.com/jekyll/jekyll-seo-tag/blob/master/docs/usage.md - -title: Aliberk Sandıkçı -tagline: Personal Website & Blog -description: >- - Personal Website & Blog of Aliberk Sandıkçı - -url: "https://asandikci.com" -baseurl: - -forgejo: - username: asandikci - domain: 'git.aliberksandikci.com.tr' - -social: - name: Aliberk Sandıkçı - email: contact@aliberksandikci.com.tr - links: - - https://git.aliberksandikci.com.tr/asandikci - - https://mastodon.social/@asandikci - - https://www.linkedin.com/in/asandikci - -theme_mode: # [light | dark] - -# the avatar on sidebar, support local or CORS resources -avatar: /assets/img/pp.png - -# The URL of the site-wide social preview image used in SEO `og:image` meta tag. -# It can be overridden by a customized `page.image` in front matter. -social_preview_image: # string, local or CORS resources - -# boolean type, the global switch for TOC in posts. -toc: true - -comments: - active: # The global switch for posts comments, e.g., 'disqus'. Keep it empty means disable - # The active options are as follows: - disqus: - shortname: # fill with the Disqus shortname. › https://help.disqus.com/en/articles/1717111-what-s-a-shortname - # utterances settings › https://utteranc.es/ - utterances: - repo: # / - issue_term: # < url | pathname | title | ...> - # Giscus options › https://giscus.app - giscus: - repo: # / - repo_id: - category: - category_id: - mapping: # optional, default to 'pathname' - input_position: # optional, default to 'bottom' - lang: # optional, default to the value of `site.lang` - reactions_enabled: # optional, default to the value of `1` - -# Self-hosted static assets, optional › https://github.com/cotes2020/chirpy-static-assets -assets: - self_host: - enabled: # boolean, keep empty means false - # specify the Jekyll environment, empty means both - # only works if `assets.self_host.enabled` is 'true' - env: # [development | production] - -pwa: - enabled: true # the option for PWA feature (installable) - cache: - enabled: true # the option for PWA offline cache - # Paths defined here will be excluded from the PWA cache. - # Usually its value is the `baseurl` of another website that - # shares the same domain name as the current website. - deny_paths: - # - "/example" # URLs match `/example/*` will not be cached by the PWA - -paginate: 10 - -# ------------ The following options are not recommended to be modified ------------------ - -kramdown: - syntax_highlighter: rouge - syntax_highlighter_opts: # Rouge Options › https://github.com/jneen/rouge#full-options - css_class: highlight - # default_lang: console - span: - line_numbers: false - block: - line_numbers: true - start_line: 1 - -collections: - tabs: - output: true - sort_by: order - -defaults: - - scope: - path: "" # An empty string here means all files in the project - type: posts - values: - layout: post - comments: true # Enable comments in posts. - toc: true # Display TOC column in posts. - # DO NOT modify the following parameter unless you are confident enough - # to update the code of all other post links in this project. - permalink: /posts/:title/ - - scope: - path: _drafts - values: - comments: false - - scope: - path: "" - type: tabs # see `site.collections` - values: - layout: page - permalink: /:title/ - - scope: - path: assets/js/dist - values: - swcache: true - -sass: - style: compressed - -compress_html: - clippings: all - comments: all - endings: all - profile: false - blanklines: false - ignore: - envs: [development] - -exclude: - - "*.gem" - - "*.gemspec" - - docs - - tools - - README.md - - LICENSE - - rollup.config.js - - package*.json - -jekyll-archives: - enabled: [categories, tags] - layouts: - category: category - tag: tag - permalinks: - tag: /tags/:name/ - category: /categories/:name/ diff --git a/_data/authors.yml b/_data/authors.yml deleted file mode 100644 index 8d76222..0000000 --- a/_data/authors.yml +++ /dev/null @@ -1,11 +0,0 @@ -## Template › https://github.com/jekyll/jekyll-seo-tag/blob/master/docs/advanced-usage.md#setting-author-url -# ------------------------------------- -# {author_id}: -# name: {full name} -# twitter: {twitter_of_author} -# url: {homepage_of_author} -# ------------------------------------- - -asandikci: - name: Aliberk Sandıkçı - url: https://mastodon.social/@asandikci diff --git a/_data/contact.yml b/_data/contact.yml deleted file mode 100644 index 317906f..0000000 --- a/_data/contact.yml +++ /dev/null @@ -1,37 +0,0 @@ -# The contact options. - -- type: forgejo - icon: "fa-solid fa-code-branch" - url: 'https://git.aliberksandikci.com.tr/' - -- type: xmpp - icon: 'fa fa-xmpp' - url: 'xmpp:asandikci@aliberksandikci.com.tr' - -- type: email - icon: "fas fa-envelope" - noblank: false - -- type: mastodon - icon: 'fa fa-mastodon' - url: 'https://mastodon.social/@asandikci/' - -- type: linkedin - icon: 'fab fa-linkedin' - url: 'https://linkedin.com/in/asandikci' - -- type: discord - icon: 'fa fa-discord' - url: 'https://discord.com/users/987999573479944222' - -- type: instagram - icon: 'fa fa-instagram' - url: 'https://instagram.com/aliberksandikci' - -- type: codeberg - icon: 'fl-codeberg' - url: 'https://codeberg.org/asandikci' - -- type: rss - icon: "fas fa-rss" - noblank: true \ No newline at end of file diff --git a/_data/locales/ar.yml b/_data/locales/ar.yml deleted file mode 100644 index c608298..0000000 --- a/_data/locales/ar.yml +++ /dev/null @@ -1,91 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: منشور - category: فئة - tag: وسم - -# The tabs of sidebar -tabs: - # format: : - home: الرئيسية - categories: الفئات - tags: الوسوم - archives: الأرشيف - about: حول - -# the text displayed in the search bar & search results -search: - hint: بحث - cancel: إلغاء - no_results: نأسف! لا يوجد نتائج. - -panel: - lastmod: المحدثة مؤخرا - trending_tags: الوسوم الشائعة - toc: محتويات - -copyright: - # Shown at the bottom of the post - license: - template: هذا المنشور تحت ترخيص :LICENSE_NAME بواسطة المؤلف. - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: بعض الحقوق محفوظة. - verbose: >- - ما لم يذكر خلاف ذلك ، يتم ترخيص منشورات المدونة على هذا الموقع - بموجب ترخيص Creative Commons Attribution 4.0 International (CC BY 4.0) من قبل المؤلف. - -meta: باستخدام :PLATFORM السمة :THEME - -not_found: - statment: عذرا, الرابط التالي غير صالح أو انه يشير إلى صفحة غير موجودة. - -notification: - update_found: يتوفر اصدار جديد للمحتوى. - update: تحديث - -# ----- Posts related labels ----- - -post: - written_by: بواسطة - posted: نشّر - updated: حدّث - words: كلمات - pageview_measure: مشاهدات - read_time: - unit: دقيقة - prompt: قراءة - relate_posts: إقرأ المزيد - share: شارك - button: - next: الأجدد - previous: الأقدم - copy_code: - succeed: تم النسخ! - share_link: - title: أنسخ الرابط - succeed: تم نسخ الرابط بنجاح! - -# Date time format. -# See: , -df: - post: - strftime: "%b %e, %Y" - dayjs: "ll" - archives: - strftime: "%b" - dayjs: "MMM" - -# categories page -categories: - category_measure: - singular: فئة - plural: فئات - post_measure: - singular: منشور - plural: منشورات diff --git a/_data/locales/bg-BG.yml b/_data/locales/bg-BG.yml deleted file mode 100644 index 3e04993..0000000 --- a/_data/locales/bg-BG.yml +++ /dev/null @@ -1,81 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: Публикация - category: Категория - tag: Таг - -# The tabs of sidebar -tabs: - # format: : - home: Начало - categories: Категории - tags: Тагове - archives: Архив - about: За мен - -# the text displayed in the search bar & search results -search: - hint: търси - cancel: Отмени - no_results: Упс! Не са намерени резултати. - -panel: - lastmod: Наскоро обновени - trending_tags: Популярни тагове - toc: Съдържание - -copyright: - # Shown at the bottom of the post - license: - template: Тази публикация е лицензирана под :LICENSE_NAME от автора. - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: Някои права запазени. - verbose: >- - Освен ако не е посочено друго, публикациите в блога на този сайт са лицензирани - под лиценза Creative Commons Attribution 4.0 (CC BY 4.0) от автора. - -meta: Създадено чрез :PLATFORM и :THEME тема - -not_found: - statment: Съжалявам, но на този URL адрес няма налично съдържание. - -notification: - update_found: Налична е нова версия на съдържанието. - update: Обнови - -# ----- Posts related labels ----- - -post: - written_by: Автор - posted: Публикувана - updated: Обновена - words: думи - pageview_measure: преглеждания - read_time: - unit: мин - prompt: четиво - relate_posts: Още за четене - share: Споделете - button: - next: По-нови - previous: По-стари - copy_code: - succeed: Копирано! - share_link: - title: Копирай линк - succeed: Линкът е копиран успешно! - -# categories page -categories: - category_measure: - singular: категория - plural: категории - post_measure: - singular: публикация - plural: публикации diff --git a/_data/locales/cs-CZ.yml b/_data/locales/cs-CZ.yml deleted file mode 100644 index e515c08..0000000 --- a/_data/locales/cs-CZ.yml +++ /dev/null @@ -1,89 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: Příspěvek - category: Kategorie - tag: Štítek - -# The tabs of sidebar -tabs: - # format: : - home: Domů - categories: Kategorie - tags: Štítky - archives: Archivy - about: O mně - -# the text displayed in the search bar & search results -search: - hint: hledat - cancel: Zrušit - no_results: Ups! Žádný výsledek nenalezen. - -panel: - lastmod: Nedávno aktualizováno - trending_tags: Trendy štítky - toc: Obsah - -copyright: - # Shown at the bottom of the post - license: - template: Tento příspěvek je licencován pod :LICENSE_NAME autorem. - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: Některá práva vyhrazena. - verbose: >- - Pokud není uvedeno jinak, jsou příspěvky na tomto webu licencovány - pod licencí Creative Commons Attribution 4.0 International (CC BY 4.0) Licence autora. - -meta: Použití :PLATFORM s motivem :THEME - -not_found: - statment: Omlouváme se, adresu URL jsme špatně umístili nebo odkazuje na něco, co neexistuje. - -notification: - update_found: Je k dispozici nová verze obsahu. - update: Aktualizace - -# ----- Posts related labels ----- - -post: - written_by: Od - posted: Zveřejněno - updated: Aktualizováno - words: slova - pageview_measure: zhlednutí - read_time: - unit: minut - prompt: čtení - relate_posts: Další čtení - share: Sdílet - button: - next: Novější - previous: Starší - copy_code: - succeed: Zkopírováno! - share_link: - title: Kopírovat odkaz - succeed: Zkopírováno! - -# Date time format. -# See: , -df: - post: - strftime: "%b %e, %Y" - dayjs: "ll" - archives: - strftime: "%b" - dayjs: "MMM" - -# categories page -categories: - category_measure: kategorie - post_measure: - singular: příspěvěk - plural: příspěvky diff --git a/_data/locales/de-DE.yml b/_data/locales/de-DE.yml deleted file mode 100644 index 6b187b4..0000000 --- a/_data/locales/de-DE.yml +++ /dev/null @@ -1,87 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: Eintrag - category: Kategorie - tag: Tag - -# The tabs of sidebar -tabs: - # format: : - home: Startseite - categories: Kategorien - tags: Tags - archives: Archiv - about: Über - -# the text displayed in the search bar & search results -search: - hint: Suche - cancel: Abbrechen - no_results: Ups! Keine Einträge gefunden. - -panel: - lastmod: Kürzlich aktualisiert - trending_tags: Beliebte Tags - toc: Inhalt - -copyright: - # Shown at the bottom of the post - license: - template: Dieser Eintrag ist vom Autor unter :LICENSE_NAME lizensiert. - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: Einige Rechte vorbehalten. - verbose: >- - Alle Einträge auf dieser Seite stehen, soweit nicht anders angegeben, unter der Lizenz Creative Commons Attribution 4.0 (CC BY 4.0). - -meta: Powered by :PLATFORM with :THEME theme - -not_found: - statment: Entschuldigung, dieser Link verweist auf keine vorhandene Ressource. - -notification: - update_found: Eine neue Version ist verfügbar. - update: Neue Version - -# ----- Posts related labels ----- - -post: - written_by: Von - posted: Veröffentlicht - updated: Aktualisiert - words: Wörter - pageview_measure: Aufrufe - read_time: - unit: Minuten - prompt: Lesezeit - relate_posts: Weiterlesen - share: Teilen - button: - next: Nächster Eintrag - previous: Eintrag vorher - copy_code: - succeed: Kopiert! - share_link: - title: Link kopieren - succeed: Link erfolgreich kopiert! - -# Date time format. -# See: , -df: - post: - strftime: "%d.%m.%Y" - dayjs: "DD.MM.YYYY" - -# categories page -categories: - category_measure: - singular: Kategorie - plural: Kategorien - post_measure: - singular: Eintrag - plural: Einträge diff --git a/_data/locales/el-GR.yml b/_data/locales/el-GR.yml deleted file mode 100644 index ab5fb0e..0000000 --- a/_data/locales/el-GR.yml +++ /dev/null @@ -1,91 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: Δημοσίευση - category: Κατηγορία - tag: Ετικέτα - -# The tabs of sidebar -tabs: - # format: : - home: Home - categories: Κατηγορίες - tags: Ετικέτες - archives: Αρχεία - about: Σχετικά - -# the text displayed in the search bar & search results -search: - hint: αναζήτηση - cancel: Ακύρωση - no_results: Oops! Κανένα αποτέλεσμα δεν βρέθηκε. - -panel: - lastmod: Σχετικά ενημερωμένα - trending_tags: Ετικέτες τάσης - toc: Περιεχόμενα - -copyright: - # Shown at the bottom of the post - license: - template: Η δημοσίευση αυτή βρίσκεται υπο την άδεια :LICENSE_NAME Greekforce1821. - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: Ορισμένα δικαιώματα reserved. - verbose: >- - Εκτός αλλού ή οπουδήποτε αλλού, τα blog posts σε αυτήν την σελίδα βρίσκονται υπο την άδεια - Creative Commons Attribution 4.0 International (CC BY 4.0) του δημιουργού. - -meta: Αξιοποιώντας την :PLATFORM theme :THEME - -not_found: - statment: Συγνώμη, έχουμε τοποθετήσει λάθος αυτήν την διεύθυνση URL ή υποδεικνύει κάτι που δεν υπάρχει. - -notification: - update_found: Υπάρχει διαθέσιμη μια νέα έκδοση του περιεχομένου. - update: Ενημέρωση - -# ----- Posts related labels ----- - -post: - written_by: Από - posted: Δημοσιεύθηκε - updated: Ενημερώθηκε - words: λέξεις - pageview_measure: προβολές - read_time: - unit: Λεπτά - prompt: διαβάσματος - relate_posts: Περισσότερα - share: Κοινοποιήστε - button: - next: Νεότερα - previous: Παλαιότερα - copy_code: - succeed: Αντιγράφθηκε! - share_link: - title: Αντιγραφή συνδέσμου - succeed: Η διεύθυνση αντιγράφθηκε με επιτυχία! - -# Date time format. -# See: , -df: - post: - strftime: "%b %e, %Y" - dayjs: "ll" - archives: - strftime: "%b" - dayjs: "MMM" - -# categories page -categories: - category_measure: - singular: Κατηγορία - plural: Κατηγορίες - post_measure: - singular: Δημοσίευση - plural: Δημοσιεύσεις diff --git a/_data/locales/en.yml b/_data/locales/en.yml deleted file mode 100644 index 0dbe713..0000000 --- a/_data/locales/en.yml +++ /dev/null @@ -1,91 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: Post - category: Category - tag: Tag - -# The tabs of sidebar -tabs: - # format: : - home: Home - categories: Categories - tags: Tags - archives: Archives - about: About - -# the text displayed in the search bar & search results -search: - hint: search - cancel: Cancel - no_results: Oops! No results found. - -panel: - lastmod: Recently Updated - trending_tags: Trending Tags - toc: Contents - -copyright: - # Shown at the bottom of the post - license: - template: This post is licensed under :LICENSE_NAME by the author. - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: Some rights reserved. - verbose: >- - Except where otherwise noted, the blog posts on this site are licensed - under the Creative Commons Attribution 4.0 International (CC BY 4.0) License by the author. - -meta: Using the :THEME theme for :PLATFORM. - -not_found: - statment: Sorry, we've misplaced that URL or it's pointing to something that doesn't exist. - -notification: - update_found: A new version of content is available. - update: Update - -# ----- Posts related labels ----- - -post: - written_by: By - posted: Posted - updated: Updated - words: words - pageview_measure: views - read_time: - unit: min - prompt: read - relate_posts: Further Reading - share: Share - button: - next: Newer - previous: Older - copy_code: - succeed: Copied! - share_link: - title: Copy link - succeed: Link copied successfully! - -# Date time format. -# See: , -df: - post: - strftime: "%b %e, %Y" - dayjs: "ll" - archives: - strftime: "%b" - dayjs: "MMM" - -# categories page -categories: - category_measure: - singular: category - plural: categories - post_measure: - singular: post - plural: posts diff --git a/_data/locales/es-ES.yml b/_data/locales/es-ES.yml deleted file mode 100644 index 5529230..0000000 --- a/_data/locales/es-ES.yml +++ /dev/null @@ -1,77 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: Entrada - category: Categoría - tag: Etiqueta - -# The tabs of sidebar -tabs: - # format: : - home: Inicio - categories: Categorías - tags: Etiquetas - archives: Archivo - about: Acerca de - -# the text displayed in the search bar & search results -search: - hint: Buscar - cancel: Cancelar - no_results: ¡Oops! No se encuentran resultados. - -panel: - lastmod: Actualizado recientemente - trending_tags: Etiquetas populares - toc: Contenido - -copyright: - # Shown at the bottom of the post - license: - template: Esta entrada está licenciada bajo :LICENSE_NAME por el autor. - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: Algunos derechos reservados. - verbose: >- - Salvo que se indique explícitamente, las entradas de este blog están licenciadas - bajo la Creative Commons Attribution 4.0 International (CC BY 4.0) License por el autor. - -meta: Hecho con :PLATFORM usando el tema :THEME - -not_found: - statment: Lo sentimos, hemos perdido esa URL o apunta a algo que no existe. - -notification: - update_found: Hay una nueva versión de contenido disponible. - update: Actualizar - -# ----- Posts related labels ----- - -post: - written_by: Por - posted: Publicado - updated: Actualizado - words: palabras - pageview_measure: visitas - read_time: - unit: min - prompt: " de lectura" - relate_posts: Lecturas adicionales - share: Compartir - button: - next: Nuevo - previous: Anterior - copy_code: - succeed: ¡Copiado! - share_link: - title: Copiar enlace - succeed: ¡Enlace copiado! - -# categories page -categories: - category_measure: categorias - post_measure: entradas diff --git a/_data/locales/fi-FI.yml b/_data/locales/fi-FI.yml deleted file mode 100644 index c817d2b..0000000 --- a/_data/locales/fi-FI.yml +++ /dev/null @@ -1,90 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: Julkaisu - category: Kateogoria - tag: Tagi - -# The tabs of sidebar -tabs: - # format: : - home: Koti - categories: Kateogoriat - tags: Tagit - archives: Arkistot - about: Minusta - -# the text displayed in the search bar & search results -search: - hint: etsi - cancel: Peruuta - no_results: Hups! Ei tuloksia. - -panel: - lastmod: Viimeksi päivitetty - trending_tags: Trendaavat tagit - toc: Sisältö - -copyright: - # Shown at the bottom of the post - license: - template: Tämä julkaisu on lisenssoitu :LICENSE_NAME julkaisijan toimesta. - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: Jotkut oikeudet pidätetään. - verbose: >- - Paitsi jos erikseen mainitaan on kaikki sisältö Creative Commons Attribution 4.0 International (CC BY 4.0) Lisensoitu kirjoittajan toimesta. - -meta: Käytetään :PLATFORM iä Teema :THEME - -not_found: - statment: Valitettavasti tällä URL-osoitteella ei ole saatavilla sisältöä. - -notification: - update_found: Uusi versio sisällöstä on saatavilla. - update: Päivitä - -# ----- Posts related labels ----- - -post: - written_by: Kirjoittaja - posted: Julkaistu - updated: Päivitetty - words: sanaa - pageview_measure: katselukertoja - read_time: - unit: minuuttia - prompt: lukea - relate_posts: Jatka lukemista - share: Jaa - button: - next: Uudempi - previous: Vanhempi - copy_code: - succeed: Kopiotu! - share_link: - title: Kopioi linkki - succeed: Linkki kopioitu onnistuneesti! - -# Date time format. -# See: , -df: - post: - strftime: "%b %e, %Y" - dayjs: "ll" - archives: - strftime: "%b" - dayjs: "MMM" - -# categories page -categories: - category_measure: - singular: kategoria - plural: kategoriat - post_measure: - singular: julkaisu - plural: julkaisut diff --git a/_data/locales/fr-FR.yml b/_data/locales/fr-FR.yml deleted file mode 100644 index 72b034d..0000000 --- a/_data/locales/fr-FR.yml +++ /dev/null @@ -1,77 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: Post - category: Catégorie - tag: Tag - -# The tabs of sidebar -tabs: - # format: : - home: Accueil - categories: Catégories - tags: Tags - archives: Archives - about: A propos de - -# the text displayed in the search bar & search results -search: - hint: recherche - cancel: Annuler - no_results: Oups ! Aucun résultat trouvé. - -panel: - lastmod: Récemment mis à jour - trending_tags: Tags tendance - toc: Contenu - -copyright: - # Shown at the bottom of the post - license: - template: Cet article est sous licence :LICENSE_NAME par l'auteur. - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: Certains droits réservés. - verbose: >- - Sauf mention contraire, les articles de ce site sont publiés sous licence - sous la licence Creative Commons Attribution 4.0 International (CC BY 4.0) par l'auteur. - -meta: Propulsé par :PLATFORM avec le thème :THEME - -not_found: - statment: Désolé, nous avons égaré cette URL ou elle pointe vers quelque chose qui n'existe pas. - -notification: - update_found: Une nouvelle version du contenu est disponible. - update: Mise à jour - -# ----- Posts related labels ----- - -post: - written_by: Par - posted: Posté - updated: Mis à jour - words: mots - pageview_measure: vues - read_time: - unit: min - prompt: lire - relate_posts: Autres lectures - share: Partager - button: - next: Plus récent - previous: Plus ancien - copy_code: - succeed: Copié ! - share_link: - title: Copier le lien - succeed: Lien copié avec succès ! - -# categories page -categories: - category_measure: catégories - post_measure: posts diff --git a/_data/locales/hu-HU.yml b/_data/locales/hu-HU.yml deleted file mode 100644 index b09f2cd..0000000 --- a/_data/locales/hu-HU.yml +++ /dev/null @@ -1,79 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: Bejegyzés - category: Kategória - tag: Címke - -# The tabs of sidebar -tabs: - # format: : - home: Kezdőlap - categories: Kategóriák - tags: Címkék - archives: Archívum - about: Rólam - -# the text displayed in the search bar & search results -search: - hint: keresés - cancel: Mégse - no_results: Oops! Nincs találat a keresésre. - -panel: - lastmod: Legutóbb frissítve - trending_tags: Népszerű Címkék - toc: Tartalom - links: Blog linkek - -copyright: - # Shown at the bottom of the post - license: - template: A bejegyzés :LICENSE_NAME licenccel rendelkezik. - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: Néhány jog fenntartva. - verbose: >- - Az oldalon található tartalmak - Creative Commons Attribution 4.0 International (CC BY 4.0) licenccel rendelkeznek, - hacsak másképp nincs jelezve. - -meta: Készítve :PLATFORM motorral :THEME témával - -not_found: - statment: Sajnáljuk, az URL-t rosszul helyeztük el, vagy valami nem létezőre mutat. - -notification: - update_found: Elérhető a tartalom új verziója. - update: Frissítés - -# ----- Posts related labels ----- - -post: - written_by: Szerző - posted: Létrehozva - updated: Frissítve - words: szó - pageview_measure: látogató - read_time: - unit: perc - prompt: elolvasni - relate_posts: További olvasnivaló - share: Megosztás - button: - next: Újabb - previous: Régebbi - copy_code: - succeed: Másolva! - share_link: - title: Link másolása - succeed: Link sikeresen másolva! - -# categories page -categories: - category_measure: kategória - post_measure: bejegyzés diff --git a/_data/locales/id-ID.yml b/_data/locales/id-ID.yml deleted file mode 100644 index 29ad156..0000000 --- a/_data/locales/id-ID.yml +++ /dev/null @@ -1,77 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: Postingan - category: Kategori - tag: Tagar - -# The tabs of sidebar -tabs: - # format: : - home: Beranda - categories: Kategori - tags: Tagar - archives: Arsip - about: Tentang - -# the text displayed in the search bar & search results -search: - hint: Cari - cancel: Batal - no_results: Ups! Tidak ada hasil yang ditemukan. - -panel: - lastmod: Postingan Terbaru - trending_tags: Tagar Terpopuler - toc: Konten - -copyright: - # Shown at the bottom of the post - license: - template: Postingan ini dilisensikan di bawah :LICENSE_NAME oleh penulis. - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: Sebagian konten dilindungi. - verbose: >- - Kecuali jika dinyatakan, Postingan blog di situs ini dilisensikan - di bawah Lisensi Creative Commons Attribution 4.0 International (CC BY 4.0) oleh penulis. - -meta: Didukung oleh :PLATFORM dengan tema :THEME - -not_found: - statment: Maaf, kami gagal menemukan URL itu atau memang mengarah ke sesuatu yang tidak ada. - -notification: - update_found: Versi konten baru tersedia. - update: Perbarui - -# ----- Posts related labels ----- - -post: - written_by: Oleh - posted: Diterbitkan - updated: Diperbarui - words: kata - pageview_measure: dilihat - read_time: - unit: menit - prompt: baca - relate_posts: Postingan Lainya - share: Bagikan - button: - next: Terbaru - previous: Terlama - copy_code: - succeed: Disalin! - share_link: - title: Salin tautan - succeed: Tautan berhasil disalin! - -# categories page -categories: - category_measure: kategori - post_measure: Postingan diff --git a/_data/locales/it-IT.yml b/_data/locales/it-IT.yml deleted file mode 100644 index cf7b691..0000000 --- a/_data/locales/it-IT.yml +++ /dev/null @@ -1,90 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: Post - category: Categoria - tag: Tag - -# The tabs of sidebar -tabs: - # format: : - home: Pagina principale - categories: Categorie - tags: Tags - archives: Archivio - about: Informazioni - -# the text displayed in the search bar & search results -search: - hint: ricerca - cancel: Cancella - no_results: Oops! La ricerca non ha fornito risultati. - -panel: - lastmod: Aggiornati recentemente - trending_tags: Tags più cliccati - toc: Contenuti - -copyright: - # Shown at the bottom of the post - license: - template: Questo post è sotto licenza :LICENSE_NAME a nome dell'autore. - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: Alcuni diritti riservati. - verbose: >- - Eccetto quando esplicitamente menzionato, i post di questo blog sono da ritenersi sotto - i termini di licenza Creative Commons Attribution 4.0 International (CC BY 4.0). - -meta: Servizio offerto da :PLATFORM con tema :THEME -not_found: - statment: Ci scusiamo, non è stato possibile trovare l'URL in questione. Potrebbe puntare ad una pagina non esistente. - -notification: - update_found: Nuova versione del contenuto disponibile. - update: Aggiornamento - -# ----- Posts related labels ----- - -post: - written_by: Da - posted: Postato - updated: Aggiornato - words: parole - pageview_measure: visioni - read_time: - unit: min - prompt: lettura - relate_posts: Continua a leggere - share: Condividi - button: - next: Più recenti - previous: Meno recenti - copy_code: - succeed: Copiato! - share_link: - title: Copia link - succeed: Link copiato con successo! - -# Date time format. -# See: , -df: - post: - strftime: "%b %e, %Y" - dayjs: "ll" - archives: - strftime: "%b" - dayjs: "MMM" - -# categories page -categories: - category_measure: - singular: categoria - plural: categorie - post_measure: - singular: post - plural: posts diff --git a/_data/locales/ko-KR.yml b/_data/locales/ko-KR.yml deleted file mode 100644 index 4dd221b..0000000 --- a/_data/locales/ko-KR.yml +++ /dev/null @@ -1,84 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: 포스트 - category: 카테고리 - tag: 태그 - -# The tabs of sidebar -tabs: - # format: : - home: 홈 - categories: 카테고리 - tags: 태그 - archives: 아카이브 - about: 정보 - -# the text displayed in the search bar & search results -search: - hint: 검색 - cancel: 취소 - no_results: 검색 결과가 없습니다. - -panel: - lastmod: 최근 업데이트 - trending_tags: 인기 태그 - toc: 바로가기 - -copyright: - # Shown at the bottom of the post - license: - template: 이 기사는 저작권자의 :LICENSE_NAME 라이센스를 따릅니다. - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: 일부 권리 보유 - verbose: >- - 명시되지 않는 한 이 사이트의 블로그 게시물은 작성자의 - Creative Commons Attribution 4.0 International(CC BY 4.0) 라이선스에 따라 사용이 허가되었습니다. - -meta: Powered by :PLATFORM with :THEME theme - -not_found: - statment: 해당 URL은 존재하지 않습니다. - -notification: - update_found: 새 버전의 콘텐츠를 사용할 수 있습니다. - update: 업데이트 - -# ----- Posts related labels ----- - -post: - written_by: By - posted: 게시 - updated: 업데이트 - words: 단어 - pageview_measure: 조회 - read_time: - unit: 분 - prompt: 읽는 시간 - relate_posts: 관련된 글 - share: 공유하기 - button: - next: 다음 글 - previous: 이전 글 - copy_code: - succeed: 복사되었습니다! - share_link: - title: 링크 복사하기 - succeed: 링크가 복사되었습니다! - -# Date time format. -# See: , -df: - post: - strftime: "%Y/%m/%d" - dayjs: "YYYY/MM/DD" - -# categories page -categories: - category_measure: 카테고리 - post_measure: 포스트 diff --git a/_data/locales/my-MM.yml b/_data/locales/my-MM.yml deleted file mode 100644 index 98848d5..0000000 --- a/_data/locales/my-MM.yml +++ /dev/null @@ -1,77 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: ပို့စ် - category: ကဏ္ဍ - tag: နာမ(တက်ဂ်) - -# The tabs of sidebar -tabs: - # format: : - home: အဓိကစာမျက်နှာ - categories: ကဏ္ဍများ - tags: နာမ(တက်ဂ်)များ - archives: မှတ်တမ်း​တိုက် - about: အကြောင်းအရာ - -# the text displayed in the search bar & search results -search: - hint: ရှာဖွေမည် - cancel: ဖျက်သိမ်းမည် - no_results: အိုး! ဘာမှမရှိပါ - -panel: - lastmod: မကြာသေးမီကမွမ်းမံထားသည် - trending_tags: ခေတ်စားနေသည့်တက်ဂ်များ - toc: အကြောင်းအရာများ - -copyright: - # Shown at the bottom of the post - license: - template: ဤပို့စ်သည်စာရေးသူ၏ :LICENSE_NAME လိုင်စင်ရထားသည်။ - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: မူပိုင်ခွင့်အချို့ကို လက်ဝယ်ထားသည်။ - verbose: >- - အခြားမှတ်သားထားချက်များမှလွဲ၍ ဤဆိုက်ရှိ ဘလော့ဂ်ပို့စ်များသည် စာရေးသူ၏ - Creative Commons Attribution 4.0 International (CC BY 4.0) အောက်တွင် လိုင်စင်ရထားပါသည်။ - -meta: Powered by :PLATFORM with :THEME theme - -not_found: - statment: ဝမ်းနည်းပါသည်၊ ကျွန်ုပ်တို့သည် အဆိုပါ URL ကို မှားယွင်းစွာ နေရာချထားခြင်း သို့မဟုတ် ၎င်းသည် မရှိသောအရာကို ညွှန်ပြနေပါသည်။ - -notification: - update_found: အကြောင်းအရာဗားရှင်းအသစ်ကို ရနိုင်ပါပြီ။ - update: အပ်ဒိတ် - -# ----- Posts related labels ----- - -post: - written_by: ကရေးသားခဲ့သည်။ - posted: တင်ထားခဲ့သည်။ - updated: မွမ်းမံထားခဲ့သည်။ - words: စကားလုံးများ - pageview_measure: အမြင်များ - read_time: - unit: မိနစ် - prompt: ဖတ်ပါမည် - relate_posts: နောက်ထပ်ဖတ်ရန် - share: မျှဝေရန် - button: - next: အသစ်များ - previous: အဟောင်းများ - copy_code: - succeed: ကူးယူလိုက်ပြီ။ - share_link: - title: လင့်ခ်ကို ကူးယူရန် - succeed: လင့်ခ်ကို ကူးယူလိုက်ပြီ။ - -# categories page -categories: - category_measure: ကဏ္ဍများ - post_measure: ပို့စ်များ diff --git a/_data/locales/pt-BR.yml b/_data/locales/pt-BR.yml deleted file mode 100644 index 4cef833..0000000 --- a/_data/locales/pt-BR.yml +++ /dev/null @@ -1,77 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: Post - category: Categoria - tag: Tag - -# The tabs of sidebar -tabs: - # format: : - home: Home - categories: Categorias - tags: Tags - archives: Arquivos - about: Sobre - -# the text displayed in the search bar & search results -search: - hint: Buscar - cancel: Cancelar - no_results: Oops! Nenhum resultado encontrado. - -panel: - lastmod: Atualizados recentemente - trending_tags: Trending Tags - toc: Conteúdo - -copyright: - # Shown at the bottom of the post - license: - template: Esta postagem está licenciada sob :LICENSE_NAME pelo autor. - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: Alguns direitos reservados. - verbose: >- - Exceto onde indicado de outra forma, as postagens do blog neste site são licenciadas sob a - Creative Commons Attribution 4.0 International (CC BY 4.0) License pelo autor. - -meta: Feito com :PLATFORM usando o tema :THEME - -not_found: - statment: Desculpe, a página não foi encontrada. - -notification: - update_found: Uma nova versão do conteúdo está disponível. - update: atualização - -# ----- Posts related labels ----- - -post: - written_by: Por - posted: Postado em - updated: Atualizado - words: palavras - pageview_measure: visualizações - read_time: - unit: min - prompt: " de leitura" - relate_posts: Leia também - share: Compartilhar - button: - next: Próximo - previous: Anterior - copy_code: - succeed: Copiado! - share_link: - title: Copie o link - succeed: Link copiado com sucesso! - -# categories page -categories: - category_measure: categorias - post_measure: posts diff --git a/_data/locales/ru-RU.yml b/_data/locales/ru-RU.yml deleted file mode 100644 index 185407c..0000000 --- a/_data/locales/ru-RU.yml +++ /dev/null @@ -1,87 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: Пост - category: Категория - tag: Тег - -# The tabs of sidebar -tabs: - # format: : - home: Главная - categories: Категории - tags: Теги - archives: Архив - about: О сайте - -# the text displayed in the search bar & search results -search: - hint: поиск - cancel: Отмена - no_results: Упс! Ничего не найдено. - -panel: - lastmod: Недавно обновлено - trending_tags: Популярные теги - toc: Содержание - -copyright: - # Shown at the bottom of the post - license: - template: Авторский пост защищен лицензией :LICENSE_NAME. - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: Некоторые права защищены. - verbose: >- - Если не указано иное, авторские посты на этом сайте защищены лицензией Creative Commons Attribution 4.0 International (CC BY 4.0). - -meta: Использует тему :THEME для :PLATFORM - -not_found: - statment: Извините, мы перепутали URL-адрес или он указывает на что-то несуществующее. - -notification: - update_found: Доступна новая версия контента. - update: Обновить - -# ----- Posts related labels ----- - -post: - written_by: Автор - posted: Опубликовано - updated: Обновлено - words: слов - pageview_measure: просмотров - read_time: - unit: мин. - prompt: чтения - relate_posts: Похожие посты - share: Поделиться - button: - next: Следующий пост - previous: Предыдущий пост - copy_code: - succeed: Скопировано! - share_link: - title: Скопировать ссылку - succeed: Ссылка успешно скопирована! - -# Date time format. -# See: , -df: - post: - strftime: "%d.%m.%Y" - dayjs: "DD.MM.YYYY" - -# categories page -categories: - category_measure: - singular: категория - plural: категории - post_measure: - singular: пост - plural: посты diff --git a/_data/locales/sl-SI.yml b/_data/locales/sl-SI.yml deleted file mode 100644 index 7ab18b1..0000000 --- a/_data/locales/sl-SI.yml +++ /dev/null @@ -1,91 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: Objava #Post - category: Kategorija #Category - tag: Oznaka #Tag - -# The tabs of sidebar -tabs: - # format: : - home: Domov #Home - categories: Kategorije #Categories - tags: Oznake #Tags - archives: Arhiv #Archives - about: O meni #About - -# the text displayed in the search bar & search results -search: - hint: išči #search - cancel: Prekliči #Cancel - no_results: Ups! Vsebina ni bila najdena #Oops! No results found. - -panel: - lastmod: Nedavno Posodobljeno #Recently Updated - trending_tags: Priljubljene Oznake #Trending Tags - toc: Vsebina #Contents - -copyright: - # Shown at the bottom of the post - license: - template: Ta objava je licencirana pod :LICENCE_NAME s strani avtorja. #This post is licensed under :LICENSE_NAME by the author. - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: Nekatere pravice pridržane. #Some rights reserved. - verbose: >- - Razen kjer navedeno drugače, vse objave spletnega dnevnika so licencirane - pod Creative Commons Attribution 4.0 International (CC BY 4.0) s strani avtorja. - -meta: Uporabljena :PLATFORM tema :THEME #Using the :PLATFORM theme :THEME - -not_found: - statment: Oprostite, hiperpovezava je neustrezna ali vsebina ne obstajata. #Sorry, we've misplaced that URL or it's pointing to something that doesn't exist. - -notification: - update_found: Novejša različica vsebine je na voljo. #A new version of content is available. - update: Posodobi #Update - -# ----- Posts related labels ----- - -post: - written_by: Od #By - posted: Objavljeno #Posted - updated: Posodobljeno #Updated - words: besede #words - pageview_measure: ogledi #views - read_time: - unit: min - prompt: beri #read - relate_posts: Nadaljnje branje #Further Reading - share: Deli #Share - button: - next: Novejše #Newer - previous: Starejše #Older - copy_code: - succeed: Kopirano! #Copied! - share_link: - title: Kopiraj povezavo #Copy link - succeed: Povezava uspešno kopirana! #Link copied successfully! - -# Date time format. -# See: , -df: - post: - strftime: "%e %b, %Y" - dayjs: "ll" - archives: - strftime: "%b" - dayjs: "MMM" - -# categories page -categories: - category_measure: - singular: kategorija #category - plural: kategorije #categories - post_measure: - singular: objava #post - plural: objave #posts diff --git a/_data/locales/sv-SE.yml b/_data/locales/sv-SE.yml deleted file mode 100644 index 7ec2ee2..0000000 --- a/_data/locales/sv-SE.yml +++ /dev/null @@ -1,91 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: Inlägg #Post - category: Kategori #Category - tag: Tagga #Tag - -# The tabs of sidebar -tabs: - # format: : - home: Hem #Home - categories: Kategorier #Categories - tags: Taggar #Tags - archives: Arkiv #Archives - about: Om #About - -# the text displayed in the search bar & search results -search: - hint: sök - cancel: Avbryt - no_results: Hoppsan! Hittade inga sökträffar. - -panel: - lastmod: Senast uppdaterad - trending_tags: Trendande taggar - toc: Innehåll - -copyright: - # Shown at the bottom of the post - license: - template: Den här posten är publicerad under licensen :LICENSE_NAME av författaren. - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: Vissa rättigheter är reserverade. - verbose: >- - Om inte annat anges är blogginläggen på denna webbplats licensierade - under Creative Commons Attribution 4.0 International (CC BY 4.0) av författaren. - -meta: Byggd med :PLATFORM och temat :THEME - -not_found: - statment: Ursäkta, vi har tappat bort den här webbadressen eller så pekar den på något som inte längre finns. - -notification: - update_found: Det finns en ny version av innehållet. - update: Uppdatera sidan - -# ----- Posts related labels ----- - -post: - written_by: Av - posted: Postad - updated: Uppdaterad - words: ord - pageview_measure: visningar - read_time: - unit: min - prompt: läsning - relate_posts: Mer läsning - share: Dela - button: - next: Nyare - previous: Äldre - copy_code: - succeed: Kopierat! - share_link: - title: Kopiera länk - succeed: Länken har kopierats! - -# Date time format. -# See: , -df: - post: - strftime: "%b %e, %Y" - dayjs: "ll" - archives: - strftime: "%b" - dayjs: "MMM" - -# categories page -categories: - category_measure: - singular: kategori - plural: kategorier - post_measure: - singular: inlägg - plural: inlägg diff --git a/_data/locales/th.yml b/_data/locales/th.yml deleted file mode 100644 index 22cb00a..0000000 --- a/_data/locales/th.yml +++ /dev/null @@ -1,91 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: โพสต์ - category: หมวดหมู่ - tag: แท็ก - -# The tabs of sidebar -tabs: - # format: : - home: หน้าแรก - categories: หมวดหมู่ - tags: แท็ก - archives: คลังเก็บ - about: เกี่ยวกับ - -# the text displayed in the search bar & search results -search: - hint: ค้นหา - cancel: ยกเลิก - no_results: โอ๊ะ! ไม่พบผลลัพธ์ - -panel: - lastmod: อัปเดตล่าสุด - trending_tags: แท็กยอดนิยม - toc: เนื้อหา - -copyright: - # Shown at the bottom of the post - license: - template: โพสต์นี้อยู่ภายใต้การอนุญาต :LICENSE_NAME โดยผู้เขียน - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: สงวนลิขสิทธิ์เป็นบางส่วน - verbose: >- - เว้นแต่ว่าจะระบุเป็นอย่างอื่น โพสต์บนเว็บไซต์นี้อยู่ภายใต้ - สัญญาอนุญาตครีเอทีฟคอมมอนส์แบบ 4.0 นานาชาติ (CC BY 4.0) โดยผู้เขียน - -meta: กำลังใช้ธีมของ :PLATFORM ชื่อ :THEME - -not_found: - statment: ขออภัย เราวาง URL นั้นไว้ผิดที่ หรือมันชี้ไปยังสิ่งที่ไม่มีอยู่ - -notification: - update_found: มีเวอร์ชันใหม่ของเนื้อหา - update: อัปเดต - -# ----- Posts related labels ----- - -post: - written_by: โดย - posted: โพสต์เมื่อ - updated: อัปเดตเมื่อ - words: คำ - pageview_measure: ครั้ง - read_time: - unit: นาที - prompt: อ่าน - relate_posts: อ่านต่อ - share: แชร์ - button: - next: ใหม่กว่า - previous: เก่ากว่า - copy_code: - succeed: คัดลอกแล้ว! - share_link: - title: คัดลอกลิงก์ - succeed: คัดลอกลิงก์เรียบร้อยแล้ว! - -# Date time format. -# See: , -df: - post: - strftime: "%b %e, %Y" - dayjs: "ll" - archives: - strftime: "%b" - dayjs: "MMM" - -# categories page -categories: - category_measure: - singular: หมวดหมู่ - plural: หมวดหมู่ - post_measure: - singular: โพสต์ - plural: โพสต์ diff --git a/_data/locales/tr-TR.yml b/_data/locales/tr-TR.yml deleted file mode 100644 index 50d8110..0000000 --- a/_data/locales/tr-TR.yml +++ /dev/null @@ -1,77 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: Gönderi - category: Kategori - tag: Etiket - -# The tabs of sidebar -tabs: - # format: : - home: Ana Sayfa - categories: Kategoriler - tags: Etiketler - archives: Arşiv - about: Hakkında - -# the text displayed in the search bar & search results -search: - hint: Ara... - cancel: İptal - no_results: Hop! Öyle bir şey bulamadım. - -panel: - lastmod: Son Güncellenenler - trending_tags: Yükselen Etiketler - toc: İçindekiler - -copyright: - # Shown at the bottom of the post - license: - template: Bu gönderi :LICENSE_NAME lisansı altındadır. - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/deed.tr - - # Displayed in the footer - brief: Bazı hakları saklıdır. - verbose: >- - Aksi belirtilmediği sürece, bu sitedeki gönderiler Creative Commons Atıf 4.0 Uluslararası (CC BY 4.0) Lisansı altındadır. - Kısaca sayfa linkini vererek değiştirebilir / paylaşabilirsiniz. - -meta: :PLATFORM ve :THEME teması - -not_found: - statment: Üzgünüz, bu linki yanlış yerleştirdik veya var olmayan bir şeye işaret ediyor. - -notification: - update_found: İçeriğin yeni bir sürümü mevcut. - update: Güncelle - -# ----- Posts related labels ----- - -post: - written_by: Yazan - posted: Gönderim - updated: Güncelleme - words: sözcük - pageview_measure: görüntülenme - read_time: - unit: dakikada - prompt: okunabilir - relate_posts: Benzer Gönderiler - share: Paylaş - button: - next: İleri - previous: Geri - copy_code: - succeed: Kopyalandı. - share_link: - title: Linki kopyala - succeed: Link kopyalandı. - -# categories page -categories: - category_measure: kategori - post_measure: gönderi diff --git a/_data/locales/uk-UA.yml b/_data/locales/uk-UA.yml deleted file mode 100644 index b605073..0000000 --- a/_data/locales/uk-UA.yml +++ /dev/null @@ -1,77 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: Публікація - category: Категорія - tag: Тег - -# The tabs of sidebar -tabs: - # format: : - home: Домашня сторінка - categories: Категорії - tags: Теги - archives: Архів - about: Про сайт - -# the text displayed in the search bar & search results -search: - hint: пошук - cancel: Скасувати - no_results: Ох! Нічого не знайдено. - -panel: - lastmod: Нещодавно оновлено - trending_tags: Популярні теги - toc: Зміст - -copyright: - # Shown at the bottom of the post - license: - template: Публікація захищена ліцензією :LICENSE_NAME. - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: Деякі права захищено. - verbose: >- - Публікації на сайті захищено ліцензією Creative Commons Attribution 4.0 International (CC BY 4.0), - якщо інше не вказано в тексті. - -meta: Powered by :PLATFORM with :THEME theme - -not_found: - statment: Вибачте, це посилання вказує на ресурс, що не існує. - -notification: - update_found: Доступна нова версія вмісту. - update: Оновлення - -# ----- Posts related labels ----- - -post: - written_by: Автор - posted: Час публікації - updated: Оновлено - words: слів - pageview_measure: переглядів - read_time: - unit: хвилин - prompt: читання - relate_posts: Вас також може зацікавити - share: Поділитися - button: - next: Попередня публікація - previous: Наступна публікація - copy_code: - succeed: Успішно скопійовано! - share_link: - title: Скопіювати посилання - succeed: Посилання успішно скопійовано! - -# categories page -categories: - category_measure: категорії - post_measure: публікації diff --git a/_data/locales/vi-VN.yml b/_data/locales/vi-VN.yml deleted file mode 100644 index 617431a..0000000 --- a/_data/locales/vi-VN.yml +++ /dev/null @@ -1,76 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: Bài viết - category: Danh mục - tag: Thẻ - -# The tabs of sidebar -tabs: - # format: : - home: Trang chủ - categories: Các danh mục - tags: Các thẻ - archives: Lưu trữ - about: Giới thiệu - -# the text displayed in the search bar & search results -search: - hint: tìm kiếm - cancel: Hủy - no_results: Không có kết quả tìm kiếm. - -panel: - lastmod: Mới cập nhật - trending_tags: Các thẻ thịnh hành - toc: Mục lục - -copyright: - # Shown at the bottom of the post - license: - template: Bài viết này được cấp phép bởi tác giả theo giấy phép :LICENSE_NAME. - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: Một số quyền được bảo lưu. - verbose: >- - Trừ khi có ghi chú khác, các bài viết đăng trên trang này được cấp phép bởi tác giả theo giấy phép Creative Commons Attribution 4.0 International (CC BY 4.0). - -meta: Trang web này được tạo bởi :PLATFORM với chủ đề :THEME - -not_found: - statment: Xin lỗi, chúng tôi đã đặt nhầm URL hoặc đường dẫn trỏ đến một trang nào đó không tồn tại. - -notification: - update_found: Đã có phiên bản mới của nội dung. - update: Cập nhật - -# ----- Posts related labels ----- - -post: - written_by: Viết bởi - posted: Đăng lúc - updated: Cập nhật lúc - words: từ - pageview_measure: lượt xem - read_time: - unit: phút - prompt: đọc - relate_posts: Bài viết liên quan - share: Chia sẻ - button: - next: Mới hơn - previous: Cũ hơn - copy_code: - succeed: Đã sao chép! - share_link: - title: Sao chép đường dẫn - succeed: Đã sao chép đường dẫn thành công! - -# categories page -categories: - category_measure: danh mục - post_measure: bài viết diff --git a/_data/locales/zh-CN.yml b/_data/locales/zh-CN.yml deleted file mode 100644 index f828134..0000000 --- a/_data/locales/zh-CN.yml +++ /dev/null @@ -1,83 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: 文章 - category: 分类 - tag: 标签 - -# The tabs of sidebar -tabs: - # format: : - home: 首页 - categories: 分类 - tags: 标签 - archives: 归档 - about: 关于 - -# the text displayed in the search bar & search results -search: - hint: 搜索 - cancel: 取消 - no_results: 搜索结果为空 - -panel: - lastmod: 最近更新 - trending_tags: 热门标签 - toc: 文章内容 - -copyright: - # Shown at the bottom of the post - license: - template: 本文由作者按照 :LICENSE_NAME 进行授权 - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: 保留部分权利。 - verbose: >- - 除非另有说明,本网站上的博客文章均由作者按照知识共享署名 4.0 国际 (CC BY 4.0) 许可协议进行授权。 - -meta: 本站采用 :PLATFORM 主题 :THEME - -not_found: - statment: 抱歉,我们放错了该 URL,或者它指向了不存在的内容。 - -notification: - update_found: 发现新版本的内容。 - update: 更新 - -# ----- Posts related labels ----- - -post: - written_by: 作者 - posted: 发表于 - updated: 更新于 - words: 字 - pageview_measure: 次浏览 - read_time: - unit: 分钟 - prompt: 阅读 - relate_posts: 相关文章 - share: 分享 - button: - next: 下一篇 - previous: 上一篇 - copy_code: - succeed: 已复制! - share_link: - title: 分享链接 - succeed: 链接已复制! - -# Date time format. -# See: , -df: - post: - strftime: "%Y/%m/%d" - dayjs: "YYYY/MM/DD" - -# categories page -categories: - category_measure: 个分类 - post_measure: 篇文章 diff --git a/_data/locales/zh-TW.yml b/_data/locales/zh-TW.yml deleted file mode 100644 index 911253b..0000000 --- a/_data/locales/zh-TW.yml +++ /dev/null @@ -1,83 +0,0 @@ -# The layout text of site - -# ----- Commons label ----- - -layout: - post: 文章 - category: 分類 - tag: 標籤 - -# The tabs of sidebar -tabs: - # format: : - home: 首頁 - categories: 分類 - tags: 標籤 - archives: 封存 - about: 關於 - -# the text displayed in the search bar & search results -search: - hint: 搜尋 - cancel: 取消 - no_results: 沒有搜尋結果 - -panel: - lastmod: 最近更新 - trending_tags: 熱門標籤 - toc: 文章摘要 - -copyright: - # Shown at the bottom of the post - license: - template: 本文章以 :LICENSE_NAME 授權 - name: CC BY 4.0 - link: https://creativecommons.org/licenses/by/4.0/ - - # Displayed in the footer - brief: 保留部份權利。 - verbose: >- - 除非另有說明,否則本網誌的文章均由作者按照姓名標示 4.0 國際 (CC BY 4.0) 授權條款進行授權。 - -meta: 本網站使用 :PLATFORM 產生,採用 :THEME 主題 - -not_found: - statment: 抱歉,您可能正在存取一個已被移動的 URL,或者它從未存在。 - -notification: - update_found: 發現新版本更新。 - update: 更新 - -# ----- Posts related labels ----- - -post: - written_by: 作者 - posted: 發布於 - updated: 更新於 - words: 字 - pageview_measure: 次瀏覽 - read_time: - unit: 分鐘 - prompt: 閱讀 - relate_posts: 相關文章 - share: 分享 - button: - next: 下一篇 - previous: 上一篇 - copy_code: - succeed: 已複製! - share_link: - title: 分享連結 - succeed: 已複製連結! - -# Date time format. -# See: , -df: - post: - strftime: "%Y/%m/%d" - dayjs: "YYYY/MM/DD" - -# categories page -categories: - category_measure: 個分類 - post_measure: 篇文章 diff --git a/_data/origin/basic.yml b/_data/origin/basic.yml deleted file mode 100644 index ed99ea8..0000000 --- a/_data/origin/basic.yml +++ /dev/null @@ -1,46 +0,0 @@ -# fonts - -webfonts: /assets/lib/fonts/main.css - -# Libraries - -jquery: - js: /assets/lib/jquery/jquery.min.js - -bootstrap: - css: /assets/lib/bootstrap/bootstrap.min.css - js: /assets/lib/bootstrap/bootstrap.bundle.min.js - -toc: - css: /assets/lib/tocbot/tocbot.min.css - js: /assets/lib/tocbot/tocbot.min.js - -fontawesome: - css: /assets/lib/fontawesome-free/css/all.min.css - -search: - js: /assets/lib/simple-jekyll-search/simple-jekyll-search.min.js - -mermaid: - js: /assets/lib/mermaid/mermaid.min.js - -dayjs: - js: - common: /assets/lib/dayjs/dayjs.min.js - locale: /assets/lib/dayjs/locale/en.min.js - relativeTime: /assets/lib/dayjs/plugin/relativeTime.min.js - localizedFormat: /assets/lib/dayjs/plugin/localizedFormat.min.js - -magnific-popup: - css: /assets/lib/magnific-popup/magnific-popup.css - js: /assets/lib/magnific-popup/jquery.magnific-popup.min.js - -lazy-polyfill: - css: /assets/lib/loading-attribute-polyfill/loading-attribute-polyfill.min.css - js: /assets/lib/loading-attribute-polyfill/loading-attribute-polyfill.umd.min.js - -clipboard: - js: /assets/lib/clipboard/clipboard.min.js - -mathjax: - js: /assets/lib/mathjax/tex-chtml.js diff --git a/_data/origin/cors.yml b/_data/origin/cors.yml deleted file mode 100644 index c319411..0000000 --- a/_data/origin/cors.yml +++ /dev/null @@ -1,68 +0,0 @@ -# CDNs - -cdns: - # Google Fonts - - url: https://fonts.googleapis.com - - url: https://fonts.gstatic.com - args: crossorigin - - url: https://fonts.googleapis.com - # jsDelivr CDN - - url: https://cdn.jsdelivr.net - # polyfill.io for math (cdnjs.cloudflare.com/polyfill) - - url: https://cdnjs.cloudflare.com - -# fonts - -webfonts: https://fonts.googleapis.com/css2?family=Lato&family=Source+Sans+Pro:wght@400;600;700;900&display=swap - -# Libraries - -jquery: - js: https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js - -bootstrap: - css: https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css - js: https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js - -toc: - css: https://cdn.jsdelivr.net/npm/tocbot@4.25.0/dist/tocbot.min.css - js: https://cdn.jsdelivr.net/npm/tocbot@4.25.0/dist/tocbot.min.js - -fontlogos: - css: https://cdn.jsdelivr.net/npm/font-logos@1/assets/font-logos.css - -forkawesome: - css: https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css - -fontawesome: - css: https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.5.2/css/all.min.css - -ballooncss: - css: https://unpkg.com/balloon-css/balloon.min.css - -search: - js: https://cdn.jsdelivr.net/npm/simple-jekyll-search@1.10.0/dest/simple-jekyll-search.min.js - -mermaid: - js: https://cdn.jsdelivr.net/npm/mermaid@10.8.0/dist/mermaid.min.js - -dayjs: - js: - common: https://cdn.jsdelivr.net/npm/dayjs@1.11.10/dayjs.min.js - locale: https://cdn.jsdelivr.net/npm/dayjs@1.11.10/locale/:LOCALE.min.js - relativeTime: https://cdn.jsdelivr.net/npm/dayjs@1.11.10/plugin/relativeTime.min.js - localizedFormat: https://cdn.jsdelivr.net/npm/dayjs@1.11.10/plugin/localizedFormat.min.js - -magnific-popup: - css: https://cdn.jsdelivr.net/npm/magnific-popup@1.1.0/dist/magnific-popup.min.css - js: https://cdn.jsdelivr.net/npm/magnific-popup@1.1.0/dist/jquery.magnific-popup.min.js - -lazy-polyfill: - css: https://cdn.jsdelivr.net/npm/loading-attribute-polyfill@2.1.1/dist/loading-attribute-polyfill.min.css - js: https://cdn.jsdelivr.net/npm/loading-attribute-polyfill@2.1.1/dist/loading-attribute-polyfill.umd.min.js - -clipboard: - js: https://cdn.jsdelivr.net/npm/clipboard@2.0.11/dist/clipboard.min.js - -mathjax: - js: https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/tex-chtml.js diff --git a/_data/share.yml b/_data/share.yml deleted file mode 100644 index ee73bec..0000000 --- a/_data/share.yml +++ /dev/null @@ -1,30 +0,0 @@ -platforms: - - - type: Linkedin - icon: "fab fa-linkedin" - link: "https://www.linkedin.com/sharing/share-offsite/?url=URL" - - - type: Mastodon - icon: "fa fa-mastodon" - # See: https://github.com/justinribeiro/share-to-mastodon#properties - instances: - - label: mastodon.social - link: "https://mastodon.social/" - - label: mastodon.online - link: "https://mastodon.online/" - - label: fosstodon.org - link: "https://fosstodon.org/" - - label: mastodon.com.tr - link: "https://mastodon.com.tr/" - - - type: Twitter - icon: "fa-brands fa-square-x-twitter" - link: "https://twitter.com/intent/tweet?text=TITLE&url=URL" - - - type: Facebook - icon: "fab fa-facebook-square" - link: "https://www.facebook.com/sharer/sharer.php?title=TITLE&u=URL" - - - type: Telegram - icon: "fab fa-telegram" - link: "https://t.me/share/url?url=URL&text=TITLE" diff --git a/_includes/comments.html b/_includes/comments.html deleted file mode 100644 index 39e521f..0000000 --- a/_includes/comments.html +++ /dev/null @@ -1,5 +0,0 @@ - -{% if page.comments and site.comments.active %} - {% capture path %}comments/{{ site.comments.active }}.html{% endcapture %} - {% include {{ path }} %} -{% endif %} diff --git a/_includes/comments/disqus.html b/_includes/comments/disqus.html deleted file mode 100644 index e59ed37..0000000 --- a/_includes/comments/disqus.html +++ /dev/null @@ -1,50 +0,0 @@ - - -
-

Comments powered by Disqus.

-
- - diff --git a/_includes/comments/giscus.html b/_includes/comments/giscus.html deleted file mode 100644 index 8f04246..0000000 --- a/_includes/comments/giscus.html +++ /dev/null @@ -1,65 +0,0 @@ - - diff --git a/_includes/comments/utterances.html b/_includes/comments/utterances.html deleted file mode 100644 index 34dddcd..0000000 --- a/_includes/comments/utterances.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - diff --git a/_includes/datetime.html b/_includes/datetime.html deleted file mode 100644 index 9f954b6..0000000 --- a/_includes/datetime.html +++ /dev/null @@ -1,20 +0,0 @@ - - -{% assign df_strftime = site.data.locales[include.lang].df.post.strftime | default: '%d/%m/%Y' %} -{% assign df_dayjs = site.data.locales[include.lang].df.post.dayjs | default: 'DD/MM/YYYY' %} - - diff --git a/_includes/embed/bilibili.html b/_includes/embed/bilibili.html deleted file mode 100644 index eaa09d8..0000000 --- a/_includes/embed/bilibili.html +++ /dev/null @@ -1,10 +0,0 @@ - \ No newline at end of file diff --git a/_includes/embed/twitch.html b/_includes/embed/twitch.html deleted file mode 100644 index ed5ec83..0000000 --- a/_includes/embed/twitch.html +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/_includes/embed/youtube.html b/_includes/embed/youtube.html deleted file mode 100644 index 640011f..0000000 --- a/_includes/embed/youtube.html +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/_includes/favicons.html b/_includes/favicons.html deleted file mode 100644 index 957c933..0000000 --- a/_includes/favicons.html +++ /dev/null @@ -1,19 +0,0 @@ - - -{% capture favicon_path %}{{ '/assets/img/favicons' | relative_url }}{% endcapture %} - - - - -{% if site.pwa.enabled %} - -{% endif %} - - - - - - diff --git a/_includes/footer.html b/_includes/footer.html deleted file mode 100644 index a015f46..0000000 --- a/_includes/footer.html +++ /dev/null @@ -1,42 +0,0 @@ - - -
-

- {{- '©' }} - - - {% if site.social.links %} - {{ site.social.name }}. - {% else %} - {{ site.social.name }}. - {% endif %} - - {% if site.data.locales[include.lang].copyright.brief %} - - {{- site.data.locales[include.lang].copyright.brief -}} - - {% endif %} -

- -

- {%- capture _platform -%} - Jekyll - {%- endcapture -%} - - {%- capture _theme -%} - Chirpy - {%- endcapture -%} - - {{ site.data.locales[include.lang].meta | replace: ':PLATFORM', _platform | replace: ':THEME', _theme }} -

-
diff --git a/_includes/goatcounter.html b/_includes/goatcounter.html deleted file mode 100644 index 4d21d21..0000000 --- a/_includes/goatcounter.html +++ /dev/null @@ -1,8 +0,0 @@ - - - - diff --git a/_includes/google-analytics.html b/_includes/google-analytics.html deleted file mode 100644 index e5e5119..0000000 --- a/_includes/google-analytics.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - diff --git a/_includes/head.html b/_includes/head.html deleted file mode 100644 index 3d743cd..0000000 --- a/_includes/head.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - {%- capture seo_tags -%} - {% seo title=false %} - {%- endcapture -%} - - - - {% if page.image %} - {% assign src = page.image.path | default: page.image %} - - {% unless src contains '://' %} - {%- capture img_url -%} - {% include img-url.html src=src img_path=page.img_path absolute=true %} - {%- endcapture -%} - - {%- capture old_url -%}{{ src | absolute_url }}{%- endcapture -%} - {%- capture new_url -%}{{ img_url }}{%- endcapture -%} - - {% assign seo_tags = seo_tags | replace: old_url, new_url %} - {% endunless %} - - {% elsif site.social_preview_image %} - {%- capture img_url -%} - {% include img-url.html src=site.social_preview_image absolute=true %} - {%- endcapture -%} - - {%- capture og_image -%} - - {%- endcapture -%} - - {%- capture twitter_image -%} - - - {%- endcapture -%} - - {% assign old_meta_clip = '' %} - {% assign new_meta_clip = og_image | append: twitter_image %} - {% assign seo_tags = seo_tags | replace: old_meta_clip, new_meta_clip %} - {% endif %} - - {{ seo_tags }} - - - {%- unless page.layout == 'home' -%} - {{ page.title | append: ' | ' }} - {%- endunless -%} - {{ site.title }} - - - {% include_cached favicons.html %} - - {% if site.resources.ignore_env != jekyll.environment and site.resources.self_hosted %} - - - {% else %} - {% for cdn in site.data.origin[type].cdns %} - - - {% endfor %} - - - {% endif %} - - - {% if jekyll.environment == 'production' and site.google_analytics.id != empty and site.google_analytics.id %} - - - - - - {% endif %} - - - - - - - - - - - - - - - - - - - {% if site.toc and page.toc %} - - {% endif %} - - {% if page.layout == 'post' or page.layout == 'page' or page.layout == 'home' %} - - {% endif %} - - {% if page.layout == 'page' or page.layout == 'post' %} - - - {% endif %} - - - - {% unless site.theme_mode %} - {% include mode-toggle.html %} - {% endunless %} - - {% include metadata-hook.html %} - diff --git a/_includes/img-url.html b/_includes/img-url.html deleted file mode 100644 index bb4758c..0000000 --- a/_includes/img-url.html +++ /dev/null @@ -1,37 +0,0 @@ -{%- comment -%} - Generate image final URL based on `site.img_cdn`, `page.img_path` - - Arguments: - src - required, basic image path - img_path - optional, relative path of image - absolute - optional, boolean, if true, generate absolute URL - - Return: - image URL -{%- endcomment -%} - -{% assign url = include.src %} - -{%- if url -%} - {% unless url contains ':' %} - {%- comment -%} Add page image path prefix {%- endcomment -%} - {% assign url = include.img_path | default: '' | append: '/' | append: url %} - - {%- comment -%} Prepend CND URL {%- endcomment -%} - {% if site.img_cdn %} - {% assign url = site.img_cdn | append: '/' | append: url %} - {% endif %} - - {% assign url = url | replace: '///', '/' | replace: '//', '/' | replace: ':/', '://' %} - - {% unless url contains '://' %} - {% if include.absolute %} - {% assign url = site.url | append: site.baseurl | append: url %} - {% else %} - {% assign url = site.baseurl | append: url %} - {% endif %} - {% endunless %} - {% endunless %} -{%- endif -%} - -{{- url -}} diff --git a/_includes/js-selector.html b/_includes/js-selector.html deleted file mode 100644 index 22eee81..0000000 --- a/_includes/js-selector.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - -{% assign urls = site.data.origin[type].jquery.js - | append: ',' - | append: site.data.origin[type].bootstrap.js - | append: ',' - | append: site.data.origin[type].search.js -%} - - - -{% assign js_dist = '/assets/js/dist/' %} - -{% if page.layout == 'post' or page.layout == 'page' or page.layout == 'home' %} - {% assign urls = urls | append: ',' | append: site.data.origin[type]['lazy-polyfill'].js %} - - {% unless page.layout == 'home' %} - - {% assign urls = urls - | append: ',' - | append: site.data.origin[type]['magnific-popup'].js - | append: ',' - | append: site.data.origin[type].clipboard.js - %} - {% endunless %} -{% endif %} - -{% if page.layout == 'home' - or page.layout == 'post' - or page.layout == 'archives' - or page.layout == 'category' - or page.layout == 'tag' -%} - {% assign locale = site.lang | split: '-' | first %} - - {% assign urls = urls - | append: ',' - | append: site.data.origin[type].dayjs.js.common - | append: ',' - | append: site.data.origin[type].dayjs.js.locale - | replace: ':LOCALE', locale - | append: ',' - | append: site.data.origin[type].dayjs.js.relativeTime - | append: ',' - | append: site.data.origin[type].dayjs.js.localizedFormat - %} -{% endif %} - -{% if page.content contains ' - -{% if page.math %} - - - - -{% endif %} - -{% if jekyll.environment == 'production' %} - - {% if site.pwa.enabled %} - - {% endif %} - - - {% if site.google_analytics.id != empty and site.google_analytics.id %} - {% include google-analytics.html %} - {% endif %} - - - {% if site.goatcounter.id != empty and site.goatcounter.id %} - {% include goatcounter.html %} - {% endif %} -{% endif %} diff --git a/_includes/jsdelivr-combine.html b/_includes/jsdelivr-combine.html deleted file mode 100644 index cffa699..0000000 --- a/_includes/jsdelivr-combine.html +++ /dev/null @@ -1,26 +0,0 @@ -{% assign urls = include.urls | split: ',' %} - -{% assign combined_urls = nil %} - -{% assign domain = 'https://cdn.jsdelivr.net/' %} - -{% for url in urls %} - {% if url contains domain %} - {% assign url_snippet = url | slice: domain.size, url.size %} - - {% if combined_urls %} - {% assign combined_urls = combined_urls | append: ',' | append: url_snippet %} - {% else %} - {% assign combined_urls = domain | append: 'combine/' | append: url_snippet %} - {% endif %} - - {% elsif url contains '//' %} - - {% else %} - - {% endif %} -{% endfor %} - -{% if combined_urls %} - -{% endif %} diff --git a/_includes/lang.html b/_includes/lang.html deleted file mode 100644 index 19558a0..0000000 --- a/_includes/lang.html +++ /dev/null @@ -1,8 +0,0 @@ -{% comment %} - Detect appearance language and return it through variable "lang" -{% endcomment %} -{% if site.data.locales[site.lang] %} - {% assign lang = site.lang %} -{% else %} - {% assign lang = 'en' %} -{% endif %} diff --git a/_includes/language-alias.html b/_includes/language-alias.html deleted file mode 100644 index abfa7ba..0000000 --- a/_includes/language-alias.html +++ /dev/null @@ -1,70 +0,0 @@ -{% comment %} - - Convert the alias of the syntax language to the official name - - See: - -{% endcomment %} - -{% assign _lang = include.language | default: '' %} - -{% case _lang %} - {% when 'actionscript', 'as', 'as3' %} - {{ 'ActionScript' }} - {% when 'applescript' %} - {{ 'AppleScript' }} - {% when 'brightscript', 'bs', 'brs' %} - {{ 'BrightScript' }} - {% when 'cfscript', 'cfc' %} - {{ 'CFScript' }} - {% when 'coffeescript', 'coffee', 'coffee-script' %} - {{ 'CoffeeScript' }} - {% when 'cs', 'csharp' %} - {{ 'C#' }} - {% when 'erl' %} - {{ 'Erlang' }} - {% when 'graphql' %} - {{ 'GraphQL' }} - {% when 'haskell', 'hs' %} - {{ 'Haskell' }} - {% when 'javascript', 'js' %} - {{ 'JavaScript' }} - {% when 'make', 'mf', 'gnumake', 'bsdmake' %} - {{ 'Makefile' }} - {% when 'md', 'mkd' %} - {{ 'Markdown' }} - {% when 'm' %} - {{ 'Matlab' }} - {% when 'objective_c', 'objc', 'obj-c', 'obj_c', 'objectivec' %} - {{ 'Objective-C' }} - {% when 'perl', 'pl' %} - {{ 'Perl' }} - {% when 'php','php3','php4','php5' %} - {{ 'PHP' }} - {% when 'py' %} - {{ 'Python' }} - {% when 'rb' %} - {{ 'Ruby' }} - {% when 'rs','no_run','ignore','should_panic' %} - {{ 'Rust' }} - {% when 'bash', 'zsh', 'ksh', 'sh' %} - {{ 'Shell' }} - {% when 'st', 'squeak' %} - {{ 'Smalltalk' }} - {% when 'tex'%} - {{ 'TeX' }} - {% when 'latex' %} - {{ 'LaTex' }} - {% when 'ts', 'typescript' %} - {{ 'TypeScript' }} - {% when 'vb', 'visualbasic' %} - {{ 'Visual Basic' }} - {% when 'vue', 'vuejs' %} - {{ 'Vue.js' }} - {% when 'yml' %} - {{ 'YAML' }} - {% when 'css', 'html', 'scss', 'ssh', 'toml', 'xml', 'yaml', 'json' %} - {{ _lang | upcase }} - {% else %} - {{ _lang | capitalize }} -{% endcase %} diff --git a/_includes/mermaid.html b/_includes/mermaid.html deleted file mode 100644 index 967cfb4..0000000 --- a/_includes/mermaid.html +++ /dev/null @@ -1,58 +0,0 @@ - - diff --git a/_includes/metadata-hook.html b/_includes/metadata-hook.html deleted file mode 100644 index fd7e9bd..0000000 --- a/_includes/metadata-hook.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/_includes/mode-toggle.html b/_includes/mode-toggle.html deleted file mode 100644 index a347750..0000000 --- a/_includes/mode-toggle.html +++ /dev/null @@ -1,143 +0,0 @@ - - - diff --git a/_includes/no-linenos.html b/_includes/no-linenos.html deleted file mode 100644 index 8500693..0000000 --- a/_includes/no-linenos.html +++ /dev/null @@ -1,10 +0,0 @@ -{% comment %} - Remove the line number of the code snippet. -{% endcomment %} - -{% assign content = include.content %} - -{% if content contains '
' %}
-  {% assign content = content | replace: '
', '' %}
-{% endif %}
diff --git a/_includes/notification.html b/_includes/notification.html
deleted file mode 100644
index 80049b0..0000000
--- a/_includes/notification.html
+++ /dev/null
@@ -1,24 +0,0 @@
-
diff --git a/_includes/origin-type.html b/_includes/origin-type.html
deleted file mode 100644
index 7f72012..0000000
--- a/_includes/origin-type.html
+++ /dev/null
@@ -1,13 +0,0 @@
-{% comment %} Site static assets origin type {% endcomment %}
-
-{% assign type = 'cors' %}
-
-{% if site.assets.self_host.enabled %}
-  {% if site.assets.self_host.env %}
-    {% if site.assets.self_host.env == jekyll.environment %}
-      {% assign type = 'basic' %}
-    {% endif %}
-  {% else %}
-    {% assign type = 'basic' %}
-  {% endif %}
-{% endif %}
diff --git a/_includes/post-nav.html b/_includes/post-nav.html
deleted file mode 100644
index 736bec3..0000000
--- a/_includes/post-nav.html
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
diff --git a/_includes/post-paginator.html b/_includes/post-paginator.html
deleted file mode 100644
index c74e978..0000000
--- a/_includes/post-paginator.html
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
diff --git a/_includes/post-sharing.html b/_includes/post-sharing.html
deleted file mode 100644
index d894199..0000000
--- a/_includes/post-sharing.html
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
diff --git a/_includes/read-time.html b/_includes/read-time.html
deleted file mode 100644
index 9952410..0000000
--- a/_includes/read-time.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-{% assign words = include.content | strip_html | number_of_words: 'auto' %}
-
-
-
-{% assign wpm = 180 %}
-{% assign min_time = 1 %}
-
-{% assign read_time = words | divided_by: wpm %}
-
-{% unless read_time > 0 %}
-  {% assign read_time = min_time %}
-{% endunless %}
-
-{% capture read_prompt %}
-  {{- site.data.locales[include.lang].post.read_time.prompt -}}
-{% endcapture %}
-
-
-
-  
-    {{- read_time -}}
-    {{ ' ' }}
-    {{- site.data.locales[include.lang].post.read_time.unit -}}
-  
-  {%- if include.prompt -%}
-    {%- assign _prompt_words = read_prompt | number_of_words: 'auto' -%}
-    {%- unless _prompt_words > 1 -%}{{ ' ' }}{%- endunless -%}
-    {{ read_prompt }}
-  {%- endif -%}
-
diff --git a/_includes/refactor-content.html b/_includes/refactor-content.html
deleted file mode 100644
index e4abcbc..0000000
--- a/_includes/refactor-content.html
+++ /dev/null
@@ -1,255 +0,0 @@
-
-
-{% assign _content = include.content %}
-
-
-
-{% if _content contains '', ''
-    | replace: '
', '' - | replace: '
', '
' - %} -{% endif %} - - - -{% if _content contains '
' %}
-  {% assign _content = _content
-    | replace: '
', '' - %} -{% endif %} - - - -{% if _content contains '', - '' - | replace: '', - '' - %} -{% endif %} - - - -{% assign IMG_TAG = '' | first %} - {% assign _right = _img_snippet | remove: _left %} - - {% unless _left contains 'src=' %} - {% continue %} - {% endunless %} - - {% assign _left = _left | remove: ' /' | replace: ' w=', ' width=' | replace: ' h=', ' height=' %} - {% assign _attrs = _left | split: '" ' %} - - {% assign _src = null %} - {% assign _lqip = null %} - {% assign _class = null %} - - {% for _attr in _attrs %} - {% unless _attr contains '=' %} - {% continue %} - {% endunless %} - - {% assign _pair = _attr | split: '="' %} - {% capture _key %}{{ _pair | first }}{% endcapture %} - {% capture _value %}{{ _pair | last | remove: '"' }}{% endcapture %} - - {% case _key %} - {% when 'src' %} - {% assign _src = _value %} - {% when 'lqip' %} - {% assign _lqip = _value %} - {% when 'class' %} - {% assign _class = _value %} - {% endcase %} - {% endfor %} - - - {% if _class %} - {% capture _old_class %}class="{{ _class }}"{% endcapture %} - {% assign _left = _left | remove: _old_class %} - {% endif %} - - {% assign _final_src = null %} - {% assign _lazyload = true %} - - {%- capture _img_url -%} - {% include img-url.html src=_src img_path=page.img_path %} - {%- endcapture -%} - - {% assign _path_prefix = _img_url | remove: _src %} - - {% unless _src contains '//' %} - {% assign _final_src = _path_prefix | append: _src %} - {% assign _src_alt = 'src="' | append: _path_prefix %} - {% assign _left = _left | replace: 'src="', _src_alt %} - {% endunless %} - - {% if _lqip %} - {% assign _lazyload = false %} - {% assign _class = _class | append: ' blur' %} - - {% unless _lqip contains 'data:' %} - {% assign _lqip_alt = 'lqip="' | append: _path_prefix %} - {% assign _left = _left | replace: 'lqip="', _lqip_alt %} - {% endunless %} - - - {% assign _left = _left | replace: 'src=', 'data-src=' | replace: ' lqip=', ' data-lqip="true" src=' %} - - {% else %} - {% assign _class = _class | append: ' shimmer' %} - {% endif %} - - - {% if _lazyload %} - {% assign _left = _left | append: ' loading="lazy"' %} - {% endif %} - - {% if page.layout == 'home' %} - - {% assign _wrapper_start = '
' %} - - {% assign _img_content = _img_content | append: _wrapper_start %} - {% assign _right = _right | prepend: '>` is wrapped by `` --> - {% assign _parent = _right | slice: 1, 4 %} - - {% if _parent == '' %} - - {% assign _size = _img_content | size | minus: 1 %} - {% capture _class %} - class="img-link{% unless _lqip %} shimmer{% endunless %}" - {% endcapture %} - {% assign _img_content = _img_content | slice: 0, _size | append: _class | append: '>' %} - - {% else %} - - {% assign _wrapper_start = _final_src - | default: _src - | prepend: '' - %} - - {% assign _img_content = _img_content | append: _wrapper_start %} - {% assign _right = '> - {% assign _img_content = _img_content | append: IMG_TAG | append: _left | append: _right %} - {% endfor %} - - {% if _img_content %} - {% assign _content = _img_content %} - {% endif %} -{% endif %} - - - -{% if _content contains '
' %} - {% assign _code_spippets = _content | split: '
' %} - {% assign _new_content = '' %} - - {% for _snippet in _code_spippets %} - {% if forloop.last %} - {% assign _new_content = _new_content | append: _snippet %} - - {% else %} - {% assign _left = _snippet | split: '><' | last %} - - {% if _left contains 'file="' %} - {% assign _label_text = _left | split: 'file="' | last | split: '"' | first %} - {% assign _label_icon = 'far fa-file-code fa-fw' %} - {% else %} - {% assign _lang = _left | split: 'language-' | last | split: ' ' | first %} - {% capture _label_text %}{% include language-alias.html language=_lang %}{% endcapture %} - {% assign _label_icon = 'fas fa-code fa-fw small' %} - {% endif %} - - {% capture _label %} - - {% endcapture %} - - {% assign _new_content = _new_content - | append: _snippet - | append: '
' - | append: _label - | append: '
' - | append: '
' - %} - {% endif %} - {% endfor %} - - {% assign _content = _new_content %} -{% endif %} - - - -{% assign heading_levels = '2,3,4,5' | split: ',' %} -{% assign _heading_content = _content %} - -{% for level in heading_levels %} - {% assign mark_start = '' - %} - - {% assign left = snippet | split: mark_end | first %} - {% assign right = snippet | slice: left.size, snippet.size %} - {% assign left = left | replace_first: '">', '">' | append: '' %} - - {% assign _new_content = _new_content | append: mark_start | append: left | append: anchor | append: right %} - {% endfor %} - - {% assign _heading_content = _new_content %} - {% endif %} -{% endfor %} - -{% assign _content = _heading_content %} - - -{{ _content }} diff --git a/_includes/related-posts.html b/_includes/related-posts.html deleted file mode 100644 index 1ba2f32..0000000 --- a/_includes/related-posts.html +++ /dev/null @@ -1,96 +0,0 @@ - - - -{% assign TOTAL_SIZE = 3 %} - - -{% assign TAG_SCORE = 1 %} - - -{% assign CATEGORY_SCORE = 0.5 %} - -{% assign SEPARATOR = ':' %} - -{% assign match_posts = '' | split: '' %} - -{% for category in page.categories %} - {% assign match_posts = match_posts | push: site.categories[category] | uniq %} -{% endfor %} - -{% for tag in page.tags %} - {% assign match_posts = match_posts | push: site.tags[tag] | uniq %} -{% endfor %} - -{% assign last_index = match_posts.size | minus: 1 %} -{% assign score_list = '' | split: '' %} - -{% for i in (0..last_index) %} - {% assign post = match_posts[i] %} - - {% if post.url == page.url %} - {% continue %} - {% endif %} - - {% assign score = 0 %} - - {% for tag in post.tags %} - {% if page.tags contains tag %} - {% assign score = score | plus: TAG_SCORE %} - {% endif %} - {% endfor %} - - {% for category in post.categories %} - {% if page.categories contains category %} - {% assign score = score | plus: CATEGORY_SCORE %} - {% endif %} - {% endfor %} - - {% if score > 0 %} - {% capture score_item %}{{ score }}{{ SEPARATOR }}{{ i }}{% endcapture %} - {% assign score_list = score_list | push: score_item %} - {% endif %} -{% endfor %} - -{% assign index_list = '' | split: '' %} - -{% if score_list.size > 0 %} - {% assign score_list = score_list | sort | reverse %} - {% for entry in score_list limit: TOTAL_SIZE %} - {% assign index = entry | split: SEPARATOR | last %} - {% assign index_list = index_list | push: index %} - {% endfor %} -{% endif %} - -{% assign relate_posts = '' | split: '' %} - -{% for index in index_list %} - {% assign i = index | to_integer %} - {% assign relate_posts = relate_posts | push: match_posts[i] %} -{% endfor %} - -{% if relate_posts.size > 0 %} - - -{% endif %} diff --git a/_includes/search-loader.html b/_includes/search-loader.html deleted file mode 100644 index be3ca8a..0000000 --- a/_includes/search-loader.html +++ /dev/null @@ -1,47 +0,0 @@ - - -{% capture result_elem %} -
-
-

{title}

- -
-

{snippet}

-
-{% endcapture %} - -{% capture not_found %}

{{ site.data.locales[include.lang].search.no_results }}

{% endcapture %} - - diff --git a/_includes/search-results.html b/_includes/search-results.html deleted file mode 100644 index c224c5f..0000000 --- a/_includes/search-results.html +++ /dev/null @@ -1,10 +0,0 @@ - - -
-
-
- {% include_cached trending-tags.html %} -
-
-
-
diff --git a/_includes/sidebar.html b/_includes/sidebar.html deleted file mode 100644 index 2a09794..0000000 --- a/_includes/sidebar.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - diff --git a/_includes/toc.html b/_includes/toc.html deleted file mode 100644 index 604d2c1..0000000 --- a/_includes/toc.html +++ /dev/null @@ -1,13 +0,0 @@ -{% assign enable_toc = false %} -{% if site.toc and page.toc %} - {% if page.content contains ' -

{{- site.data.locales[include.lang].panel.toc -}}

- - -{% endif %} diff --git a/_includes/topbar.html b/_includes/topbar.html deleted file mode 100644 index d85101a..0000000 --- a/_includes/topbar.html +++ /dev/null @@ -1,77 +0,0 @@ - - -
-
- - - - - -
- {% if page.layout == 'home' %} - {{- site.data.locales[include.lang].title | default: site.title -}} - {% elsif page.collection == 'tabs' or page.layout == 'page' %} - {%- capture tab_key -%}{{ page.url | split: '/' }}{%- endcapture -%} - {{- site.data.locales[include.lang].tabs[tab_key] | default: page.title -}} - {% else %} - {{- site.data.locales[include.lang].layout[page.layout] | default: page.layout | capitalize -}} - {% endif %} -
- - - - - - - - -
-
diff --git a/_includes/trending-tags.html b/_includes/trending-tags.html deleted file mode 100644 index 57369f0..0000000 --- a/_includes/trending-tags.html +++ /dev/null @@ -1,46 +0,0 @@ - - -{% assign MAX = 10 %} - -{% assign size_list = '' | split: '' %} -{% assign tag_list = '' | split: '' %} - -{% for tag in site.tags %} - {% assign size = tag | last | size %} - {% assign size_list = size_list | push: size %} - - {% assign tag_str = tag | first | append: '::' | append: size %} - {% assign tag_list = tag_list | push: tag_str %} -{% endfor %} - -{% assign size_list = size_list | sort | reverse %} - -{% assign tag_list = tag_list | sort_natural %} - -{% assign trending_tags = '' | split: '' %} - -{% for size in size_list limit: MAX %} - {% for tag_str in tag_list %} - {% assign tag = tag_str | split: '::' %} - {% assign tag_name = tag | first %} - {% assign tag_size = tag | last | plus: 0 %} - {% if tag_size == size %} - {% unless trending_tags contains tag_name %} - {% assign trending_tags = trending_tags | push: tag_name %} - {% break %} - {% endunless %} - {% endif %} - {% endfor %} -{% endfor %} - -{% if trending_tags.size > 0 %} -
-

{{- site.data.locales[include.lang].panel.trending_tags -}}

-
- {% for tag_name in trending_tags %} - {% assign url = tag_name | slugify | url_encode | prepend: '/tags/' | append: '/' %} - - {% endfor %} -
-
-{% endif %} diff --git a/_includes/update-list.html b/_includes/update-list.html deleted file mode 100644 index 93684c3..0000000 --- a/_includes/update-list.html +++ /dev/null @@ -1,40 +0,0 @@ - - -{% assign MAX_SIZE = 5 %} - -{% assign all_list = '' | split: '' %} - -{% for post in site.posts %} - {% assign datetime = post.last_modified_at | default: post.date %} - - {% capture elem %} - {{- datetime | date: "%Y%m%d%H%M%S" -}}::{{- forloop.index0 -}} - {% endcapture %} - - {% assign all_list = all_list | push: elem %} -{% endfor %} - -{% assign all_list = all_list | sort | reverse %} - -{% assign update_list = '' | split: '' %} - -{% for entry in all_list limit: MAX_SIZE %} - {% assign update_list = update_list | push: entry %} -{% endfor %} - -{% if update_list.size > 0 %} -
-

{{- site.data.locales[include.lang].panel.lastmod -}}

-
    - {% for item in update_list %} - {% assign index = item | split: '::' | last | plus: 0 %} - {% assign post = site.posts[index] %} - {% assign url = post.url | relative_url %} -
  • - {{ post.title }} -
  • - {% endfor %} -
-
- -{% endif %} diff --git a/_javascript/_copyright b/_javascript/_copyright deleted file mode 100644 index 60a706b..0000000 --- a/_javascript/_copyright +++ /dev/null @@ -1 +0,0 @@ -Chirpy v<%= pkg.version %> | © 2019 <%= pkg.author %> | <%= pkg.license %> Licensed | <%= pkg.homepage %> diff --git a/_javascript/categories.js b/_javascript/categories.js deleted file mode 100644 index 15d8251..0000000 --- a/_javascript/categories.js +++ /dev/null @@ -1,7 +0,0 @@ -import { basic, initSidebar, initTopbar } from './modules/layouts'; -import { categoryCollapse } from './modules/plugins'; - -basic(); -initSidebar(); -initTopbar(); -categoryCollapse(); diff --git a/_javascript/commons.js b/_javascript/commons.js deleted file mode 100644 index 05a9765..0000000 --- a/_javascript/commons.js +++ /dev/null @@ -1,5 +0,0 @@ -import { basic, initSidebar, initTopbar } from './modules/layouts'; - -basic(); -initSidebar(); -initTopbar(); diff --git a/_javascript/home.js b/_javascript/home.js deleted file mode 100644 index 02948c9..0000000 --- a/_javascript/home.js +++ /dev/null @@ -1,8 +0,0 @@ -import { basic, initSidebar, initTopbar } from './modules/layouts'; -import { initLocaleDatetime, loadImg } from './modules/plugins'; - -basic(); -initSidebar(); -initTopbar(); -initLocaleDatetime(); -loadImg(); diff --git a/_javascript/misc.js b/_javascript/misc.js deleted file mode 100644 index c7a19d6..0000000 --- a/_javascript/misc.js +++ /dev/null @@ -1,7 +0,0 @@ -import { basic, initSidebar, initTopbar } from './modules/layouts'; -import { initLocaleDatetime } from './modules/plugins'; - -basic(); -initSidebar(); -initTopbar(); -initLocaleDatetime(); diff --git a/_javascript/modules/components/back-to-top.js b/_javascript/modules/components/back-to-top.js deleted file mode 100644 index 777a659..0000000 --- a/_javascript/modules/components/back-to-top.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Reference: https://bootsnipp.com/snippets/featured/link-to-top-page - */ - -export function back2top() { - const $window = $(window); - const $btn = $('#back-to-top'); - - $window.on('scroll', () => { - if ($window.scrollTop() > 50) { - $btn.fadeIn(); - } else { - $btn.fadeOut(); - } - }); - - $btn.on('click', () => { - $window.scrollTop(0); - }); -} diff --git a/_javascript/modules/components/category-collapse.js b/_javascript/modules/components/category-collapse.js deleted file mode 100644 index d6027a1..0000000 --- a/_javascript/modules/components/category-collapse.js +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Tab 'Categories' expand/close effect. - */ -const childPrefix = 'l_'; -const parentPrefix = 'h_'; -const collapse = $('.collapse'); - -export function categoryCollapse() { - /* close up top-category */ - collapse.on('hide.bs.collapse', function () { - /* Bootstrap collapse events. */ const parentId = - parentPrefix + $(this).attr('id').substring(childPrefix.length); - if (parentId) { - $(`#${parentId} .far.fa-folder-open`).attr( - 'class', - 'far fa-folder fa-fw' - ); - $(`#${parentId} i.fas`).addClass('rotate'); - $(`#${parentId}`).removeClass('hide-border-bottom'); - } - }); - - /* expand the top category */ - collapse.on('show.bs.collapse', function () { - const parentId = - parentPrefix + $(this).attr('id').substring(childPrefix.length); - if (parentId) { - $(`#${parentId} .far.fa-folder`).attr( - 'class', - 'far fa-folder-open fa-fw' - ); - $(`#${parentId} i.fas`).removeClass('rotate'); - $(`#${parentId}`).addClass('hide-border-bottom'); - } - }); -} diff --git a/_javascript/modules/components/clipboard.js b/_javascript/modules/components/clipboard.js deleted file mode 100644 index 68f6afd..0000000 --- a/_javascript/modules/components/clipboard.js +++ /dev/null @@ -1,130 +0,0 @@ -/** - * Clipboard functions - * - * Dependencies: - * - popper.js (https://github.com/popperjs/popper-core) - * - clipboard.js (https://github.com/zenorocha/clipboard.js) - */ - -const clipboardSelector = '.code-header>button'; -const ICON_SUCCESS = 'fas fa-check'; -const ATTR_TIMEOUT = 'timeout'; -const ATTR_TITLE_SUCCEED = 'data-title-succeed'; -const ATTR_TITLE_ORIGIN = 'data-bs-original-title'; -const TIMEOUT = 2000; // in milliseconds - -function isLocked(node) { - if ($(node)[0].hasAttribute(ATTR_TIMEOUT)) { - let timeout = $(node).attr(ATTR_TIMEOUT); - if (Number(timeout) > Date.now()) { - return true; - } - } - return false; -} - -function lock(node) { - $(node).attr(ATTR_TIMEOUT, Date.now() + TIMEOUT); -} - -function unlock(node) { - $(node).removeAttr(ATTR_TIMEOUT); -} - -function getIcon(btn) { - let iconNode = $(btn).children(); - return iconNode.attr('class'); -} - -const ICON_DEFAULT = getIcon(clipboardSelector); - -function showTooltip(btn) { - const succeedTitle = $(btn).attr(ATTR_TITLE_SUCCEED); - $(btn).attr(ATTR_TITLE_ORIGIN, succeedTitle).tooltip('show'); -} - -function hideTooltip(btn) { - $(btn).tooltip('hide').removeAttr(ATTR_TITLE_ORIGIN); -} - -function setSuccessIcon(btn) { - let btnNode = $(btn); - let iconNode = btnNode.children(); - iconNode.attr('class', ICON_SUCCESS); -} - -function resumeIcon(btn) { - let btnNode = $(btn); - let iconNode = btnNode.children(); - iconNode.attr('class', ICON_DEFAULT); -} - -export function initClipboard() { - // Initial the clipboard.js object - if ($(clipboardSelector).length) { - const clipboard = new ClipboardJS(clipboardSelector, { - target(trigger) { - let codeBlock = trigger.parentNode.nextElementSibling; - return codeBlock.querySelector('code .rouge-code'); - } - }); - - const clipboardList = document.querySelectorAll(clipboardSelector); - [...clipboardList].map( - (elem) => - new bootstrap.Tooltip(elem, { - placement: 'left' - }) - ); - - clipboard.on('success', (e) => { - e.clearSelection(); - - const trigger = e.trigger; - if (isLocked(trigger)) { - return; - } - - setSuccessIcon(trigger); - showTooltip(trigger); - lock(trigger); - - setTimeout(() => { - hideTooltip(trigger); - resumeIcon(trigger); - unlock(trigger); - }, TIMEOUT); - }); - } - - /* --- Post link sharing --- */ - - const btnCopyLink = $('#copy-link'); - - btnCopyLink.on('click', (e) => { - let target = $(e.target); - - if (isLocked(target)) { - return; - } - - // Copy URL to clipboard - navigator.clipboard.writeText(window.location.href).then(() => { - const defaultTitle = target.attr(ATTR_TITLE_ORIGIN); - const succeedTitle = target.attr(ATTR_TITLE_SUCCEED); - // Switch tooltip title - target.attr(ATTR_TITLE_ORIGIN, succeedTitle).tooltip('show'); - lock(target); - - setTimeout(() => { - target.attr(ATTR_TITLE_ORIGIN, defaultTitle); - unlock(target); - }, TIMEOUT); - }); - }); - - btnCopyLink.on('mouseleave', function (e) { - const target = $(e.target); - target.tooltip('hide'); - }); -} diff --git a/_javascript/modules/components/img-loading.js b/_javascript/modules/components/img-loading.js deleted file mode 100644 index c9b7b7f..0000000 --- a/_javascript/modules/components/img-loading.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Setting up image lazy loading and LQIP switching - */ - -const ATTR_DATA_SRC = 'data-src'; -const ATTR_DATA_LQIP = 'data-lqip'; - -const cover = { - SHIMMER: 'shimmer', - BLUR: 'blur' -}; - -function removeCover(clzss) { - $(this).parent().removeClass(clzss); -} - -function handleImage() { - if (!this.complete) { - return; - } - - if (this.hasAttribute(ATTR_DATA_LQIP)) { - removeCover.call(this, cover.BLUR); - } else { - removeCover.call(this, cover.SHIMMER); - } -} - -/** - * Switches the LQIP with the real image URL. - */ -function switchLQIP() { - const $img = $(this); - const src = $img.attr(ATTR_DATA_SRC); - - $img.attr('src', encodeURI(src)); - $img.removeAttr(ATTR_DATA_SRC); -} - -export function loadImg() { - const $images = $('article img'); - - if ($images.length) { - $images.on('load', handleImage); - } - - // Images loaded from the browser cache do not trigger the 'load' event - $('article img[loading="lazy"]').each(function () { - if (this.complete) { - removeCover.call(this, cover.SHIMMER); - } - }); - - // LQIPs set by the data URI or WebP will not trigger the 'load' event, - // so manually convert the URI to the URL of a high-resolution image. - const $lqips = $(`article img[${ATTR_DATA_LQIP}="true"]`); - - if ($lqips.length) { - $lqips.each(switchLQIP); - } -} diff --git a/_javascript/modules/components/img-popup.js b/_javascript/modules/components/img-popup.js deleted file mode 100644 index 7f78d99..0000000 --- a/_javascript/modules/components/img-popup.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Set up image popup - * - * See: https://github.com/dimsemenov/Magnific-Popup - */ - -export function imgPopup() { - if ($('.popup') <= 0) { - return; - } - - $('.popup').magnificPopup({ - type: 'image', - closeOnContentClick: true, - showCloseBtn: false, - zoom: { - enabled: true, - duration: 300, - easing: 'ease-in-out' - } - }); -} diff --git a/_javascript/modules/components/locale-datetime.js b/_javascript/modules/components/locale-datetime.js deleted file mode 100644 index 214f2bf..0000000 --- a/_javascript/modules/components/locale-datetime.js +++ /dev/null @@ -1,51 +0,0 @@ -/** - * Update month/day to locale datetime - * - * Requirement: - */ - -/* A tool for locale datetime */ -class LocaleHelper { - static get attrTimestamp() { - return 'data-ts'; - } - - static get attrDateFormat() { - return 'data-df'; - } - - static get locale() { - return $('html').attr('lang').substring(0, 2); - } - - static getTimestamp(elem) { - return Number(elem.attr(LocaleHelper.attrTimestamp)); // unix timestamp - } - - static getDateFormat(elem) { - return elem.attr(LocaleHelper.attrDateFormat); - } -} - -export function initLocaleDatetime() { - dayjs.locale(LocaleHelper.locale); - dayjs.extend(window.dayjs_plugin_localizedFormat); - - $(`[${LocaleHelper.attrTimestamp}]`).each(function () { - const date = dayjs.unix(LocaleHelper.getTimestamp($(this))); - const text = date.format(LocaleHelper.getDateFormat($(this))); - $(this).text(text); - $(this).removeAttr(LocaleHelper.attrTimestamp); - $(this).removeAttr(LocaleHelper.attrDateFormat); - - // setup tooltips - const tooltip = $(this).attr('data-bs-toggle'); - if (typeof tooltip === 'undefined' || tooltip !== 'tooltip') { - return; - } - - const tooltipText = date.format('llll'); // see: https://day.js.org/docs/en/display/format#list-of-localized-formats - $(this).attr('data-bs-title', tooltipText); - new bootstrap.Tooltip($(this)); - }); -} diff --git a/_javascript/modules/components/mode-watcher.js b/_javascript/modules/components/mode-watcher.js deleted file mode 100644 index 7b2298a..0000000 --- a/_javascript/modules/components/mode-watcher.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Add listener for theme mode toggle - */ -const $toggleElem = $('.mode-toggle'); - -export function modeWatcher() { - if ($toggleElem.length === 0) { - return; - } - - $toggleElem.off().on('click', (e) => { - const $target = $(e.target); - let $btn = - $target.prop('tagName') === 'button'.toUpperCase() - ? $target - : $target.parent(); - - modeToggle.flipMode(); // modeToggle: `_includes/mode-toggle.html` - $btn.trigger('blur'); // remove the clicking outline - }); -} diff --git a/_javascript/modules/components/search-display.js b/_javascript/modules/components/search-display.js deleted file mode 100644 index ad009c2..0000000 --- a/_javascript/modules/components/search-display.js +++ /dev/null @@ -1,122 +0,0 @@ -/** - * This script make #search-result-wrapper switch to unloaded or shown automatically. - */ -const $btnSbTrigger = $('#sidebar-trigger'); -const $btnSearchTrigger = $('#search-trigger'); -const $btnCancel = $('#search-cancel'); -const $content = $('#main-wrapper>.container>.row'); -const $topbarTitle = $('#topbar-title'); -const $search = $('search'); -const $resultWrapper = $('#search-result-wrapper'); -const $results = $('#search-results'); -const $input = $('#search-input'); -const $hints = $('#search-hints'); -const $viewport = $('html,body'); - -// class names -const C_LOADED = 'loaded'; -const C_UNLOADED = 'unloaded'; -const C_FOCUS = 'input-focus'; -const C_FLEX = 'd-flex'; - -class ScrollBlocker { - static offset = 0; - static resultVisible = false; - - static on() { - ScrollBlocker.offset = window.scrollY; - $viewport.scrollTop(0); - } - - static off() { - $viewport.scrollTop(ScrollBlocker.offset); - } -} - -/*--- Actions in mobile screens (Sidebar hidden) ---*/ -class MobileSearchBar { - static on() { - $btnSbTrigger.addClass(C_UNLOADED); - $topbarTitle.addClass(C_UNLOADED); - $btnSearchTrigger.addClass(C_UNLOADED); - $search.addClass(C_FLEX); - $btnCancel.addClass(C_LOADED); - } - - static off() { - $btnCancel.removeClass(C_LOADED); - $search.removeClass(C_FLEX); - $btnSbTrigger.removeClass(C_UNLOADED); - $topbarTitle.removeClass(C_UNLOADED); - $btnSearchTrigger.removeClass(C_UNLOADED); - } -} - -class ResultSwitch { - static on() { - if (!ScrollBlocker.resultVisible) { - // the block method must be called before $(#main-wrapper>.container) unloaded. - ScrollBlocker.on(); - $resultWrapper.removeClass(C_UNLOADED); - $content.addClass(C_UNLOADED); - ScrollBlocker.resultVisible = true; - } - } - - static off() { - if (ScrollBlocker.resultVisible) { - $results.empty(); - if ($hints.hasClass(C_UNLOADED)) { - $hints.removeClass(C_UNLOADED); - } - $resultWrapper.addClass(C_UNLOADED); - $content.removeClass(C_UNLOADED); - - // now the release method must be called after $(#main-wrapper>.container) display - ScrollBlocker.off(); - - $input.val(''); - ScrollBlocker.resultVisible = false; - } - } -} - -function isMobileView() { - return $btnCancel.hasClass(C_LOADED); -} - -export function displaySearch() { - $btnSearchTrigger.on('click', function () { - MobileSearchBar.on(); - ResultSwitch.on(); - $input.trigger('focus'); - }); - - $btnCancel.on('click', function () { - MobileSearchBar.off(); - ResultSwitch.off(); - }); - - $input.on('focus', function () { - $search.addClass(C_FOCUS); - }); - - $input.on('focusout', function () { - $search.removeClass(C_FOCUS); - }); - - $input.on('input', () => { - if ($input.val() === '') { - if (isMobileView()) { - $hints.removeClass(C_UNLOADED); - } else { - ResultSwitch.off(); - } - } else { - ResultSwitch.on(); - if (isMobileView()) { - $hints.addClass(C_UNLOADED); - } - } - }); -} diff --git a/_javascript/modules/components/sidebar.js b/_javascript/modules/components/sidebar.js deleted file mode 100644 index 9d8567e..0000000 --- a/_javascript/modules/components/sidebar.js +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Expand or close the sidebar in mobile screens. - */ - -const $body = $('body'); -const ATTR_DISPLAY = 'sidebar-display'; - -class SidebarUtil { - static isExpanded = false; - - static toggle() { - if (SidebarUtil.isExpanded === false) { - $body.attr(ATTR_DISPLAY, ''); - } else { - $body.removeAttr(ATTR_DISPLAY); - } - - SidebarUtil.isExpanded = !SidebarUtil.isExpanded; - } -} - -export function sidebarExpand() { - $('#sidebar-trigger').on('click', SidebarUtil.toggle); - $('#mask').on('click', SidebarUtil.toggle); -} diff --git a/_javascript/modules/components/toc.js b/_javascript/modules/components/toc.js deleted file mode 100644 index b397813..0000000 --- a/_javascript/modules/components/toc.js +++ /dev/null @@ -1,13 +0,0 @@ -export function toc() { - if (document.querySelector('main h2, main h3')) { - // see: https://github.com/tscanlin/tocbot#usage - tocbot.init({ - tocSelector: '#toc', - contentSelector: '.content', - ignoreSelector: '[data-toc-skip]', - headingSelector: 'h2, h3, h4', - orderedList: false, - scrollSmooth: false - }); - } -} diff --git a/_javascript/modules/components/tooltip-loader.js b/_javascript/modules/components/tooltip-loader.js deleted file mode 100644 index a906600..0000000 --- a/_javascript/modules/components/tooltip-loader.js +++ /dev/null @@ -1,12 +0,0 @@ -/** - * Initial Bootstrap Tooltip. - */ -export function loadTooptip() { - const tooltipTriggerList = document.querySelectorAll( - '[data-bs-toggle="tooltip"]' - ); - - [...tooltipTriggerList].map( - (tooltipTriggerEl) => new bootstrap.Tooltip(tooltipTriggerEl) - ); -} diff --git a/_javascript/modules/layouts.js b/_javascript/modules/layouts.js deleted file mode 100644 index 28f7962..0000000 --- a/_javascript/modules/layouts.js +++ /dev/null @@ -1,3 +0,0 @@ -export { basic } from './layouts/basic'; -export { initSidebar } from './layouts/sidebar'; -export { initTopbar } from './layouts/topbar'; diff --git a/_javascript/modules/layouts/basic.js b/_javascript/modules/layouts/basic.js deleted file mode 100644 index fb36a8b..0000000 --- a/_javascript/modules/layouts/basic.js +++ /dev/null @@ -1,7 +0,0 @@ -import { back2top } from '../components/back-to-top'; -import { loadTooptip } from '../components/tooltip-loader'; - -export function basic() { - back2top(); - loadTooptip(); -} diff --git a/_javascript/modules/layouts/sidebar.js b/_javascript/modules/layouts/sidebar.js deleted file mode 100644 index 8795693..0000000 --- a/_javascript/modules/layouts/sidebar.js +++ /dev/null @@ -1,7 +0,0 @@ -import { modeWatcher } from '../components/mode-watcher'; -import { sidebarExpand } from '../components/sidebar'; - -export function initSidebar() { - modeWatcher(); - sidebarExpand(); -} diff --git a/_javascript/modules/layouts/topbar.js b/_javascript/modules/layouts/topbar.js deleted file mode 100644 index cfcd0ed..0000000 --- a/_javascript/modules/layouts/topbar.js +++ /dev/null @@ -1,5 +0,0 @@ -import { displaySearch } from '../components/search-display'; - -export function initTopbar() { - displaySearch(); -} diff --git a/_javascript/modules/plugins.js b/_javascript/modules/plugins.js deleted file mode 100644 index fb892e2..0000000 --- a/_javascript/modules/plugins.js +++ /dev/null @@ -1,6 +0,0 @@ -export { categoryCollapse } from './components/category-collapse'; -export { initClipboard } from './components/clipboard'; -export { loadImg } from './components/img-loading'; -export { imgPopup } from './components/img-popup'; -export { initLocaleDatetime } from './components/locale-datetime'; -export { toc } from './components/toc'; diff --git a/_javascript/page.js b/_javascript/page.js deleted file mode 100644 index f13bd2f..0000000 --- a/_javascript/page.js +++ /dev/null @@ -1,9 +0,0 @@ -import { basic, initSidebar, initTopbar } from './modules/layouts'; -import { loadImg, imgPopup, initClipboard } from './modules/plugins'; - -basic(); -initSidebar(); -initTopbar(); -loadImg(); -imgPopup(); -initClipboard(); diff --git a/_javascript/post.js b/_javascript/post.js deleted file mode 100644 index 86ea32b..0000000 --- a/_javascript/post.js +++ /dev/null @@ -1,17 +0,0 @@ -import { basic, initSidebar, initTopbar } from './modules/layouts'; -import { - loadImg, - imgPopup, - initLocaleDatetime, - initClipboard, - toc -} from './modules/plugins'; - -initSidebar(); -initTopbar(); -loadImg(); -imgPopup(); -initLocaleDatetime(); -initClipboard(); -toc(); -basic(); diff --git a/_layouts/archives.html b/_layouts/archives.html deleted file mode 100644 index 4f7ad7d..0000000 --- a/_layouts/archives.html +++ /dev/null @@ -1,35 +0,0 @@ ---- -layout: page -# The Archives of posts. ---- - -{% include lang.html %} - -{% assign df_strftime_m = site.data.locales[lang].df.archives.strftime | default: '/ %m' %} -{% assign df_dayjs_m = site.data.locales[lang].df.archives.dayjs | default: '/ MM' %} - -
- {% for post in site.posts %} - {% assign cur_year = post.date | date: '%Y' %} - - {% if cur_year != last_year %} - {% unless forloop.first %}{% endunless %} - - - {{ '
    ' }} - - {% assign last_year = cur_year %} - {% endif %} - -
  • - {% assign ts = post.date | date: '%s' %} - {{ post.date | date: '%d' }} - - {{ post.date | date: df_strftime_m }} - - {{ post.title }} -
  • - - {% if forloop.last %}
{% endif %} - {% endfor %} -
diff --git a/_layouts/categories.html b/_layouts/categories.html deleted file mode 100644 index 0515097..0000000 --- a/_layouts/categories.html +++ /dev/null @@ -1,138 +0,0 @@ ---- -layout: page -# All the Categories of posts ---- - -{% include lang.html %} - -{% assign HEAD_PREFIX = 'h_' %} -{% assign LIST_PREFIX = 'l_' %} - -{% assign group_index = 0 %} - -{% assign sort_categories = site.categories | sort %} - -{% for category in sort_categories %} - {% assign category_name = category | first %} - {% assign posts_of_category = category | last %} - {% assign first_post = posts_of_category | first %} - - {% if category_name == first_post.categories[0] %} - {% assign sub_categories = '' | split: '' %} - - {% for post in posts_of_category %} - {% assign second_category = post.categories[1] %} - {% if second_category %} - {% unless sub_categories contains second_category %} - {% assign sub_categories = sub_categories | push: second_category %} - {% endunless %} - {% endif %} - {% endfor %} - - {% assign sub_categories = sub_categories | sort %} - {% assign sub_categories_size = sub_categories | size %} - -
- -
- - - - {% capture _category_url %}/categories/{{ category_name | slugify | url_encode }}/{% endcapture %} - {{ category_name }} - - - {% assign top_posts_size = site.categories[category_name] | size %} - - {% if sub_categories_size > 0 %} - {{ sub_categories_size }} - {% if sub_categories_size > 1 %} - {{ - site.data.locales[lang].categories.category_measure.plural - | default: site.data.locales[lang].categories.category_measure - }} - {% else %} - {{ - site.data.locales[lang].categories.category_measure.singular - | default: site.data.locales[lang].categories.category_measure - }} - {% endif -%} - , - {% endif %} - - {{ top_posts_size }} - - {% if top_posts_size > 1 %} - {{ - site.data.locales[lang].categories.post_measure.plural - | default: site.data.locales[lang].categories.post_measure - }} - {% else %} - {{ - site.data.locales[lang].categories.post_measure.singular - | default: site.data.locales[lang].categories.post_measure - }} - {% endif %} - - - - - {% if sub_categories_size > 0 %} - - - - {% else %} - - - - {% endif %} -
- - - - {% if sub_categories_size > 0 %} -
-
    - {% for sub_category in sub_categories %} -
  • - - - {% capture _sub_ctg_url %}/categories/{{ sub_category | slugify | url_encode }}/{% endcapture %} - {{ sub_category }} - - {% assign posts_size = site.categories[sub_category] | size %} - - {{ posts_size }} - - {% if posts_size > 1 %} - {{ - site.data.locales[lang].categories.post_measure.plural - | default: site.data.locales[lang].categories.post_measure - }} - {% else %} - {{ - site.data.locales[lang].categories.post_measure.singular - | default: site.data.locales[lang].categories.post_measure - }} - {% endif %} - -
  • - {% endfor %} -
-
- {% endif %} -
- - - {% assign group_index = group_index | plus: 1 %} - {% endif %} -{% endfor %} diff --git a/_layouts/category.html b/_layouts/category.html deleted file mode 100644 index b064f27..0000000 --- a/_layouts/category.html +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: page -# The Category layout ---- - -{% include lang.html %} - -
-

- - {{ page.title }} - {{ page.posts | size }} -

- -
    - {% for post in page.posts %} -
  • - {{ post.title }} - - {% include datetime.html date=post.date class='text-muted small text-nowrap' lang=lang %} -
  • - {% endfor %} -
-
diff --git a/_layouts/compress.html b/_layouts/compress.html deleted file mode 100644 index bb34487..0000000 --- a/_layouts/compress.html +++ /dev/null @@ -1,10 +0,0 @@ ---- -# Jekyll layout that compresses HTML -# v3.1.0 -# http://jch.penibelst.de/ -# © 2014–2015 Anatol Broder -# MIT License ---- - -{% capture _LINE_FEED %} -{% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment or site.compress_html.ignore.envs == "all" %}{{ content }}{% else %}{% capture _content %}{{ content }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "
" %}{% endif %}{% unless _pre_before contains "
" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " ;; ;" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %}
Step Bytes
raw {{ content | size }}{% if _profile_endings %}
endings {{ _profile_endings }}{% endif %}{% if _profile_startings %}
startings {{ _profile_startings }}{% endif %}{% if _profile_comments %}
comments {{ _profile_comments }}{% endif %}{% if _profile_collapse %}
collapse {{ _profile_collapse }}{% endif %}{% if _profile_clippings %}
clippings {{ _profile_clippings }}{% endif %}
{% endif %}{% endif %} diff --git a/_layouts/default.html b/_layouts/default.html deleted file mode 100644 index f938a94..0000000 --- a/_layouts/default.html +++ /dev/null @@ -1,87 +0,0 @@ ---- -layout: compress ---- - - - -{% include origin-type.html %} - -{% include lang.html %} - -{% if site.theme_mode %} - {% capture prefer_mode %}data-mode="{{ site.theme_mode }}"{% endcapture %} -{% endif %} - - - - {% include head.html %} - - - {% include sidebar.html lang=lang %} - -
-
- {% include topbar.html lang=lang %} - -
-
- {% if layout.refactor or layout.layout == 'default' %} - {% include refactor-content.html content=content lang=lang %} - {% else %} - {{ content }} - {% endif %} -
- - - -
- -
- -
- {% for _include in layout.tail_includes %} - {% assign _include_path = _include | append: '.html' %} - {% include {{ _include_path }} lang=lang %} - {% endfor %} - - {% include_cached footer.html lang=lang %} -
-
- - {% include_cached search-results.html lang=lang %} -
- - -
- -
- - {% if site.pwa.enabled %} - {% include_cached notification.html lang=lang %} - {% endif %} - - - - {% include js-selector.html %} - - {% if page.mermaid %} - {% include mermaid.html %} - {% endif %} - - {% include_cached search-loader.html %} - - diff --git a/_layouts/home.html b/_layouts/home.html deleted file mode 100644 index 4cf4c1d..0000000 --- a/_layouts/home.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -layout: default -refactor: true ---- - -{% include lang.html %} - -{% assign pinned = site.posts | where: 'pin', 'true' %} -{% assign default = site.posts | where_exp: 'item', 'item.pin != true and item.hidden != true' %} - -{% assign posts = '' | split: '' %} - - - -{% assign offset = paginator.page | minus: 1 | times: paginator.per_page %} -{% assign pinned_num = pinned.size | minus: offset %} - -{% if pinned_num > 0 %} - {% for i in (offset..pinned.size) limit: pinned_num %} - {% assign posts = posts | push: pinned[i] %} - {% endfor %} -{% else %} - {% assign pinned_num = 0 %} -{% endif %} - - - -{% assign default_beg = offset | minus: pinned.size %} - -{% if default_beg < 0 %} - {% assign default_beg = 0 %} -{% endif %} - -{% assign default_num = paginator.posts | size | minus: pinned_num %} -{% assign default_end = default_beg | plus: default_num | minus: 1 %} - -{% if default_num > 0 %} - {% for i in (default_beg..default_end) %} - {% assign posts = posts | push: default[i] %} - {% endfor %} -{% endif %} - -
- {% for post in posts %} -
- - {% assign card_body_col = '12' %} - - {% if post.image %} - {% assign src = post.image.path | default: post.image %} - {% unless src contains '//' %} - {% assign src = post.img_path | append: '/' | append: src | replace: '//', '/' %} - {% endunless %} - - {% assign alt = post.image.alt | xml_escape | default: 'Preview Image' %} - - {% assign lqip = null %} - - {% if post.image.lqip %} - {% capture lqip %}lqip="{{ post.image.lqip }}"{% endcapture %} - {% endif %} - -
- {{ alt }} -
- - {% assign card_body_col = '7' %} - {% endif %} - -
-
-

{{ post.title }}

- -
-

- {% include no-linenos.html content=post.content %} - {{ content | markdownify | strip_html | truncate: 200 | escape }} -

-
- - - -
- -
-
-
- {% endfor %} -
- - -{% if paginator.total_pages > 1 %} - {% include post-paginator.html %} -{% endif %} diff --git a/_layouts/page.html b/_layouts/page.html deleted file mode 100644 index 32d6582..0000000 --- a/_layouts/page.html +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: default ---- - -{% include lang.html %} - -
- {% if page.layout == 'page' or page.collection == 'tabs' %} - {% assign tab_key = page.title | downcase %} - {% assign title = site.data.locales[lang].tabs[tab_key] | default: page.title %} -

- {{ title }} -

-
- {{ content }} -
- {% else %} - {{ content }} - {% endif %} -
diff --git a/_layouts/post.html b/_layouts/post.html deleted file mode 100644 index f7818bf..0000000 --- a/_layouts/post.html +++ /dev/null @@ -1,139 +0,0 @@ ---- -layout: default -refactor: true -panel_includes: - - toc -tail_includes: - - related-posts - - post-nav - - comments ---- - -{% include lang.html %} - -
-
-

{{ page.title }}

- - - -
- -
- {{ content }} -
- -
- - {% if page.categories.size > 0 %} - - {% endif %} - - - {% if page.tags.size > 0 %} - - {% endif %} - -
-
- {% if site.data.locales[lang].copyright.license.template %} - {% capture _replacement %} - - {{ site.data.locales[lang].copyright.license.name }} - - {% endcapture %} - - {{ site.data.locales[lang].copyright.license.template | replace: ':LICENSE_NAME', _replacement }} - {% endif %} -
- - {% include post-sharing.html lang=lang %} -
- -
- -
diff --git a/_layouts/tag.html b/_layouts/tag.html deleted file mode 100644 index d766d09..0000000 --- a/_layouts/tag.html +++ /dev/null @@ -1,23 +0,0 @@ ---- -layout: page -# The layout for Tag page ---- - -{% include lang.html %} - -
-

- - {{ page.title }} - {{ page.posts | size }} -

-
    - {% for post in page.posts %} -
  • - {{ post.title }} - - {% include datetime.html date=post.date class='text-muted small text-nowrap' lang=lang %} -
  • - {% endfor %} -
-
diff --git a/_layouts/tags.html b/_layouts/tags.html deleted file mode 100644 index 7800ca0..0000000 --- a/_layouts/tags.html +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: page -# All the Tags of posts. ---- - -
- {% assign tags = '' | split: '' %} - {% for t in site.tags %} - {% assign tags = tags | push: t[0] %} - {% endfor %} - - {% assign sorted_tags = tags | sort_natural %} - - {% for t in sorted_tags %} - - {% endfor %} -
diff --git a/_plugins/posts-lastmod-hook.rb b/_plugins/posts-lastmod-hook.rb deleted file mode 100644 index 1fd6ecf..0000000 --- a/_plugins/posts-lastmod-hook.rb +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env ruby -# -# Check for changed posts - -Jekyll::Hooks.register :posts, :post_init do |post| - - commit_num = `git rev-list --count HEAD "#{ post.path }"` - - if commit_num.to_i > 1 - lastmod_date = `git log -1 --pretty="%ad" --date=iso "#{ post.path }"` - post.data['last_modified_at'] = lastmod_date - end - -end diff --git a/_posts/2023-02-14-pardus-roportaj.md b/_posts/2023-02-14-pardus-roportaj.md deleted file mode 100644 index 44d135b..0000000 --- a/_posts/2023-02-14-pardus-roportaj.md +++ /dev/null @@ -1,202 +0,0 @@ ---- -title: "Pardus Ekibinden Ali Rıza ile Röportaj" -date: 2023-02-14 15:00:00 +3000 -categories: Reportages -tags: linux pardus tubitak duzenlenecek -author: asandikci ---- - - - -

Ankara'da düzenlenen 5. Verimlilik ve Teknoloji Fuarı kapsamında birçok stand ve etkinliğin yanında Pardus standı da vardı. Ben de hazır Ankara'da iken hem Pardus ekibi ile konuşmak hem de fuarı gezmek için alana gittim. Ekip ile tanıştıktan sonraki gün hazır ekibi yerinde bulmuşken neden bir röportaj yapmayayım dedim. Soruları hazırlamak için Yusuf İpek'in Discord kanalındanki değerli arkadaşlara danıştım, kendilerine müteşekkirim. Şimdi yanıtları bu blogun devamında soru-cevap şeklinde paylaşıyor olacağım.

- - -
- - -

1. Pardus ETAP neden Windows'tan gelen öğretmenler ve öğrenciler için Windows benzeri bir arayüz ile gelmiyor? Neden varsayılan olarak mesela GNOME kullanıyor ama özelleştirilmiş bir versiyonunu kullanmıyor ?

- - - -

Bunun en büyük sebebi Milli Eğitim Bakanlığı ile yapılan anlaşmalar gereği, onların istekleri doğrultusunda arayüz tasarladığımızdan dolayı o şekilde. İkincisi de Windows da çok kullanışlı bir sistem değil aslında biz bunu fark ettiğimiz için tahtalarda daha kullanışlı hâle getirmek için ona (Windows'a) benzemesinin gerekmediğini düşünüp ona göre bir tasarım yaptık.

- - -
- - -

2. Pardus etap neden wine önyüklü bir biçimde gelmiyor? En azından farklı imaj dosyaları harici çoğu imajda önyüklü olarak gelmiyor. Gelmesinin istenme sebebi de çoğu z-kitap vb. uygulamanın sadece wine üzerinden çalıştırılabiliyor olması.

- - - -

Yani burada asıl mantık şu: O z-kitap ların windows versiyonlarını çıkarıp alın kullanın tarzı bir yaklaşımdan ziyade bunu özellikle linux tarafına uyarlamalarını istememizden dolayı böyle bir şey ortaya çıktı ve isteyen kişiler için de direkt wine ile gelen imajlar da var zaten. Resmi imajlar diye bir bölüm var, oraya basarsanız görebilirsiniz.

- - -
- - -

3. Pardus neden varsayılan olarak libre office kullanıyor da onlyoffice kullanmiyor? en azından çoğu kullanıcı için microsofta uyumlulugu daha iyi.

- - - -

Onlyoffice görünüş olarak microsoft officeye benziyor olabilir fakat uyumluluk ve belge formatının asıl üreticisinin libre office olmasından dolayı libre office'i tercih ediyoruz. Libre Office alıştıktan sonra herhangi bir arayüz sıkıntısı olmuyor zaten.

- - -
- - -

4. Pardus ETAP gibi sürümler immutable yapılmayı düşünülüyor mu ya da bir immutable sürüm yapmayı düşünüyorlar mı. Mesela sadece Flatpak vb. yöntemlerle uygulama kurulabilecek bir sürüm

- - - -

Şu anda öyle bir planımız yok, isteyen kendisi bu şekilde ayarlayabilir.

- - -
- - -

5. Pardusun online kurulum seçeneği neden yok, paket ekleme çıkarma ve DE seçme vb. kurulum öncesi işlemleri için

- - - -

Online kurulum isosunu diyorsun, o var. Depo üzerinden indirilebiliyor. Sitede insanlar yanlışlıkla onu indirip niye kuramıyorum diye kafaları karışmasın diye eklemedik

- - -
- - -

6. Neden package updater ile pardus updater aynı sistem içerisinde bulunuyor, upgrade geldiğinde package updater karşımıza çıkıyor ama pardus mağazanın içinde de var.

- - - -

Onu ileride kaldırmayı düşünüyoruz

- - - -

-benzer bir şey deb paket yükleyicisinde de olmuştu, yeterince geliştirince diğerini kaldıracaksınız sanırım-

- - - -

Aynen

- - -
- - -

7. Pardus kernel konfigrasyonlarında herhangi bir değişiklik yapıyor musunuz, eklenen bir patch var mı?

- - - -

Yok, direkt debian kerneli

- - -
- - -

8. BTRFS hakkında ne düşünüyorsunuz? varsayılan kurulumda BTRFS'i neden seçmiyorsunuz?

- - - -

BTRFS kurumsal yerlerde çok gerekli bir özellik değil ayrıca kurulum aşamalarının da karmaşıklaşmasına sebep oluyor. Fakat manuel olarak kurulumu yapabilirsiniz, sitemizde de bununla ilgili bir içerik paylaştık zaten. Kurumlar bir sıkıntı olduğu zaman direkt imaj basıp geçmeyi tercih ediyor zaten.

- - -
- - -

9. Depodaki paketleriniz genel olarak eski ve örneğin FirefoxESR kullanılıyor, bu nedenden dolayı Kurumsal ve bireysel kullanıcılar için farklı iso yapma planınız var mı?

- - - -

Şu an için yok, biz şu anda kararlılık üzerine odaklanıyoruz.

- - -
- - -

10. Neden systemd bootloaderini kullanmıyorsunuz da grub kullanıyorsunuz ?

- - - -

Debianda varsayılan olarak gelen o olduğu için. Bir de bir sıkıntı çıktığı zaman grub'da konsola girdiği için bazı komutlar ile hatanın ne olduğunu da anlayabiliyoruz.

- - -
- - -

11. Paketleri derlediğiniz sunucuda hangi dağıtımı kullanıyorsunuz?

- - - -

Debian. Pardus için derleme yaptığımız imajlar var, o imajların üzerinde bütün derleme araçları kurulu geliyor, onu kullanarak derliyoruz. Hem işimizi kolaylaştırıyor hem de neyin neye bağlı olduğunu görebiliyoruz. Aslında pardus kullanıyoruz bi bakıma ama debiandan çok bir farkı yok

- - -
- - -

12. Neden okullarda pardus zorunlu hale getirilmiyor, okulun bir bilişimcisi varsa hemen windowsa dönüştürüyor. Bunun için aldığınız bir önlem var mı?

- - - -

O bizden ziyade Milli Eğitim Bakanlığı ile ilgili bir durum

- - - -

-Anlıyorum ama şunları da eklemek istiyorum: tahta.etap.gov.tr adresinde bir veri paylaşıyorsunuz. Bizzat arkadaşlar ile o verileri inceledik ve tutarlı olmadığı kanısına vardık, o verilerin pardus etap kurulu gelen tahta sayısı olduğunu düşünüyorum ben. Bizim okulda da varmış bir tane ama benim haberim yok mesela-

- - - -

3 ay ele alınmayan makineler database'den düşüyor. interneti olmayabilir, bozuk olabilir 3 ay boyunca mesela, o zaman da sistemden düşüyor

- - -
- - -

13. Gibux'a nasıl bakıyorsunuz, gibux yerine pardus kullanılamaz mıydı, neden kendi işletim sistemini yapmışlar bir daha? Tübitak ve Gelir Idaresi başkanlığının kararları ile ilgili şeyler mi?

- - - -

Hem o şekilde olabilir, hem de sistemlerinin tamamının kontrolünün kendilerinde olmasını istemiş olabilirler.

- - - -

-arkadan başka biri: Bir de tam 2013 zamanlarına denk gelmişti, o arada bi kopukluk\karmaşa var...-

- - - -

Aynen, iletişimsizlikten dolayı da olabilir...

- - -
- - -

14. Pardusu yaygınlaştırmak için başka çalışmalarınız var mı?

- - - -

Bu tür etkinliklerde, teknofestte varız. Çevremiz ile paylaşıyoruz, Kurumlar ile bazı anlaşmalarımız oluyor.

- - -
- - -

15. Pardus debian tabanına geçtiği zaman sanırım bazı geliştiriciler pisi linux adında devam ettiler. Onların bu yönden ilerlemeye çalışma sebepleri nedir. Acaba onların şu anda olduğu gibi bu yönden gidilseydi acaba daha iyi mi olurdu

- - - -

O konuda benim tecrübem var. Çünkü ben de bi ara onların arasındaydım, eskiden kalma bazı teknolojileri artık günümüzde kullanmak çok mantıklı değil. Hız bakımından olsun, daha modern teknolojiler olsun. O yüzden bazı şeylerin yenilenmesi gerektiğini düşünüyorum ben, buna en basit örnek de mesela debiandaki apt paket sistemi, yıllardır -25 civarı- aynı mantık ile gidiyor. bu yüzden paket yazması en zor dağıtımlardan birisi. Çünkü yeterince modern değil, onun yanında arch linux un paket yapısına baktığınızda gayet modern bir paket yapısına sahip. Fakat debian kadar uzun bir süre geliştirilip test edilmediği için onun kadar stabil bir yapıya da sahip değil. Bizim burada asıl amacımız taban oluşturmak olmadığı için biz debianı tercih ettik.

- - - -

-Stabilite için yani?-

- - - -

Aynen. Yani bazı şeylerin modernize edilmesi lazım haklısınız. Pisi linux konusunda da şunu söyleyeyim. Belki pisi linux kullanan arkadaşlar biraz kızabilir. Aslında yaptıkları şey 2011den sonraki bütün sadece paketleri güncellemek, bunun haricinde herhangi bir göze dokunur bir gelişme yok dediğin gibi ölü dağıtım haline geldi.

- - - -

-Acaba mesela pardus bir yandan destek verseydi ölmeyip pardusun gelişmesine de katkı sağlayabilir miydi ?-

- - - -

Ona yönelik de şöyle, ben 2016 yılında pisi linuxtan desteğimi tamamen çektim, yaptığınız iş kötü, geleceği yok gibisinden. Kendim projeler yapmaya başladım, önce onların -eski pardusun- tabanını alıp modernize etmeye başladım. Ordan da bir şey çıkmayınca hani ondan sonra kendim tekrar paket sistemi tasarlayım gibi bir uğraşlara girdim ve gerçekten aşırı uğraştırıcı ve zor bir iş. Anca siyah ekranda bir pencere çıkartabiliyorum

- \ No newline at end of file diff --git a/_posts/2023-06-15-teknofest-deneyimlerim.md b/_posts/2023-06-15-teknofest-deneyimlerim.md deleted file mode 100644 index d354437..0000000 --- a/_posts/2023-06-15-teknofest-deneyimlerim.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: "Teknofest Pardus 21 Hata Yakalama ve Öneri Yarışması Deneyimlerim" -date: 2023-06-15 15:00:00 +3000 -categories: Competitions -tags: teknofest pardus liderahenk tubitak duzenlenecek -author: asandikci -image: - path: https://gonullu.pardus.org.tr/wp-content/uploads/2023/07/pardus.jpg - alt: "Teknofest sitesindeki Pardus 21 Hata Yakalama ve Öneri Yarışması Kategorisi" ---- - - -

Merhabalar, ben Teknofest 2023 Pardus 21 Hata Yakalama ve Öneri Yarışması finalisti Aliberk. Bu yazı içerisinde sizlere milli imkanlarla geliştirilen işletim sistemimiz Pardus üzerinde yakalamış olduğum hatalardan, yaptığım önerilerden ve genel olarak süreçten bahsetmek istiyorum.

- - - -

Yaklaşık 2 yıldır GNU/Linux işletim sistemleri kullanmaktayım. Bu sebepten Teknofest içerisinde düzenlenen Pardus Hata Yakalama ve Öneri Yarışması özellikle dikkatimi çekti. Teknofest portalı üzerinden gerekli bilgileri doldurarak yarışmaya kaydımı yaptım. Sonrasında ilk işim bilgisayarıma Pardus kurmak ve kurcalamak oldu. Ben bilgisayar özelliklerimin çok iyi olmamasından kaynaklı XFCE’yi tercih ettim.

- - - -

Pardus’u günlük yaşamımda da kullanarak fark ettiğim hataları ve “böyle bir özellik olsa güzel olurmuş” diye düşündüğüm özellikleri not ettim. Aynı zamanda bilişim öğretmenimden de okuldaki bilgisayarları kullanmak için izin aldım. Yarışma için 10 tane talep gönderebiliyorduk ve ben bu sayıyı tamamlamak istedim. Ama süreç içerisinde yeterince hata yakalayamadığımdan dolayı ben de Pardus’un diğer alt projelerini inceleme kararı aldım.

- - - -

Ahtapot, Engerek, Etap ve Liderahenk alt projelerinden daha çok ilgimi çektiğinden dolayı Liderahenk üzerinde hata yakalamak için çalışmalara başladım. Okuldaki 1 bilgisayara Lider sunucusunu 2 bilgisayara da Ahenk istemcisini kurdum. Bu sayede birkaç hata daha yakalama imkanım oldu. Bulduğum hatalar kritik hatalar değildi ama yine de kullanıcı deneyimini etkiliyordu.

- - - -
Pardus alt projesi Liderahenk, Merkezi Yönetim Sistemi
- - - -

Talep oluşturmak için gerekli hata ve önerileri biriktirdikten sonra bulduğum hataların iyi anlaşılması için sıfırdan bir sanal makine kurdum. Sonrasında video kaydı ve ekran görüntüleri de alarak gerekli raporlamaları yaptım. Aynı zamanda GitHub üzerinden de pull request açtım. Sonuç olarak, 4 hata, 6 öneri talebini sistem üzerinden ilettim.

- - - -

Yaklaşık 3 hafta sonra ise Teknofest ekibinden bir mail geldi. Mailde Pardus 21 Hata Yakalama ve Öneri Yarışmasında finalist olduğum yazıyordu. 1 ay sonra da Teknofest için İstanbul’a gittim. Teknofest alanında 3. olduğumu öğrendim ve Pardus ekibi ile vakit geçirme fırsatı buldum. Standa gelen insanlara Pardus’u tanıtma imkanı buldum. Benim için unutulmaz bir deneyimdi. İlgisini çekenlerin seneye katılmasını tavsiye ediyorum.

- \ No newline at end of file diff --git a/_posts/2023-09-15-linux-epson-yazici.md b/_posts/2023-09-15-linux-epson-yazici.md deleted file mode 100644 index 8f9ed5d..0000000 --- a/_posts/2023-09-15-linux-epson-yazici.md +++ /dev/null @@ -1,151 +0,0 @@ ---- -title: "Linux / Pardus / Debian üzerinde Epson Yazıcı Kullanma" -date: 2023-09-15 15:00:00 +3000 -categories: [Linux, Troubleshooting] -tags: epson printer linux arch debian pardus duzenlenecek -author: asandikci ---- - - -

Merhabalar evimde 1 Arch, 1 Pardus bilgisayarı olan biri olarak Epson yazıcı kullanmak ilk başlarda benim için bir işkenceydi. Ancak araştırmalarım neticesinde şu anda rahat bir şekilde Epson yazıcımı kullanabiliyor ve gerekli bakım işlemlerini yapabiliyorum.

- - - -

- - - -

Öncelikle bu blog yazısında anlatacağım tüm işlemleri L382 model bir Epson yazıcıda ve Pardus XFCE 21.4 ve 21.5 sürümlerinde denediğimi belirtmek isterim. L38x modellerinde benzer adımlar ile siz de yazıcınızı herhangi bir GNU/Linux sürümünde çalıştırabilirsiniz.

- - - -

- - - -

Gerekli dosyaları kurmadan önce yazıcınızın gerçekten bir sürücüye ihtiyacı olup olmadığını kontrol etmeniz işinizi kolaylaştırabilir. https://openprinting.github.io/printers/ adresinde eğer yazıcınız listelenmiş ise sürücü yüklemeye gerek olmadan kullanabilme ihtimaliniz var. Veya kullandığınız dağıtımınızdaki yazıcı ayarları veya yazıcı yönetimi uygulaması gerekli sürücüleri zaten indiriyor olabilir. Bunları da kontrol etmenizde fayda var. Epson L38x model yazıcılarda bu destek olmadığı için blogun geri kalanında manuel olarak nasıl bir driver yüklenebileceğini anlatıyor olacağım.

- - - -

- - - -

Debian / Pardus İçin Sürücü Yükleme İşlemi

- - - -

Debian veya Pardus üzerinde bir Epson Inkjet Driver'ı kurmak için öncelikle lsb paketine ihtiyaç var. Ne yazık ki bu paket artık desteklenmemekte ve artık debian/pardus repolarında direkt binary file olarak bulunmamakta, sadece kaynak kodu [1] var ve artık lsb-release ve lsb-base adı altında iki farklı binary file olarak yüklenip kullanılması öneriliyor. Ama Epson’un sitesinden indireceğiniz ilgili yazıcı sürücüsü [2] illa da lsb>=3.2 sürümünü istiyor.
Bu yüzden her ne kadar eski olsa da lsb uyumluluk sorunu çözmek için bu [3] lsb-compat paketini kullanabilirsiniz. Sonrasında gerekli sürücüleri siteden[2] indirip, direkt olarak kurabilir, yazıcı seçeneklerinden yapılandırabilirsiniz.

- - - -

Tek bir kod öbeği içinde toplayacak olursak:

- - - -```bash -sudo apt update -y -# paketleri günceller -sudo apt install lsb-* -y -sudo apt install lib32z1 wget -y -# gerekli çalıştırılabilir paketleri yükler -wget https://archive.debian.org/debian/pool/main/l/lsb/lsb-compat_9.20161125_amd64.deb -# lsb-compat paketini debian repolarından indirir -sudo apt install ./lsb-compat_9.20161125_amd64.deb -y -# lsb-compat paketini kur -``` - - - -

Not: Bilgisayarınızın mimarisinin amd64 olduğu varsayılmıştır uname -m komutunu çalıştırarak kontrol edebilirsiniz. çıktı x86_64 ise üstteki kod öbeğini kullanabilirsiniz. Değilse https://archive.debian.org/debian/pool/main/l/lsb/ adresinden lsb-compat ile başlayan sizin mimarinize uygun .deb dosyasını indirip benzer şekilde yükleme adımını tamamlayabilirsiniz.

- - - -
- - - -

Sonrasında EPSON Download Center adresinden Linux ve L382 (veya sizin yazıcı modelinizi) seçip ürünü aratın. ARM(AArch32) yazanlar hariç diğer sürücülerin amd64.deb uzantısı ile biten versiyonlarını indirmeniz gerekiyor. (tabii ki yine bilgisayarınızın mimarisinin amd64 olduğunu varsayıyorum). Bende sadece ilkini indirince de sürücüyü algıladı, sanıyorum listedeki diğer paketler ekstra işlemler için. Eğer sizin modelinizin sürücüsünü bulamadıysanız https://www.openprinting.org/drivers adresinde de arayabilirsiniz. Yükleme işlemini yaptıktan sonra sudo /etc/init.d/cups restart komutunu girmeniz gerekebilir.

- - - -

Son olarak şu adımları uygulayın:

- - - -
    -
  1. Uygulamalar menüsünden Yazıcı ayarları seçeneğini seçin
  2. - - - -
  3. Açılan menüden aygıtınızı seçin
  4. - - - -
  5. Veri tabanından yazıcı seç seçeneğini işaretleyin
  6. - - - -
  7. Marka olarak Epson seçin
  8. - - - -
  9. Model listesinde L382 (veya sizin yazıcı modelinizi) bulun ve sağdan sürücüyü seçin
  10. - - - -
  11. Yazıcı bilgilerini ekleyin (isteğe bağlı)
  12. -
- - - -

Bu adımları yaptıktan sonra yazıcınızın hem uygulamalar tarafından algılanıyor hem de doğru bir şekilde çıktı veriyor olması lazım. Dilerseniz test sayfası yazdırarak doğrulayabilirsiniz.

- - - -
- - - -

Kaynaklar:
[1] https://packages.debian.org/source/bullseye/lsb
[2] http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX
[3] https://archive.debian.org/debian/pool/main/l/lsb/lsb-compat_9.20161125_amd64.deb

- - - -

- - - -

Ağustost 2023 Güncellemesi: https://packages.debian.org/stretch/lsb-compat 1 linkinde bulunan lsb-compat artık arşivlenmiş durumdadır. Kaynak [3]'ten ulaşabilirsiniz.
İşlemlerin denendiği donanımlar: Pardus XFCE 21.4 ve 21.5, x86_64 mimari , Epson L382 yazıcı

- - - -
- - - -

Bu adımlar sürücüyü yüklemenizi sağladı mı? Herhangi bir sorunla karşılaştınız mı? Yorumlar kısmında belirtebilirsiniz.

- - - -

Arch İçin Sürücü Yükleme İşlemi

- - - -

Arch tabanlı dağıtımlarda Aur gibi bir nimet olduğu için sürücü yüklemek görece daha kolay. Hatta neden bilmiyorum L310 sürücüsü direkt yüklü olarak geldi (CUPS+Gutenprint) ve benim yazıcım ile de uyumlu idi. Onu direkt kullanabildim. Yine de yavaş yazdırıyordu ve bazen sıkıntı çıkartabiliyordu. O yüzden aur kullanarak kendi modelinizin sürücüsünü kurmanızı öneririm. Bunun için yay epson | grep -B 1 L382 komutunu kullanarak ilgili sürücü bulabilir ve yükleyebilirsiniz. Tabii ki L382 yerine kendi modelinizi yazınız. Ayrıca PKGBUILD dosyasını da incelemek isteyebilirsiniz.

- - - -

Yazıcı Yönetim Uygulaması Yükleme İşlemi

- - - -

LSB kullanan yazıcıların yönetim uygulaması için https://support.epson.net/linux/Printer/LSB_distribution_pages/en/utility.php adresinden ilgili linki (debian/pardus için ilk link) indirip kurabilirsiniz. Arch için epson-printer-utility paketini aur üzerinden kurabilirsiniz. Uygulamanın çalışması için cihazınızı aç/kapa yapmanız gerekebilir. Ayrıca arch üzerinde ilk önce /opt/epson-printer-utility/lib/epson-backend içerisinde bulunan ecbd dosyasını root olarak çalıştırmanız gerekebilir. Uygulama kılavuzu için https://download.ebz.epson.net/man/linux/utility.html adresine göz atabilirsiniz.

- - - -

- - - -

Umarım yazım faydalı olmuştur. Yanlış olduğunu düşündüğünüz kısımları veya sorularınızı yorumlar kısmından iletebilirsiniz.

- \ No newline at end of file diff --git a/_posts/2023-11-21-android-foss-apps.md b/_posts/2023-11-21-android-foss-apps.md deleted file mode 100644 index f96d74e..0000000 --- a/_posts/2023-11-21-android-foss-apps.md +++ /dev/null @@ -1,570 +0,0 @@ ---- -title: "Android Cihazlar için Açık Kaynak / Özgür Yazılım Uygulama Alternatifleri" -date: 2023-11-21 15:00:00 +3000 -categories: Android -tags: app-recommendations foss duzenlenecek -author: asandikci ---- - - -

Günümüzde gizlilik ve güvenlik en önemli konulardan biri. Bunu sağlamanın en garanti yollarında biri ise kullandığımız uygulamaların açık kaynak olmasına dikkat etmek. Bu tarz uygulamaların kaynak kodu herkese açık bir şekilde görüntülenebildiği için hem güvenlik yamaları daha hızlı bir şekilde gelmekte hem de gizlilik ile ilgili kafamızda bir soru işareti oluşmamakta. Dolayısı ile bu uygulamaları teknolojik cihazlarımızda kullanmamız büyük bir önem taşımaktadır. Bu yazımızda sizin için hem gizlilik ve güvenliğinizi sağlayacak hem de verimliliğinizden geri bırakmayacak açık kaynak kodlu Android uygulamalarına yer vermek istedik.

- - - - -
- -## Uygulama Mağazaları - - - - -
    -
  • Burada paylaşacağım diğer tüm uygulamalar için öncelikle bu mağazalardan bir veya birkaçını indirmek işini kolayaştıracak ve otomatik güncelleme almanızı sağlayacaktır. Bu başlık altında Google Play Store için alternatif uygulamaları bulabilirsiniz.
  • -
- - - - -### [F-Droid](https://f-droid.org/F-Droid.apk) - - - - -
    -
  • Açık kaynak kodlu uygulamaların toplandığı bir mağaza. Kendi uygulama listenizi ekleyebildiğiniz gibi bu listedeki tüm uygulamaları bulmak için IzzyOnDroid reposunu da eklemek isteyebilirsiniz.
  • -
  • Benzer alternatif-1: AuroraDroid -
      -
    • Varsayılan olarak daha fazla özelliği var ama hem aktif olarak geliştirilmiyor hem de görece yavaş çalışıyor. Bir de bazı uygulamaların ikonları gözükmemekte
    • -
    -
  • -
  • Benzer alternatif-2: NeoStore
  • -
- -### [AuroraStore](https://f-droid.org/en/packages/com.aurora.store/) - -
    -
  • Play Store için alternatif arayüz. paralel uygulama yükleme, uygulamdaki izleyicileri(tracker) gösterme benzeri güzel özellikleri var. Anonim olarak veya Google Hesabınız ile giriş yaparak kullanabilirsiniz.
  • -
- - - - - - -### [Obtainium](https://github.com/ImranR98/Obtainium/releases) - - - - -
    -
  • GitHub, GitLab vb. bir linkten uygulamayı direkt siteden güncellemek için. Anında güncel tutmak istediğiniz veya üstteki diğer mağazalarda bulamadığınız uygulamalar için kullanılabilir.
  • -
-
- -## Genel Kullanım - - - - - - - -### [Fossify Serisi](https://github.com/fossifyorg) - - - - - - - - -### [Open Camera](https://f-droid.org/en/packages/net.sourceforge.opencamera/) - - - - -
    -
  • Özelleştirilebilir kamera uygulaması. Hem Profesyonel fotoğrafçılar hem de günlük kullanıcılar için vazgeçilmez. Otomatik fotoğraf hizalayıcı, açı göstergeleri, gelişmiş odak noktası ayarları, iso ve estantene ayarları ve benzeri bir çok diğer kamera uygulamasında olmayan özelliklere sahip.
  • -
- - - -

Fair Mail - Gmail Alternatifi

- - - -
    -
  • Gelişmiş kullanıcılar için özelleştirilebilir Mail arayüzü. Mail arayüzü, hesaplar, bildirimler, mail klasörleri, filterler için birçok özelleştirme yapmayı sağlıyor.
  • -
- - - -

Organic Maps - Google Maps Alternatifi

- - - -
    -
  • OpenStreetMap için mobil arayüz, modern harita uygulaması.
  • -
- - - -
    -
  • Benzer Alternatif: GraphHopper Maps -
      -
    • Arayüzü modern değil ama daha fazla yol seçeneği var (bisiklet, tır vb.)
    • -
    -
  • -
- - - -

Tasks

- - - -
    -
  • Görevler uygulaması, etiketler ve farklı kategoriler oluşturulabiliyor. Markdown desteği, görev önceliği, başlangıç/bitiş tarihi ekleme, alt görev ekleme vb. zengin özelliklere sahip . Aynı zamanda DAVx5, Nextcloud, Google Tasks vb. servisler ile de senkronize edilebiliyor.
  • -
- - -
- - -

Media & Müzik

- - - -

Newpipe - YouTube Alternatifi

- - - -
    -
  • Reklamsız YouTube deneyimi. Google hesabı gerektirmiyor. Videolar x3 hızlandırılabiliyor, ses olmayan kısımlar otomatik atlanabiliyor ve videolar indirilebiliyor. Görece eski bir arayüze sahip olsa da oldukça işlevsel
  • -
- - - -
    -
  • Uygulamanın bu sürümünü tavsiye ediyorum: Newpipe x SponsorBlock -
      -
    • Newpipe forku, dislike sayısı gözüküyor ve sponsorlu kısımlar atlanabiliyor.
    • -
    -
  • - - - -
  • Benzer Alternatif 1: LibreTube -
      -
    • Daha modern gözüken yeni bir alternatif ama şimdilik biraz buglu
    • -
    -
  • - - - -
  • Benzer Alternatif 2: ReVanced -
      -
    • Komple YouTube görünümlü, YouTube engelleyene kadar Vanced ismi ile isimlendiriliyordu
    • -
    -
  • -
- - - -

AntennaPod - Google Podcast Alternatifi

- - - -
    -
  • Podcast dinlemek için mükemmel bir uygulama, birçok farklı podcast uygulamasından podcast çekebiliyor ve ses hızlandırma/senkronizasyon gibi gelişmiş özelliklere de sahip
  • -
- - - -

Spotube - Spotify Alternatifi

- - - -
    -
  • Reklamsız spotify. Spotify hesabını bağlayabiliyorsunuz ve playlist oluşturma/üretme vb. değişik özelliklere sahip. Müzikleri YouTube üzerinden çekmekte ve Piped API'yı da kullanılabiliyor. Biraz yavaş ve buglu.
  • -
- - - -
    -
  • Benzer Alternatif: Musify -
      -
    • Bu listeyi hazırlarken bulduğum müzik için spotube uygulamasına güzel bir alternatif. Deneme fırsatım olmadı ama arayüzü güzel gözüküyor.
    • -
    -
  • -
- - - -

SoundAura

- - - -
    -
  • Farklı ses dosyalarını içeri aktarıp farklı ses miktarlarında karabiliyorsunuz. Ortam sesi oluşturmak için birebir.
  • -
- - - -

VLC

- - - -
    -
  • Anlatmaya gerek yok sanırım. En çok bilinen ve kullanılan medya oynatıcılarından biri.
  • -
- - - -
    -
  • Benzer Alternatif: mpv
  • -
- - - -
    -
  • -
      -
    • Sade ama güçlü medya oynatıcı. Benim için VLC'den öne çıkan yanı aynı anda iki farklı altyazı eklenebilmesi. Varsayılan olarak biraz daha hantal olabiliyor ama ayarlardan birçok performans ayarı yapılabiliyor (eski tip türkçe altyazılarda sıkıntı çıkabiliyor, öncesinde dönüştürme işlemi gerekebiliyor)
    • -
    -
  • -
-
- - - - -

Dokümanlar

- - - -

Markor

- - - -
    -
  • Basit Markdown düzenleyici
  • -
- - - -

Librera Reader

- - - -
    -
  • Açık ara en iyi mobil pdf okuyucu, koyu modu var. Ne kadar yavaş da olsa daha birçok özellik barındırmakta.
  • -
- - - -

LibreOffice Viewer - Google Dökümanlar Alternatifi

- - - -
    -
  • LibreOffice Görüntüleyici. ODT türü dosyaları görüntülemek için kullanılabilir. Word, Excel, Powerpoint dosyalarını da açmakta
  • -
-
-

- - - -

Sosyal

- - - -

Fedilab

- - - -
    -
  • Fediverse kullanıyorsanız bu uygulamaya bakmak isteyebilirsiniz. Gelişmiş bir arayüz. Mastodon, Pixelfed, PeerTube vb. uyumlu.
  • -
- - - -

Beeper

- - - -
    -
  • Geliştirme aşamasında, 15 tane sosyal medya uygulamasını (whatsapp, telegram, discord vb.) tek bir uygulamadan yönetebilecekmişiz, kapalı beta sırasına girmek isteyebilirsiniz.
  • -
- - - -

Conversations

- - - -
    -
  • XMPP için kullanabileceğiniz sade bir uygulama
  • -
- - - -

Akıllı Bileklik veya Saati Olanlara

- - - -

Gadgetbridge - MiFit Alternatifi

- - - -
    -
  • Akıllı bilekli ve saatler için açık kaynak mobil uygulama alternatifi, yaklaşik 1 senedir MiBand cihazım ile sorunsuz bir şekilde kullanıyorum ve daha birçok cihaz ile de sorunsuz çalışmakta.
  • -
- - - -

OpenTracks

- - - -
    -
  • Yürüyüş için istatistik ve konum geçmişi vb. Gadgetbridge ile uyumlu bir şekilde çalıştığı için bu başlık altına aldım ama akıllı bileklik/saat olmadan da kullanabilirsiniz.
  • -
- - - -

QuickWeather

- - - -
    -
  • Hava durumu uygulaması. Aynı zamanda Gadgetbridge'a hava durumu verisi sağlamakta.
  • -
-
- - - - -

Kendi Sunucusu Olanların İlgisini Çekebilir

-
    -
  • Eğer evde veya bir VPS üzerinde kendi sunucunuza sahip iseniz bu başlık altındaki android uygulamaları ilginizi çekebilir.
  • -
- - - -

Nextcloud - Google Drive Alternatifi

- - - -
    -
  • Verilerinizi nextcloud sunucunuz ile senkronize etmek ve verilerinize ulaşmak için
  • -
- - - -

Les Pas - Google Fotoğraflar Alternatifi

- - - -
    -
  • Nextcloud fotoğraflarınız için galeri uygulaması
  • -
- - - -

Davx5

- - - -
    -
  • Nextcloud veya CalDAV/CardDAV sunucunuz ile takvim, kişilerinizi senkronize etmek için.
  • -
- - - -

FreshRSS

- - - -
    -
  • FreshRSS sunucunuz varsa resmi mobil uygulaması
  • -
- - - -

GitNex - GitHub Alternatifi

- - - -
    -
  • Kendi Gitea veya Forgejo sunucusu olanlar kullanabilirler
  • -
-
- - - - - - -

Root Kullanıcıları İçin

- - - -
    -
  • Telefonu bizzat Rootlamadığım için burada vereceğim örnekler sığ olacaktır. Hâlihazırda cihazını rootlamış olanlar yorumlarda önerilerini yazabilirler.
  • -
- - - -

AdAway

- - - -
    -
  • Reklam engelleyici, cihazda root olmadan vpn olarak çalıştırarak da kullanabilirsiniz ama root olarak çalıştırırsanız daha fazla verim alırsınız.
  • -
- - - -

Magisk  /  Shizuku

- - - - - -
    -
  • Bildiğim kadarı ile diğer uygulamalara root izni vermek için
  • -
- - - -

Neo Backup

- - - -
    -
  • Uygulamaların yedeğini almak için
  • -
- - - -

Diğer

-
    -
  • Diğer Uygulamalar ve Kategorize Etmeye Üşendiklerim .d
  • -
- - - -
    -
  • Table Habit (mhabit)
  • - - - -
  • LibreSudoku
  • - - - -
  • lichess
  • - - - -
  • Aliucord (telemetri kapatılmış discord, obtanium ile indirebilirsiniz.)
  • - - - -
  • Binary Eye (barkod okuyucu)
  • - - - -
  • Arity (2 ve 3 boyutlu görüntüleme özelliği olan hesap makinesi)
  • - - - -
  • WhatsDeleted (silinen WhatsApp mesajlarını görmek için )
  • - - - -
  • Semitone (müzik ile uğraşanlar için metronom uygulaması)
  • - - - -
  • Vector Camera
  • - - - -
  • OpenKeychain
  • - - - -
  • Bitwarden
  • - - - -
  • Myne
  • - - - -
  • Logcat
  • - - - -
  • Termux (telefon terminali)
  • - - - -
  • Shelter (uygulamaları ikinci kere yüklemek ve ayırmak için)
  • - - - -
  • LibreSpeed (speed test uygulaması)
  • - - - -
  • SD Maid SE (telefonda yer boşaltmak için)
  • - - - -
  • RHVoice (TTS motoru, ne yazık ki Türkçesi yok)
  • - - - -
  • Openreads (kitap listesi uygulaması)
  • - - - -
  • Florisboard (klavye uygulaması)
  • -
- - -
- - -

Alternatif bulamadıklarım

- - - -
    -
  • Türkçe TTS (Text-to-speech) motoru
  • - - - -
  • STT (Speech-to-text) motoru (Türkçe/İngilizce) (Kõnele var ama doğru düzgün ayarlamaya fırsatım olmadı)
  • - - - -
  • WebView alternatifi (Mozilla geckoview üzerinde çalışıyor sanırım ama emin değilim)
  • - - - -
  • Zamanlanmış mail gönderebilen Mail Uygulaması (Fair Mail bunu sadece pro sürümünde yapıyor)
  • -
- - - -

 

-

Siz de kullandığınız mobil açık kaynak / özgür yazılımları listeleyebilirsiniz, ekleme yapabilirsiniz veya benim bizzat bulamadıklarımı bulmamda yardımcı olabilirsiniz Okuduğunuz için teşekkürler.

- \ No newline at end of file diff --git a/_sass/addon/commons.scss b/_sass/addon/commons.scss deleted file mode 100644 index b3d5004..0000000 --- a/_sass/addon/commons.scss +++ /dev/null @@ -1,1540 +0,0 @@ -/* The common styles */ - -html { - @media (prefers-color-scheme: light) { - &:not([data-mode]), - &[data-mode='light'] { - @include light-scheme; - } - - &[data-mode='dark'] { - @include dark-scheme; - } - } - - @media (prefers-color-scheme: dark) { - &:not([data-mode]), - &[data-mode='dark'] { - @include dark-scheme; - } - - &[data-mode='light'] { - @include light-scheme; - } - } - - font-size: 16px; -} - -body { - background: var(--main-bg); - padding: env(safe-area-inset-top) env(safe-area-inset-right) - env(safe-area-inset-bottom) env(safe-area-inset-left); - color: var(--text-color); - -webkit-font-smoothing: antialiased; - font-family: $font-family-base; -} - -/* --- Typography --- */ - -@for $i from 1 through 5 { - h#{$i} { - @extend %heading; - - @if $i > 1 { - @extend %section; - @extend %anchor; - } - - @if $i < 5 { - $factor: 0.18rem; - - @if $i == 1 { - $factor: 0.23rem; - } - - font-size: 1rem + (5 - $i) * $factor; - } @else { - font-size: 1rem; - } - } -} - -a { - @extend %link-color; - - text-decoration: none; -} - -img { - max-width: 100%; - height: auto; - transition: all 0.35s ease-in-out; - - .blur & { - $blur: 20px; - - -webkit-filter: blur($blur); - filter: blur($blur); - } -} - -blockquote { - border-left: 5px solid var(--blockquote-border-color); - padding-left: 1rem; - color: var(--blockquote-text-color); - - > p:last-child { - margin-bottom: 0; - } - - &[class^='prompt-'] { - border-left: 0; - position: relative; - padding: 1rem 1rem 1rem 3rem; - color: var(--prompt-text-color); - - @extend %rounded; - - &::before { - text-align: center; - width: 3rem; - position: absolute; - left: 0.25rem; - margin-top: 0.4rem; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - } - } - - @include prompt('tip', '\f0eb', 'regular'); - @include prompt('info', '\f06a'); - @include prompt('warning', '\f06a'); - @include prompt('danger', '\f071'); -} - -kbd { - font-family: inherit; - display: inline-block; - vertical-align: middle; - line-height: 1.3rem; - min-width: 1.75rem; - text-align: center; - margin: 0 0.3rem; - padding-top: 0.1rem; - color: var(--kbd-text-color); - background-color: var(--kbd-bg-color); - border-radius: 0.25rem; - border: solid 1px var(--kbd-wrap-color); - box-shadow: inset 0 -2px 0 var(--kbd-wrap-color); -} - -footer { - background-color: var(--main-bg); - height: $footer-height; - border-top: 1px solid var(--main-border-color); - - @extend %text-xs; - - a { - @extend %text-highlight; - - &:hover { - @extend %link-hover; - } - } - - em { - @extend %text-highlight; - } - - p { - text-align: center; - margin-bottom: 0; - } -} - -/* fontawesome icons */ -i { - &.far, - &.fas { - @extend %no-cursor; - } -} - -/* --- Panels --- */ - -.access { - top: 2rem; - transition: top 0.2s ease-in-out; - margin-top: 3rem; - margin-bottom: 4rem; - - &:only-child { - position: -webkit-sticky; - position: sticky; - } - - > section { - padding-left: 1rem; - border-left: 1px solid var(--main-border-color); - - &:not(:last-child) { - margin-bottom: 4rem; - } - } - - .content { - font-size: 0.9rem; - } -} - -#panel-wrapper { - /* the headings */ - .panel-heading { - font-family: inherit; - line-height: inherit; - - @include label(inherit); - } - - .post-tag { - line-height: 1.05rem; - font-size: 0.85rem; - border-radius: 0.8rem; - padding: 0.3rem 0.5rem; - margin: 0 0.35rem 0.5rem 0; - - &:hover { - transition: all 0.3s ease-in; - } - } -} - -#access-lastmod { - a { - &:hover { - @extend %link-hover; - } - - @extend %no-bottom-border; - - color: inherit; - } -} - -.footnotes > ol { - padding-left: 2rem; - margin-top: 0.5rem; - - > li { - &:not(:last-child) { - margin-bottom: 0.3rem; - } - - @extend %sup-fn-target; - - > p { - margin-left: 0.25em; - margin-top: 0; - margin-bottom: 0; - } - } -} - -.footnote { - @at-root a#{&} { - @include ml-mr(1px); - @include pl-pr(2px); - - border-bottom-style: none !important; - } -} - -sup { - @extend %sup-fn-target; -} - -.reversefootnote { - @at-root a#{&} { - font-size: 0.6rem; - line-height: 1; - position: relative; - bottom: 0.25em; - margin-left: 0.25em; - border-bottom-style: none !important; - } -} - -/* --- Begin of Markdown table style --- */ - -/* it will be created by Liquid */ -.table-wrapper { - overflow-x: auto; - margin-bottom: 1.5rem; - - > table { - min-width: 100%; - overflow-x: auto; - border-spacing: 0; - - thead { - border-bottom: solid 2px rgba(210, 215, 217, 0.75); - - th { - @extend %table-cell; - } - } - - tbody { - tr { - border-bottom: 1px solid var(--tb-border-color); - - &:nth-child(2n) { - background-color: var(--tb-even-bg); - } - - &:nth-child(2n + 1) { - background-color: var(--tb-odd-bg); - } - - td { - @extend %table-cell; - } - } - } /* tbody */ - } /* table */ -} - -/* --- post --- */ - -.preview-img { - aspect-ratio: 40 / 21; - width: 100%; - height: 100%; - overflow: hidden; - - @extend %rounded; - - &:not(.no-bg) { - background: var(--img-bg); - } - - img { - height: 100%; - -o-object-fit: cover; - object-fit: cover; - - @extend %rounded; - - @at-root #post-list & { - width: 100%; - } - } -} - -.post-preview { - @extend %rounded; - - border: 0; - background: var(--card-bg); - box-shadow: var(--card-shadow); - - &::before { - @extend %rounded; - - content: ''; - width: 100%; - height: 100%; - position: absolute; - background-color: var(--card-hovor-bg); - opacity: 0; - transition: opacity 0.35s ease-in-out; - } - - &:hover { - &::before { - opacity: 0.3; - } - } -} - -main { - line-height: 1.75; - - h1 { - margin-top: 2rem; - margin-bottom: 1.5rem; - } - - p { - > a.popup { - &:not(.normal):not(.left):not(.right) { - @include align-center; - } - } - } - - .categories, - #tags, - #archives { - a:not(:hover) { - @extend %no-bottom-border; - } - } -} - -.post-meta { - @extend %text-sm; - - a { - &:not([class]):hover { - @extend %link-hover; - } - } - - em { - @extend %normal-font-style; - } -} - -.content { - font-size: 1.08rem; - margin-top: 2rem; - overflow-wrap: break-word; - - a { - &.popup { - @extend %no-cursor; - @extend %img-caption; - @include mt-mb(0.5rem); - - cursor: zoom-in; - } - - &:not(.img-link) { - @extend %link-underline; - - &:hover { - @extend %link-hover; - } - } - } - - ol, - ul { - &:not([class]), - &.task-list { - -webkit-padding-start: 1.75rem; - padding-inline-start: 1.75rem; - - li { - margin: 0.25rem 0; - padding-left: 0.25rem; - } - - ol, - ul { - -webkit-padding-start: 1.25rem; - padding-inline-start: 1.25rem; - margin: 0.5rem 0; - } - } - } - - ul.task-list { - -webkit-padding-start: 1.25rem; - padding-inline-start: 1.25rem; - - li { - list-style-type: none; - padding-left: 0; - - /* checkbox icon */ - > i { - width: 2rem; - margin-left: -1.25rem; - color: var(--checkbox-color); - - &.checked { - color: var(--checkbox-checked-color); - } - } - - ul { - -webkit-padding-start: 1.75rem; - padding-inline-start: 1.75rem; - } - } - - input[type='checkbox'] { - margin: 0 0.5rem 0.2rem -1.3rem; - vertical-align: middle; - } - } /* ul */ - - dl > dd { - margin-left: 1rem; - } - - ::marker { - color: var(--text-muted-color); - } -} /* .content */ - -.tag:hover { - @extend %tag-hover; -} - -.post-tag { - display: inline-block; - min-width: 2rem; - text-align: center; - border-radius: 0.5rem; - border: 1px solid var(--btn-border-color); - padding: 0 0.4rem; - color: var(--text-muted-color); - line-height: 1.3rem; - - &:not(:last-child) { - margin-right: 0.2rem; - } -} - -.rounded-10 { - border-radius: 10px !important; -} - -.img-link { - color: transparent; - display: inline-flex; -} - -.shimmer { - overflow: hidden; - position: relative; - background: var(--img-bg); - - &::before { - content: ''; - position: absolute; - background: var(--shimmer-bg); - height: 100%; - width: 100%; - -webkit-animation: shimmer 1.3s infinite; - animation: shimmer 1.3s infinite; - } - - @-webkit-keyframes shimmer { - 0% { - transform: translateX(-100%); - } - - 100% { - transform: translateX(100%); - } - } - - @keyframes shimmer { - 0% { - transform: translateX(-100%); - } - - 100% { - transform: translateX(100%); - } - } -} - -.embed-video { - width: 100%; - height: 100%; - margin-bottom: 1rem; - - @extend %rounded; - - &.youtube, - &.bilibili { - aspect-ratio: 16 / 9; - } - - &.twitch { - aspect-ratio: 310 / 189; - } -} - -/* --- buttons --- */ -.btn-lang { - border: 1px solid !important; - padding: 1px 3px; - border-radius: 3px; - color: var(--link-color); - - &:focus { - box-shadow: none; - } -} - -/* --- Effects classes --- */ - -.loaded { - display: block !important; - - @at-root .d-flex#{&} { - display: flex !important; - } -} - -.unloaded { - display: none !important; -} - -.visible { - visibility: visible !important; -} - -.hidden { - visibility: hidden !important; -} - -.flex-grow-1 { - flex-grow: 1 !important; -} - -.btn-box-shadow { - box-shadow: var(--card-shadow); -} - -/* overwrite bootstrap muted */ -.text-muted { - color: var(--text-muted-color) !important; -} - -/* Overwrite bootstrap tooltip */ -.tooltip-inner { - font-size: 0.7rem; - max-width: 220px; - text-align: left; -} - -/* Overwrite bootstrap outline button */ -.btn.btn-outline-primary { - &:not(.disabled):hover { - border-color: #007bff !important; - } -} - -.disabled { - color: rgb(206, 196, 196); - pointer-events: auto; - cursor: not-allowed; -} - -.hide-border-bottom { - border-bottom: none !important; -} - -.input-focus { - box-shadow: none; - border-color: var(--input-focus-border-color) !important; - background: center !important; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; -} - -.left { - float: left; - margin: 0.75rem 1rem 1rem 0; -} - -.right { - float: right; - margin: 0.75rem 0 1rem 1rem; -} - -/* --- Overriding --- */ - -/* magnific-popup */ - -figure .mfp-title { - text-align: center; - padding-right: 0; - margin-top: 0.5rem; -} - -.mfp-img { - transition: none; -} - -/* mermaid */ -.mermaid { - text-align: center; -} - -/* MathJax */ -mjx-container { - overflow-y: hidden; - min-width: auto !important; -} - -/* --- sidebar layout --- */ - -$sidebar-display: 'sidebar-display'; -$btn-border-width: 3px; -$btn-mb: 0.5rem; - -#sidebar { - @include pl-pr(0); - - position: fixed; - top: 0; - left: 0; - height: 100%; - overflow-y: auto; - width: $sidebar-width; - z-index: 99; - background: var(--sidebar-bg); - border-right: 1px solid var(--sidebar-border-color); - - /* Hide scrollbar for Chrome, Safari and Opera */ - &::-webkit-scrollbar { - display: none; - } - - /* Hide scrollbar for IE, Edge and Firefox */ - -ms-overflow-style: none; /* IE and Edge */ - scrollbar-width: none; /* Firefox */ - - %sidebar-link-hover { - &:hover { - color: var(--sidebar-active-color); - } - } - - a { - @extend %sidebar-links; - } - - #avatar { - display: block; - width: 7rem; - height: 7rem; - overflow: hidden; - box-shadow: var(--avatar-border-color) 0 0 0 2px; - transform: translateZ(0); /* fixed the zoom in Safari */ - - img { - transition: transform 0.5s; - - &:hover { - transform: scale(1.2); - } - } - } - - .profile-wrapper { - @include mt-mb(0.5rem); - @extend %clickable-transition; - - padding-left: 2.5rem; - padding-right: 1.25rem; - width: 100%; - } - - .site-title { - font-family: inherit; - font-weight: 900; - font-size: 1.75rem; - line-height: 1.2; - letter-spacing: 0.25px; - margin-top: 1.25rem; - margin-bottom: 0.5rem; - - a { - @extend %clickable-transition; - @extend %sidebar-link-hover; - - color: var(--site-title-color); - } - } - - .site-subtitle { - font-size: 95%; - color: var(--site-subtitle-color); - margin-top: 0.25rem; - word-spacing: 1px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - } - - ul { - margin-bottom: 2rem; - - li.nav-item { - opacity: 0.9; - width: 100%; - padding-left: 1.5rem; - padding-right: 1.5rem; - - a.nav-link { - @include pt-pb(0.6rem); - - display: flex; - align-items: center; - border-radius: 0.75rem; - font-weight: 600; - - &:hover { - background-color: var(--sidebar-hover-bg); - } - - i { - font-size: 95%; - opacity: 0.8; - margin-right: 1.5rem; - } - - span { - font-size: 90%; - letter-spacing: 0.2px; - } - } - - &.active { - .nav-link { - color: var(--sidebar-active-color); - background-color: var(--sidebar-hover-bg); - - span { - opacity: 1; - } - } - } - - &:not(:first-child) { - margin-top: 0.25rem; - } - } - } - - .sidebar-bottom { - padding-left: 2rem; - padding-right: 1rem; - margin-bottom: 1.5rem; - - $btn-size: 1.75rem; - - %button { - width: $btn-size; - height: $btn-size; - margin-bottom: $btn-mb; // multi line gap - border-radius: 50%; - color: var(--sidebar-btn-color); - background-color: var(--sidebar-btn-bg); - text-align: center; - display: flex; - align-items: center; - justify-content: center; - box-shadow: var(--sidebar-border-color) 0 0 0 1px; - - &:hover { - background-color: var(--sidebar-hover-bg); - } - } - - a { - @extend %button; - @extend %sidebar-link-hover; - @extend %clickable-transition; - - &:not(:last-child) { - margin-right: $sb-btn-gap; - } - } - - i { - line-height: $btn-size; - } - - .mode-toggle { - padding: 0; - border: 0; - - @extend %button; - @extend %sidebar-links; - @extend %sidebar-link-hover; - } - - .icon-border { - @extend %no-cursor; - @include ml-mr(calc(($sb-btn-gap - $btn-border-width) / 2)); - - background-color: var(--sidebar-btn-color); - content: ''; - width: $btn-border-width; - height: $btn-border-width; - border-radius: 50%; - margin-bottom: $btn-mb; - } - } /* .sidebar-bottom */ -} /* #sidebar */ - -@media (hover: hover) { - #sidebar ul > li:last-child::after { - transition: top 0.5s ease; - } - - .nav-link { - transition: background-color 0.3s ease-in-out; - } - - .post-preview { - transition: background-color 0.35s ease-in-out; - } -} - -#search-result-wrapper { - display: none; - height: 100%; - width: 100%; - overflow: auto; - - .content { - margin-top: 2rem; - } -} - -/* --- top-bar --- */ - -#topbar-wrapper { - height: $topbar-height; - background-color: var(--topbar-bg); -} - -#topbar { - button i { - color: #999999; - } - - #breadcrumb { - font-size: 1rem; - color: var(--text-muted-color); - padding-left: 0.5rem; - - a:hover { - @extend %link-hover; - } - - span { - &:not(:last-child) { - &::after { - content: '›'; - padding: 0 0.3rem; - } - } - } - } -} /* #topbar */ - -::-webkit-input-placeholder { - @include placeholder; -} - -::-moz-placeholder { - @include placeholder; -} - -:-ms-input-placeholder { - @include placeholder; -} - -::-ms-input-placeholder { - @include placeholder; -} - -::placeholder { - @include placeholder; -} - -:focus::-webkit-input-placeholder { - @include placeholder-focus; -} - -:focus::-moz-placeholder { - @include placeholder-focus; -} - -:focus:-ms-input-placeholder { - @include placeholder-focus; -} - -:focus::-ms-input-placeholder { - @include placeholder-focus; -} - -:focus::placeholder { - @include placeholder-focus; -} - -search { - display: flex; - width: 100%; - border-radius: 1rem; - border: 1px solid var(--search-border-color); - background: var(--main-bg); - padding: 0 0.5rem; - - i { - z-index: 2; - font-size: 0.9rem; - color: var(--search-icon-color); - } -} - -#sidebar-trigger, -#search-trigger { - display: none; -} - -/* 'Cancel' link */ -#search-cancel { - color: var(--link-color); - display: none; - white-space: nowrap; - - @extend %cursor-pointer; -} - -#search-input { - background: center; - border: 0; - border-radius: 0; - padding: 0.18rem 0.3rem; - color: var(--text-color); - height: auto; - - &:focus { - box-shadow: none; - } -} - -#search-hints { - padding: 0 1rem; - - h4 { - margin-bottom: 1.5rem; - } - - .post-tag { - display: inline-block; - line-height: 1rem; - font-size: 1rem; - background: var(--search-tag-bg); - border: none; - padding: 0.5rem; - margin: 0 1.25rem 1rem 0; - - &::before { - content: '#'; - color: var(--text-muted-color); - padding-right: 0.2rem; - } - - @extend %link-color; - } -} - -#search-results { - padding-bottom: 3rem; - - a { - &:hover { - @extend %link-hover; - } - - @extend %link-color; - @extend %no-bottom-border; - @extend %heading; - - font-size: 1.4rem; - line-height: 2.5rem; - } - - > article { - width: 100%; - - &:not(:last-child) { - margin-bottom: 1rem; - } - - /* icons */ - i { - color: #818182; - margin-right: 0.15rem; - font-size: 80%; - } - - > p { - overflow: hidden; - text-overflow: ellipsis; - display: -webkit-box; - -webkit-line-clamp: 3; - -webkit-box-orient: vertical; - } - } -} /* #search-results */ - -#topbar-title { - display: none; - font-size: 1.1rem; - font-weight: 600; - font-family: sans-serif; - color: var(--topbar-text-color); - text-align: center; - width: 70%; - overflow: hidden; - text-overflow: ellipsis; - word-break: keep-all; - white-space: nowrap; -} - -#mask { - display: none; - position: fixed; - inset: 0 0 0 0; - height: 100%; - width: 100%; - z-index: 1; - - @at-root [#{$sidebar-display}] & { - display: block !important; - } -} - -/* --- basic wrappers --- */ - -#main-wrapper { - position: relative; - - @include pl-pr(0); - - > .container { - min-height: 100vh; - } -} - -#topbar-wrapper.row, -#main-wrapper > .container > .row, -#search-result-wrapper > .row { - @include ml-mr(0); -} - -#tail-wrapper { - > :not(script) { - margin-top: 3rem; - } -} - -/* --- button back-to-top --- */ - -#back-to-top { - display: none; - z-index: 1; - cursor: pointer; - position: fixed; - right: 1rem; - bottom: calc($footer-height-large - $back2top-size / 2); - background: var(--button-bg); - color: var(--btn-backtotop-color); - padding: 0; - width: $back2top-size; - height: $back2top-size; - border-radius: 50%; - border: 1px solid var(--btn-backtotop-border-color); - transition: transform 0.2s ease-out; - -webkit-transition: transform 0.2s ease-out; - - &:hover { - transform: translate3d(0, -5px, 0); - -webkit-transform: translate3d(0, -5px, 0); - } - - i { - line-height: $back2top-size; - position: relative; - bottom: 2px; - } -} - -#notification { - @-webkit-keyframes popup { - from { - opacity: 0; - bottom: 0; - } - } - - @keyframes popup { - from { - opacity: 0; - bottom: 0; - } - } - - .toast-header { - background: none; - border-bottom: none; - color: inherit; - } - - .toast-body { - font-family: Lato, sans-serif; - line-height: 1.25rem; - - button { - font-size: 90%; - min-width: 4rem; - } - } - - &.toast { - &.show { - display: block; - min-width: 20rem; - border-radius: 0.5rem; - -webkit-backdrop-filter: blur(10px); - backdrop-filter: blur(10px); - background-color: rgba(255, 255, 255, 0.5); - color: #1b1b1eba; - position: fixed; - left: 50%; - bottom: 20%; - transform: translateX(-50%); - -webkit-animation: popup 0.8s; - animation: popup 0.8s; - } - } -} - -/* - Responsive Design: - - {sidebar, content, panel} >= 1200px screen width - {sidebar, content} >= 850px screen width - {content} <= 849px screen width - -*/ - -@media all and (max-width: 576px) { - main { - .content { - > blockquote[class^='prompt-'] { - @include ml-mr(-1rem); - - border-radius: 0; - max-width: none; - } - } - } - - #avatar { - width: 5rem; - height: 5rem; - } -} - -@media all and (max-width: 768px) { - %full-width { - max-width: 100%; - } - - #topbar { - @extend %full-width; - } - - #main-wrapper > .container { - @extend %full-width; - @include pl-pr(0); - } -} - -/* hide sidebar and panel */ -@media all and (max-width: 849px) { - @mixin slide($append: null) { - $basic: transform 0.4s ease; - - @if $append { - transition: $basic, $append; - } @else { - transition: $basic; - } - } - - footer { - @include slide; - - height: $footer-height-large; - padding: 1.5rem 0; - } - - [#{$sidebar-display}] { - #sidebar { - transform: translateX(0); - } - - #main-wrapper { - transform: translateX($sidebar-width); - } - - #back-to-top { - visibility: hidden; - } - } - - #sidebar { - @include slide; - - transform: translateX(-$sidebar-width); /* hide */ - -webkit-transform: translateX(-$sidebar-width); - } - - #main-wrapper { - @include slide; - } - - #topbar, - #main-wrapper > .container { - max-width: 100%; - } - - #search-result-wrapper { - width: 100%; - } - - #breadcrumb, - search { - display: none; - } - - #topbar-wrapper { - @include slide(top 0.2s ease); - - left: 0; - } - - main, - #panel-wrapper { - margin-top: 0; - } - - #topbar-title, - #sidebar-trigger, - #search-trigger { - display: block; - } - - #search-result-wrapper .content { - letter-spacing: 0; - } - - #tags { - justify-content: center !important; - } - - h1.dynamic-title { - display: none; - - ~ .content { - margin-top: 2.5rem; - } - } -} /* max-width: 849px */ - -/* Sidebar is visible */ -@media all and (min-width: 850px) { - /* Solved jumping scrollbar */ - html { - overflow-y: scroll; - } - - #main-wrapper { - margin-left: $sidebar-width; - } - - #sidebar { - .profile-wrapper { - margin-top: 3rem; - } - } - - #search-hints { - display: none; - } - - search { - max-width: $search-max-width; - } - - #search-result-wrapper { - max-width: $main-content-max-width; - justify-content: start !important; - } - - main { - h1 { - margin-top: 3rem; - } - } - - div.content .table-wrapper > table { - min-width: 70%; - } - - /* button 'back-to-Top' position */ - #back-to-top { - right: 5%; - bottom: calc($footer-height - $back2top-size / 2); - } - - #topbar-title { - text-align: left; - } -} - -/* Pad horizontal */ -@media all and (min-width: 992px) and (max-width: 1199px) { - #main-wrapper > .container .col-lg-11 { - flex: 0 0 96%; - max-width: 96%; - } -} - -/* Compact icons in sidebar & panel hidden */ -@media all and (min-width: 850px) and (max-width: 1199px) { - #search-results > div { - max-width: 700px; - } - - #breadcrumb { - width: 65%; - overflow: hidden; - text-overflow: ellipsis; - word-break: keep-all; - white-space: nowrap; - } -} - -/* panel hidden */ -@media all and (max-width: 1199px) { - #panel-wrapper { - display: none; - } - - #main-wrapper > .container > div.row { - justify-content: center !important; - } -} - -/* --- desktop mode, both sidebar and panel are visible --- */ - -@media all and (min-width: 1200px) { - search { - margin-right: 4rem; - } - - #search-input { - transition: all 0.3s ease-in-out; - } - - #search-results > article { - width: 45%; - - &:nth-child(odd) { - margin-right: 1.5rem; - } - - &:nth-child(even) { - margin-left: 1.5rem; - } - - &:last-child:nth-child(odd) { - position: relative; - right: 24.3%; - } - } - - .content { - font-size: 1.03rem; - } -} - -@media all and (min-width: 1400px) { - #back-to-top { - right: calc((100vw - $sidebar-width - 1140px) / 2 + 3rem); - } -} - -@media all and (min-width: 1650px) { - $icon-gap: 1rem; - - #main-wrapper { - margin-left: $sidebar-width-large; - } - - #topbar-wrapper { - left: $sidebar-width-large; - } - - search { - margin-right: calc( - $main-content-max-width / 4 - $search-max-width - 0.75rem - ); - } - - #main-wrapper > .container { - max-width: $main-content-max-width; - padding-left: 1.75rem !important; - padding-right: 1.75rem !important; - } - - main.col-12, - #tail-wrapper { - padding-right: 4.5rem !important; - } - - #back-to-top { - right: calc( - (100vw - $sidebar-width-large - $main-content-max-width) / 2 + 2rem - ); - } - - #sidebar { - width: $sidebar-width-large; - - .profile-wrapper { - margin-top: 3.5rem; - margin-bottom: 2.5rem; - padding-left: 3.5rem; - } - - ul { - li.nav-item { - @include pl-pr(2.75rem); - } - } - - .sidebar-bottom { - padding-left: 2.75rem; - margin-bottom: 1.75rem; - - a:not(:last-child) { - margin-right: $sb-btn-gap-lg; - } - - .icon-border { - @include ml-mr(calc(($sb-btn-gap-lg - $btn-border-width) / 2)); - } - } - } -} /* min-width: 1650px */ diff --git a/_sass/addon/module.scss b/_sass/addon/module.scss deleted file mode 100644 index d1b7103..0000000 --- a/_sass/addon/module.scss +++ /dev/null @@ -1,200 +0,0 @@ -/* -* Mainly scss modules, only imported to `assets/css/main.scss` -*/ - -/* ---------- scss placeholder --------- */ - -%heading { - color: var(--heading-color); - font-weight: 400; - font-family: $font-family-heading; -} - -%section { - main & { - margin-top: 2.5rem; - margin-bottom: 1.25rem; - - &:focus { - outline: none; /* avoid outline in Safari */ - } - } -} - -%anchor { - .anchor { - font-size: 80%; - } - - @media (hover: hover) { - .anchor { - visibility: hidden; - opacity: 0; - transition: opacity 0.25s ease-in, visibility 0s ease-in 0.25s; - } - - &:hover { - .anchor { - visibility: visible; - opacity: 1; - transition: opacity 0.25s ease-in, visibility 0s ease-in 0s; - } - } - } -} - -%tag-hover { - background: var(--tag-hover); - transition: background 0.35s ease-in-out; -} - -%table-cell { - padding: 0.4rem 1rem; - font-size: 95%; - white-space: nowrap; -} - -%link-hover { - color: #d2603a !important; - border-bottom: 1px solid #d2603a; - text-decoration: none; -} - -%link-color { - color: var(--link-color); -} - -%link-underline { - border-bottom: 1px solid var(--link-underline-color); -} - -%clickable-transition { - transition: all 0.3s ease-in-out; -} - -%no-cursor { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -%no-bottom-border { - border-bottom: none; -} - -%cursor-pointer { - cursor: pointer; -} - -%normal-font-style { - font-style: normal; -} - -%rounded { - border-radius: $base-radius; -} - -%img-caption { - + em { - display: block; - text-align: center; - font-style: normal; - font-size: 80%; - padding: 0; - color: #6d6c6c; - } -} - -%sidebar-links { - color: var(--sidebar-muted-color); - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -%text-clip { - display: -webkit-box; - overflow: hidden; - text-overflow: ellipsis; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; -} - -%text-highlight { - color: var(--text-muted-hightlight-color); - font-weight: 600; -} - -%text-sm { - font-size: 0.85rem; -} - -%text-xs { - font-size: 0.8rem; -} - -%sup-fn-target { - &:target { - background-color: var(--footnote-target-bg); - width: -moz-fit-content; - width: -webkit-fit-content; - width: fit-content; - transition: background-color 1.75s ease-in-out; - } -} - -/* ---------- scss mixin --------- */ - -@mixin mt-mb($value) { - margin-top: $value; - margin-bottom: $value; -} - -@mixin ml-mr($value) { - margin-left: $value; - margin-right: $value; -} - -@mixin pt-pb($val) { - padding-top: $val; - padding-bottom: $val; -} - -@mixin pl-pr($val) { - padding-left: $val; - padding-right: $val; -} - -@mixin placeholder { - color: var(--text-muted-color) !important; -} - -@mixin placeholder-focus { - opacity: 0.6; -} - -@mixin label($font-size: 1rem, $font-weight: 600, $color: var(--label-color)) { - color: $color; - font-size: $font-size; - font-weight: $font-weight; -} - -@mixin align-center { - position: relative; - left: 50%; - transform: translateX(-50%); -} - -@mixin prompt($type, $fa-content, $fa-style: 'solid') { - &.prompt-#{$type} { - background-color: var(--prompt-#{$type}-bg); - - &::before { - content: $fa-content; - color: var(--prompt-#{$type}-icon-color); - font: var(--fa-font-#{$fa-style}); - } - } -} diff --git a/_sass/addon/syntax.scss b/_sass/addon/syntax.scss deleted file mode 100644 index 68796f2..0000000 --- a/_sass/addon/syntax.scss +++ /dev/null @@ -1,292 +0,0 @@ -/* -* The syntax highlight. -*/ - -@import 'colors/syntax-light'; -@import 'colors/syntax-dark'; - -html { - @media (prefers-color-scheme: light) { - &:not([data-mode]), - &[data-mode='light'] { - @include light-syntax; - } - - &[data-mode='dark'] { - @include dark-syntax; - } - } - - @media (prefers-color-scheme: dark) { - &:not([data-mode]), - &[data-mode='dark'] { - @include dark-syntax; - } - - &[data-mode='light'] { - @include light-syntax; - } - } -} - -/* -- code snippets -- */ - -%code-snippet-bg { - background-color: var(--highlight-bg-color); -} - -%code-snippet-padding { - padding-left: 1rem; - padding-right: 1.5rem; -} - -.highlighter-rouge { - color: var(--highlighter-rouge-color); - margin-top: 0.5rem; - margin-bottom: 1.2em; /* Override BS Inline-code style */ -} - -.highlight { - @extend %rounded; - @extend %code-snippet-bg; - - @at-root figure#{&} { - @extend %code-snippet-bg; - } - - overflow: auto; - padding-bottom: 0.75rem; - - pre { - margin-bottom: 0; - font-size: $code-font-size; - line-height: 1.4rem; - word-wrap: normal; /* Fixed Safari overflow-x */ - } - - table { - td { - &:first-child { - display: inline-block; - margin-left: 1rem; - margin-right: 0.75rem; - } - - &:last-child { - padding-right: 2rem !important; - } - - pre { - overflow: visible; /* Fixed iOS safari overflow-x */ - word-break: normal; /* Fixed iOS safari linenos code break */ - } - } - } - - .lineno { - text-align: right; - color: var(--highlight-lineno-color); - -webkit-user-select: none; - -moz-user-select: none; - -o-user-select: none; - -ms-user-select: none; - user-select: none; - } -} /* .highlight */ - -code { - -webkit-hyphens: none; - -ms-hyphens: none; - hyphens: none; - color: var(--code-color); - - &.highlighter-rouge { - font-size: $code-font-size; - padding: 3px 5px; - word-break: break-word; - border-radius: 4px; - background-color: var(--inline-code-bg); - } - - &.filepath { - background-color: inherit; - color: var(--filepath-text-color); - font-weight: 600; - padding: 0; - } - - a > &.highlighter-rouge { - padding-bottom: 0; /* show link's underlinke */ - color: inherit; - } - - a:hover > &.highlighter-rouge { - border-bottom: none; - } - - blockquote & { - color: inherit; - } -} - -td.rouge-code { - @extend %code-snippet-padding; - - /* - Prevent some browser extends from - changing the URL string of code block. - */ - a { - color: inherit !important; - border-bottom: none !important; - pointer-events: none; - } -} - -div[class^='language-'] { - @extend %rounded; - @extend %code-snippet-bg; - - box-shadow: var(--language-border-color) 0 0 0 1px; - - .content > & { - @include ml-mr(-1rem); - - border-radius: 0; - } - - .highlight { - border-top-left-radius: 0; - border-top-right-radius: 0; - } -} - -/* Hide line numbers for default, console, and terminal code snippets */ -div { - &.nolineno, - &.language-plaintext, - &.language-console, - &.language-terminal { - td:first-child { - padding: 0 !important; - margin-right: 0; - - .lineno { - display: none; - } - } - } -} - -.code-header { - @extend %no-cursor; - - display: flex; - justify-content: space-between; - align-items: center; - height: $code-header-height; - margin-left: 0.75rem; - margin-right: 0.25rem; - - /* the label block */ - span { - line-height: $code-header-height; - - /* label icon */ - i { - font-size: 1rem; - width: $code-icon-width; - color: var(--code-header-icon-color); - - &.small { - font-size: 70%; - } - } - - @at-root [file] #{&} > i { - position: relative; - top: 1px; /* center the file icon */ - } - - /* label text */ - &::after { - content: attr(data-label-text); - font-size: 0.85rem; - font-weight: 600; - color: var(--code-header-text-color); - } - } - - /* clipboard */ - button { - @extend %cursor-pointer; - @extend %rounded; - - border: 1px solid transparent; - height: $code-header-height; - width: $code-header-height; - padding: 0; - background-color: inherit; - - i { - color: var(--code-header-icon-color); - } - - &[timeout] { - &:hover { - border-color: var(--clipboard-checked-color); - } - - i { - color: var(--clipboard-checked-color); - } - } - - &:focus { - outline: none; - } - - &:not([timeout]):hover { - background-color: rgba(128, 128, 128, 0.37); - - i { - color: white; - } - } - } -} - -@media all and (min-width: 576px) { - div[class^='language-'] { - .content > & { - @include ml-mr(0); - - border-radius: $base-radius; - } - - .code-header { - @include ml-mr(0); - - $dot-margin: 1rem; - - &::before { - content: ''; - display: inline-block; - margin-left: $dot-margin; - width: $code-dot-size; - height: $code-dot-size; - border-radius: 50%; - background-color: var(--code-header-muted-color); - box-shadow: ($code-dot-size + $code-dot-gap) 0 0 - var(--code-header-muted-color), - ($code-dot-size + $code-dot-gap) * 2 0 0 - var(--code-header-muted-color); - } - - span { - // center the text of label - margin-left: calc(($dot-margin + $code-dot-size) / 2 * -1); - } - } - } -} diff --git a/_sass/addon/variables.scss b/_sass/addon/variables.scss deleted file mode 100644 index 8924a00..0000000 --- a/_sass/addon/variables.scss +++ /dev/null @@ -1,33 +0,0 @@ -/* - * The SCSS variables - */ - -/* sidebar */ - -$sidebar-width: 260px !default; /* the basic width */ -$sidebar-width-large: 300px !default; /* screen width: >= 1650px */ -$sb-btn-gap: 0.8rem !default; -$sb-btn-gap-lg: 1rem !default; - -/* other framework sizes */ - -$topbar-height: 3rem !default; -$search-max-width: 200px !default; -$footer-height: 5rem !default; -$footer-height-large: 6rem !default; /* screen width: < 850px */ -$main-content-max-width: 1250px !default; -$base-radius: 0.625rem !default; -$back2top-size: 2.75rem !default; - -/* syntax highlight */ - -$code-font-size: 0.85rem !default; -$code-header-height: 2.25rem !default; -$code-dot-size: 0.75rem !default; -$code-dot-gap: 0.5rem !default; -$code-icon-width: 1.75rem !default; - -/* fonts */ - -$font-family-base: 'Source Sans Pro', 'Microsoft Yahei', sans-serif !default; -$font-family-heading: Lato, 'Microsoft Yahei', sans-serif !default; diff --git a/_sass/colors/syntax-dark.scss b/_sass/colors/syntax-dark.scss deleted file mode 100644 index d898c65..0000000 --- a/_sass/colors/syntax-dark.scss +++ /dev/null @@ -1,164 +0,0 @@ -/* - * The syntax dark mode styles. - */ - -@mixin dark-syntax { - --language-border-color: #2d2d2d; - --highlight-bg-color: #151515; - --highlighter-rouge-color: #c9def1; - --highlight-lineno-color: #808080; - --inline-code-bg: #323238; - --code-color: #b0b0b0; - --code-header-text-color: #6a6a6a; - --code-header-muted-color: #353535; - --code-header-icon-color: #565656; - --clipboard-checked-color: #2bcc2b; - --filepath-text-color: #cacaca; - - .highlight .gp { - color: #87939d; - } - - /* --- Syntax highlight theme from `rougify style base16.dark` --- */ - - .highlight table td { - padding: 5px; - } - - .highlight table pre { - margin: 0; - } - - .highlight, - .highlight .w { - color: #d0d0d0; - background-color: #151515; - } - - .highlight .err { - color: #151515; - background-color: #ac4142; - } - - .highlight .c, - .highlight .ch, - .highlight .cd, - .highlight .cm, - .highlight .cpf, - .highlight .c1, - .highlight .cs { - color: #848484; - } - - .highlight .cp { - color: #f4bf75; - } - - .highlight .nt { - color: #f4bf75; - } - - .highlight .o, - .highlight .ow { - color: #d0d0d0; - } - - .highlight .p, - .highlight .pi { - color: #d0d0d0; - } - - .highlight .gi { - color: #90a959; - } - - .highlight .gd { - color: #f08a8b; - background-color: #320000; - } - - .highlight .gh { - color: #6a9fb5; - background-color: #151515; - font-weight: bold; - } - - .highlight .k, - .highlight .kn, - .highlight .kp, - .highlight .kr, - .highlight .kv { - color: #aa759f; - } - - .highlight .kc { - color: #d28445; - } - - .highlight .kt { - color: #d28445; - } - - .highlight .kd { - color: #d28445; - } - - .highlight .s, - .highlight .sb, - .highlight .sc, - .highlight .dl, - .highlight .sd, - .highlight .s2, - .highlight .sh, - .highlight .sx, - .highlight .s1 { - color: #90a959; - } - - .highlight .sa { - color: #aa759f; - } - - .highlight .sr { - color: #75b5aa; - } - - .highlight .si { - color: #b76d45; - } - - .highlight .se { - color: #b76d45; - } - - .highlight .nn { - color: #f4bf75; - } - - .highlight .nc { - color: #f4bf75; - } - - .highlight .no { - color: #f4bf75; - } - - .highlight .na { - color: #6a9fb5; - } - - .highlight .m, - .highlight .mb, - .highlight .mf, - .highlight .mh, - .highlight .mi, - .highlight .il, - .highlight .mo, - .highlight .mx { - color: #90a959; - } - - .highlight .ss { - color: #90a959; - } -} diff --git a/_sass/colors/syntax-light.scss b/_sass/colors/syntax-light.scss deleted file mode 100644 index 6562c76..0000000 --- a/_sass/colors/syntax-light.scss +++ /dev/null @@ -1,214 +0,0 @@ -/* - * The syntax light mode code snippet colors. - */ - -@mixin light-syntax { - /* --- custom light colors --- */ - --language-border-color: #ececec; - --highlight-bg-color: #f6f8fa; - --highlighter-rouge-color: #3f596f; - --highlight-lineno-color: #9e9e9e; - --inline-code-bg: #f6f6f7; - --code-color: #3a3a3a; - --code-header-text-color: #a3a3a3; - --code-header-muted-color: #e5e5e5; - --code-header-icon-color: #c9c8c8; - --clipboard-checked-color: #43c743; - - [class^='prompt-'] { - --inline-code-bg: #fbfafa; - } - - /* --- Syntax highlight theme from `rougify style github` --- */ - - .highlight table td { - padding: 5px; - } - - .highlight table pre { - margin: 0; - } - - .highlight, - .highlight .w { - color: #24292f; - background-color: #f6f8fa; - } - - .highlight .k, - .highlight .kd, - .highlight .kn, - .highlight .kp, - .highlight .kr, - .highlight .kt, - .highlight .kv { - color: #cf222e; - } - - .highlight .gr { - color: #f6f8fa; - } - - .highlight .gd { - color: #82071e; - background-color: #ffebe9; - } - - .highlight .nb { - color: #953800; - } - - .highlight .nc { - color: #953800; - } - - .highlight .no { - color: #953800; - } - - .highlight .nn { - color: #953800; - } - - .highlight .sr { - color: #116329; - } - - .highlight .na { - color: #116329; - } - - .highlight .nt { - color: #116329; - } - - .highlight .gi { - color: #116329; - background-color: #dafbe1; - } - - .highlight .kc { - color: #0550ae; - } - - .highlight .l, - .highlight .ld, - .highlight .m, - .highlight .mb, - .highlight .mf, - .highlight .mh, - .highlight .mi, - .highlight .il, - .highlight .mo, - .highlight .mx { - color: #0550ae; - } - - .highlight .sb { - color: #0550ae; - } - - .highlight .bp { - color: #0550ae; - } - - .highlight .ne { - color: #0550ae; - } - - .highlight .nl { - color: #0550ae; - } - - .highlight .py { - color: #0550ae; - } - - .highlight .nv, - .highlight .vc, - .highlight .vg, - .highlight .vi, - .highlight .vm { - color: #0550ae; - } - - .highlight .o, - .highlight .ow { - color: #0550ae; - } - - .highlight .gh { - color: #0550ae; - font-weight: bold; - } - - .highlight .gu { - color: #0550ae; - font-weight: bold; - } - - .highlight .s, - .highlight .sa, - .highlight .sc, - .highlight .dl, - .highlight .sd, - .highlight .s2, - .highlight .se, - .highlight .sh, - .highlight .sx, - .highlight .s1, - .highlight .ss { - color: #0a3069; - } - - .highlight .nd { - color: #8250df; - } - - .highlight .nf, - .highlight .fm { - color: #8250df; - } - - .highlight .err { - color: #f6f8fa; - background-color: #82071e; - } - - .highlight .c, - .highlight .ch, - .highlight .cd, - .highlight .cm, - .highlight .cp, - .highlight .cpf, - .highlight .c1, - .highlight .cs { - color: #68717a; - } - - .highlight .gl { - color: #68717a; - } - - .highlight .gt { - color: #68717a; - } - - .highlight .ni { - color: #24292f; - } - - .highlight .si { - color: #24292f; - } - - .highlight .ge { - color: #24292f; - font-style: italic; - } - - .highlight .gs { - color: #24292f; - font-weight: bold; - } -} /* light-syntax */ diff --git a/_sass/colors/typography-dark.scss b/_sass/colors/typography-dark.scss deleted file mode 100644 index 1ccfa03..0000000 --- a/_sass/colors/typography-dark.scss +++ /dev/null @@ -1,151 +0,0 @@ -/* - * The main dark mode styles - */ - -@mixin dark-scheme { - /* Framework color */ - --main-bg: rgb(27, 27, 30); - --mask-bg: rgb(68, 69, 70); - --main-border-color: rgb(44, 45, 45); - - /* Common color */ - --text-color: rgb(175, 176, 177); - --text-muted-color: #868686; - --text-muted-hightlight-color: #aeaeae; - --heading-color: #cccccc; - --label-color: #a7a7a7; - --blockquote-border-color: rgb(66, 66, 66); - --blockquote-text-color: #868686; - --link-color: rgb(138, 180, 248); - --link-underline-color: rgb(82, 108, 150); - --button-bg: #1e1e1e; - --btn-border-color: #2e2f31; - --btn-backtotop-color: var(--text-color); - --btn-backtotop-border-color: #212122; - --btn-box-shadow: var(--main-bg); - --card-header-bg: #292929; - --checkbox-color: rgb(118, 120, 121); - --checkbox-checked-color: var(--link-color); - --img-bg: radial-gradient(circle, rgb(22, 22, 24) 0%, rgb(32, 32, 32) 100%); - --shimmer-bg: linear-gradient( - 90deg, - rgba(255, 255, 255, 0) 0%, - rgba(58, 55, 55, 0.4) 50%, - rgba(255, 255, 255, 0) 100% - ); - - /* Sidebar */ - --site-title-color: #717070; - --site-subtitle-color: #868686; - --sidebar-bg: #1e1e1e; - --sidebar-border-color: #292929; - --sidebar-muted-color: #868686; - --sidebar-active-color: rgb(255, 255, 255, 0.95); - --sidebar-hover-bg: #262626; - --sidebar-btn-bg: #232328; - --sidebar-btn-color: #787878; - --avatar-border-color: rgb(206, 206, 206, 0.9); - - /* Topbar */ - --topbar-bg: rgb(27, 27, 30, 0.64); - --topbar-text-color: var(--text-color); - --search-border-color: rgb(55, 55, 55); - --search-icon-color: rgb(100, 102, 105); - --input-focus-border-color: rgb(112, 114, 115); - - /* Home page */ - --post-list-text-color: rgb(175, 176, 177); - --btn-patinator-text-color: var(--text-color); - --btn-paginator-hover-color: #2e2e2e; - - /* Posts */ - --toc-highlight: rgb(116, 178, 243); - --tag-hover: rgb(43, 56, 62); - --tb-odd-bg: #252526; /* odd rows of the posts' table */ - --tb-even-bg: rgb(31, 31, 34); /* even rows of the posts' table */ - --tb-border-color: var(--tb-odd-bg); - --footnote-target-bg: rgb(63, 81, 181); - --btn-share-color: #6c757d; - --btn-share-hover-color: #bfc1ca; - --card-bg: #1e1e1e; - --card-hovor-bg: #464d51; - --card-shadow: rgb(21, 21, 21, 0.72) 0 6px 18px 0, - rgb(137, 135, 135, 0.24) 0 0 0 1px; - --kbd-wrap-color: #6a6a6a; - --kbd-text-color: #d3d3d3; - --kbd-bg-color: #242424; - --prompt-text-color: rgb(216, 212, 212, 0.75); - --prompt-tip-bg: rgb(22, 60, 36, 0.64); - --prompt-tip-icon-color: rgb(15, 164, 15, 0.81); - --prompt-info-bg: rgb(7, 59, 104, 0.8); - --prompt-info-icon-color: #0075d1; - --prompt-warning-bg: rgb(90, 69, 3, 0.88); - --prompt-warning-icon-color: rgb(255, 165, 0, 0.8); - --prompt-danger-bg: rgb(86, 28, 8, 0.8); - --prompt-danger-icon-color: #cd0202; - - /* tags */ - --tag-border: rgb(59, 79, 88); - --tag-shadow: rgb(32, 33, 33); - --dash-color: rgb(63, 65, 68); - --search-tag-bg: #292828; - - /* categories */ - --categories-border: rgb(64, 66, 69, 0.5); - --categories-hover-bg: rgb(73, 75, 76); - --categories-icon-hover-color: white; - - /* archives */ - --timeline-node-bg: rgb(150, 152, 156); - --timeline-color: rgb(63, 65, 68); - --timeline-year-dot-color: var(--timeline-color); - - .light { - display: none; - } - - hr { - border-color: var(--main-border-color); - } - - /* categories */ - .categories.card, - .list-group-item { - background-color: var(--card-bg); - } - - .categories { - .card-header { - background-color: var(--card-header-bg); - } - - .list-group-item { - border-left: none; - border-right: none; - padding-left: 2rem; - border-color: var(--categories-border); - - &:last-child { - border-bottom-color: var(--card-bg); - } - } - } - - #archives li:nth-child(odd) { - background-image: linear-gradient( - to left, - rgb(26, 26, 30), - rgb(39, 39, 45), - rgb(39, 39, 45), - rgb(39, 39, 45), - rgb(26, 26, 30) - ); - } - - color-scheme: dark; - - /* stylelint-disable-next-line selector-id-pattern */ - #disqus_thread { - color-scheme: none; - } -} /* dark-scheme */ diff --git a/_sass/colors/typography-light.scss b/_sass/colors/typography-light.scss deleted file mode 100644 index 11f052c..0000000 --- a/_sass/colors/typography-light.scss +++ /dev/null @@ -1,112 +0,0 @@ -/* - * The syntax light mode typography colors - */ - -@mixin light-scheme { - /* Framework color */ - --main-bg: white; - --mask-bg: #c1c3c5; - --main-border-color: #f3f3f3; - - /* Common color */ - --text-color: #34343c; - --text-muted-color: #757575; - --text-muted-hightlight-color: inherit; - --heading-color: #2a2a2a; - --label-color: #585858; - --blockquote-border-color: #eeeeee; - --blockquote-text-color: #757575; - --link-color: #0056b2; - --link-underline-color: #dee2e6; - --button-bg: #ffffff; - --btn-border-color: #e9ecef; - --btn-backtotop-color: #686868; - --btn-backtotop-border-color: #f1f1f1; - --btn-box-shadow: #eaeaea; - --checkbox-color: #c5c5c5; - --checkbox-checked-color: #07a8f7; - --img-bg: radial-gradient( - circle, - rgb(255, 255, 255) 0%, - rgb(239, 239, 239) 100% - ); - --shimmer-bg: linear-gradient( - 90deg, - rgba(250, 250, 250, 0) 0%, - rgba(232, 230, 230, 1) 50%, - rgba(250, 250, 250, 0) 100% - ); - - /* Sidebar */ - --site-title-color: rgb(113, 113, 113); - --site-subtitle-color: #717171; - --sidebar-bg: #f6f8fa; - --sidebar-border-color: #efefef; - --sidebar-muted-color: #545454; - --sidebar-active-color: #1d1d1d; - --sidebar-hover-bg: rgb(223, 233, 241, 0.64); - --sidebar-btn-bg: white; - --sidebar-btn-color: #8e8e8e; - --avatar-border-color: white; - - /* Topbar */ - --topbar-bg: rgb(255, 255, 255, 0.7); - --topbar-text-color: rgb(78, 78, 78); - --search-border-color: rgb(240, 240, 240); - --search-icon-color: #c2c6cc; - --input-focus-border-color: #b8b8b8; - - /* Home page */ - --post-list-text-color: dimgray; - --btn-patinator-text-color: #555555; - --btn-paginator-hover-color: var(--sidebar-bg); - - /* Posts */ - --toc-highlight: #0550ae; - --btn-share-color: gray; - --btn-share-hover-color: #0d6efd; - --card-bg: white; - --card-hovor-bg: #e2e2e2; - --card-shadow: rgb(104, 104, 104, 0.05) 0 2px 6px 0, - rgba(211, 209, 209, 0.15) 0 0 0 1px; - --footnote-target-bg: lightcyan; - --tb-odd-bg: #fbfcfd; - --tb-border-color: #eaeaea; - --dash-color: silver; - --kbd-wrap-color: #bdbdbd; - --kbd-text-color: var(--text-color); - --kbd-bg-color: white; - --prompt-text-color: rgb(46, 46, 46, 0.77); - --prompt-tip-bg: rgb(123, 247, 144, 0.2); - --prompt-tip-icon-color: #03b303; - --prompt-info-bg: #e1f5fe; - --prompt-info-icon-color: #0070cb; - --prompt-warning-bg: rgb(255, 243, 205); - --prompt-warning-icon-color: #ef9c03; - --prompt-danger-bg: rgb(248, 215, 218, 0.56); - --prompt-danger-icon-color: #df3c30; - - /* Tags */ - --tag-border: #dee2e6; - --tag-shadow: var(--btn-border-color); - --tag-hover: rgb(222, 226, 230); - --search-tag-bg: #f8f9fa; - - [class^='prompt-'] { - --link-underline-color: rgb(219, 216, 216); - } - - .dark { - display: none; - } - - /* Categories */ - --categories-border: rgba(0, 0, 0, 0.125); - --categories-hover-bg: var(--btn-border-color); - --categories-icon-hover-color: darkslategray; - - /* Archive */ - --timeline-color: rgba(0, 0, 0, 0.075); - --timeline-node-bg: #c2c6cc; - --timeline-year-dot-color: #ffffff; -} /* light-scheme */ diff --git a/_sass/layout/archives.scss b/_sass/layout/archives.scss deleted file mode 100644 index 3a2e86b..0000000 --- a/_sass/layout/archives.scss +++ /dev/null @@ -1,144 +0,0 @@ -/* - Style for Archives -*/ - -#archives { - letter-spacing: 0.03rem; - - $timeline-width: 4px; - - %timeline { - content: ''; - width: $timeline-width; - position: relative; - float: left; - background-color: var(--timeline-color); - } - - .year { - height: 3.5rem; - font-size: 1.5rem; - position: relative; - left: 2px; - margin-left: -$timeline-width; - - &::before { - @extend %timeline; - - height: 72px; - left: 79px; - bottom: 16px; - } - - &:first-child::before { - @extend %timeline; - - height: 32px; - top: 24px; - } - - /* Year dot */ - &::after { - content: ''; - display: inline-block; - position: relative; - border-radius: 50%; - width: 12px; - height: 12px; - left: 21.5px; - border: 3px solid; - background-color: var(--timeline-year-dot-color); - border-color: var(--timeline-node-bg); - box-shadow: 0 0 2px 0 #c2c6cc; - z-index: 1; - } - } - - ul { - li { - font-size: 1.1rem; - line-height: 3rem; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - - &:nth-child(odd) { - background-color: var(--main-bg, #ffffff); - background-image: linear-gradient( - to left, - #ffffff, - #fbfbfb, - #fbfbfb, - #fbfbfb, - #ffffff - ); - } - - &::before { - @extend %timeline; - - top: 0; - left: 77px; - height: 3.1rem; - } - } - - &:last-child li:last-child::before { - height: 1.5rem; - } - } /* #archives ul */ - - .date { - white-space: nowrap; - display: inline-block; - position: relative; - right: 0.5rem; - - &.month { - width: 1.4rem; - text-align: center; - } - - &.day { - font-size: 85%; - font-family: Lato, sans-serif; - } - } - - a { - /* post title in Archvies */ - margin-left: 2.5rem; - position: relative; - top: 0.1rem; - - &:hover { - border-bottom: none; - } - - &::before { - /* the dot before post title */ - content: ''; - display: inline-block; - position: relative; - border-radius: 50%; - width: 8px; - height: 8px; - float: left; - top: 1.35rem; - left: 71px; - background-color: var(--timeline-node-bg); - box-shadow: 0 0 3px 0 #c2c6cc; - z-index: 1; - } - } -} /* #archives */ - -@media all and (max-width: 576px) { - #archives { - margin-top: -1rem; - - ul { - letter-spacing: 0; - } - } -} diff --git a/_sass/layout/categories.scss b/_sass/layout/categories.scss deleted file mode 100644 index 330d3d3..0000000 --- a/_sass/layout/categories.scss +++ /dev/null @@ -1,83 +0,0 @@ -/* - Style for Tab Categories -*/ - -%category-icon-color { - color: gray; -} - -.categories { - margin-bottom: 2rem; - border-color: var(--categories-border); - - &.card, - .list-group { - @extend %rounded; - } - - .card-header { - $radius: calc($base-radius - 1px); - - padding: 0.75rem; - border-radius: $radius; - border-bottom: 0; - - &.hide-border-bottom { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - } - } - - i { - @extend %category-icon-color; - - font-size: 86%; /* fontawesome icons */ - } - - .list-group-item { - border-left: none; - border-right: none; - padding-left: 2rem; - - &:first-child { - border-top-left-radius: 0; - border-top-right-radius: 0; - } - - &:last-child { - border-bottom: 0; - } - } -} /* .categories */ - -.category-trigger { - width: 1.7rem; - height: 1.7rem; - border-radius: 50%; - text-align: center; - color: #6c757d !important; - - i { - position: relative; - height: 0.7rem; - width: 1rem; - transition: transform 300ms ease; - } - - &:hover { - i { - color: var(--categories-icon-hover-color); - } - } -} - -/* only works on desktop */ -@media (hover: hover) { - .category-trigger:hover { - background-color: var(--categories-hover-bg); - } -} - -.rotate { - transform: rotate(-90deg); -} diff --git a/_sass/layout/category-tag.scss b/_sass/layout/category-tag.scss deleted file mode 100644 index 9e43a91..0000000 --- a/_sass/layout/category-tag.scss +++ /dev/null @@ -1,72 +0,0 @@ -/* - Style for page Category and Tag -*/ - -.dash { - margin: 0 0.5rem 0.6rem 0.5rem; - border-bottom: 2px dotted var(--dash-color); -} - -#page-category, -#page-tag { - ul > li { - line-height: 1.5rem; - padding: 0.6rem 0; - - /* dot */ - &::before { - background: #999999; - width: 5px; - height: 5px; - border-radius: 50%; - display: block; - content: ''; - position: relative; - top: 0.6rem; - margin-right: 0.5rem; - } - - /* post's title */ - > a { - @extend %no-bottom-border; - - font-size: 1.1rem; - } - } -} - -/* tag icon */ -#page-tag h1 > i { - font-size: 1.2rem; -} - -#page-category h1 > i { - font-size: 1.25rem; -} - -#page-category, -#page-tag, -#access-lastmod { - a:hover { - @extend %link-hover; - - margin-bottom: -1px; /* Avoid jumping */ - } -} - -@media all and (max-width: 576px) { - #page-category, - #page-tag { - ul > li { - &::before { - margin: 0 0.5rem; - } - - > a { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - } - } - } -} diff --git a/_sass/layout/home.scss b/_sass/layout/home.scss deleted file mode 100644 index 7f9fd2e..0000000 --- a/_sass/layout/home.scss +++ /dev/null @@ -1,189 +0,0 @@ -/* - Style for Homepage -*/ - -#post-list { - margin-top: 2rem; - - .card-wrapper { - &:hover { - text-decoration: none; - } - - &:not(:last-child) { - margin-bottom: 1.25rem; - } - } - - .card { - border: 0; - background: none; - - %img-radius { - border-radius: $base-radius $base-radius 0 0; - } - - .preview-img { - @extend %img-radius; - - img { - @extend %img-radius; - } - } - - .card-body { - height: 100%; - padding: 1rem; - - .card-title { - @extend %text-clip; - - color: var(--heading-color) !important; - font-size: 1.25rem; - } - - %muted { - color: var(--text-muted-color) !important; - } - - .card-text.content { - @extend %muted; - - p { - @extend %text-clip; - - line-height: 1.5; - margin: 0; - } - } - - .post-meta { - @extend %muted; - - i { - &:not(:first-child) { - margin-left: 1.5rem; - } - } - - em { - @extend %normal-font-style; - - color: inherit; - } - - > div:first-child { - display: block; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - } - } - } - } -} /* #post-list */ - -.pagination { - color: var(--text-color); - font-family: Lato, sans-serif; - justify-content: space-evenly; - - a:hover { - text-decoration: none; - } - - .page-item { - .page-link { - color: var(--btn-patinator-text-color); - padding: 0 0.6rem; - display: -webkit-box; - -webkit-box-pack: center; - -webkit-box-align: center; - border-radius: 0.5rem; - border: 0; - background-color: inherit; - } - - &.active { - .page-link { - background-color: var(--btn-paginator-hover-color); - } - } - - &:not(.active) { - .page-link { - &:hover { - box-shadow: inset var(--btn-border-color) 0 0 0 1px; - } - } - } - - &.disabled { - cursor: not-allowed; - - .page-link { - color: rgba(108, 117, 125, 0.57); - } - } - } /* .page-item */ -} /* .pagination */ - -/* Tablet */ -@media all and (min-width: 768px) { - %img-radius { - border-radius: 0 $base-radius $base-radius 0; - } - - #post-list { - .card { - .card-body { - padding: 1.75rem 1.75rem 1.25rem 1.75rem; - - .card-text { - display: inherit !important; - } - - .post-meta { - i { - &:not(:first-child) { - margin-left: 1.75rem; - } - } - } - } - } - } -} - -/* Hide SideBar and TOC */ -@media all and (max-width: 830px) { - .pagination { - .page-item { - &:not(:first-child):not(:last-child) { - display: none; - } - } - } -} - -/* Sidebar is visible */ -@media all and (min-width: 831px) { - #post-list { - margin-top: 2.5rem; - } - - .pagination { - font-size: 0.85rem; - justify-content: center; - - .page-item { - &:not(:last-child) { - margin-right: 0.7rem; - } - } - - .page-index { - display: none; - } - } /* .pagination */ -} diff --git a/_sass/layout/post.scss b/_sass/layout/post.scss deleted file mode 100644 index efbde82..0000000 --- a/_sass/layout/post.scss +++ /dev/null @@ -1,357 +0,0 @@ -/* - Post-specific style -*/ - -%btn-post-nav { - width: 50%; - position: relative; - border-color: var(--btn-border-color); -} - -@mixin dot($pl: 0.25rem, $pr: 0.25rem) { - content: '\2022'; - padding-left: $pl; - padding-right: $pr; -} - -h1 + .post-meta { - > span + span::before { - @include dot; - } - - em, - time { - @extend %text-highlight; - } - - em { - a { - color: inherit; - } - } -} - -.post-tail-wrapper { - @extend %text-sm; - - margin-top: 6rem; - border-bottom: 1px double var(--main-border-color); - - .license-wrapper { - line-height: 1.2rem; - - > a { - @extend %text-highlight; - - &:hover { - @extend %link-hover; - } - } - - span:last-child { - @extend %text-sm; - } - } /* .license-wrapper */ - - .post-meta a:not(:hover) { - @extend %link-underline; - } - - .share-wrapper { - vertical-align: middle; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - - %icon-size { - font-size: 1.125rem; - } - - .share-icons { - display: flex; - - i { - color: var(--btn-share-color); - - @extend %icon-size; - } - - > * { - @extend %icon-size; - - margin-left: 0.5rem; - - &:hover { - i { - @extend %btn-share-hovor; - } - } - } - - button { - padding: 0; - border: none; - line-height: inherit; - - @extend %cursor-pointer; - } - } /* .share-icons */ - } /* .share-wrapper */ -} - -.share-mastodon { - /* See: https://github.com/justinribeiro/share-to-mastodon#properties */ - --wc-stm-font-family: $font-family-base; - --wc-stm-dialog-background-color: var(--card-bg); - --wc-stm-form-button-border: 1px solid var(--btn-border-color); - --wc-stm-form-submit-background-color: var(--sidebar-btn-bg); - --wc-stm-form-cancel-background-color: var(--sidebar-btn-bg); - --wc-stm-form-button-background-color-hover: #007bff; - --wc-stm-form-button-color-hover: white; - - font-size: 1rem; -} - -.post-tags { - line-height: 2rem; - - .post-tag { - &:hover { - @extend %link-hover; - @extend %tag-hover; - @extend %no-bottom-border; - } - } -} - -.post-navigation { - .btn { - @extend %btn-post-nav; - - &:not(:hover) { - color: var(--link-color); - } - - &:hover { - &:not(.disabled)::before { - color: whitesmoke; - } - } - - &.disabled { - @extend %btn-post-nav; - - pointer-events: auto; - cursor: not-allowed; - background: none; - color: gray; - } - - &.btn-outline-primary.disabled:focus { - box-shadow: none; - } - - &::before { - color: var(--text-muted-color); - font-size: 0.65rem; - text-transform: uppercase; - content: attr(aria-label); - } - - &:first-child { - border-radius: $base-radius 0 0 $base-radius; - left: 0.5px; - } - - &:last-child { - border-radius: 0 $base-radius $base-radius 0; - right: 0.5px; - } - } - - p { - font-size: 1.1rem; - line-height: 1.5rem; - margin-top: 0.3rem; - white-space: normal; - } -} /* .post-navigation */ - -@media (hover: hover) { - .post-navigation { - .btn, - .btn::before { - transition: all 0.35s ease-in-out; - } - } -} - -@-webkit-keyframes fade-up { - from { - opacity: 0; - position: relative; - top: 2rem; - } - - to { - opacity: 1; - position: relative; - top: 0; - } -} - -@keyframes fade-up { - from { - opacity: 0; - position: relative; - top: 2rem; - } - - to { - opacity: 1; - position: relative; - top: 0; - } -} - -#toc-wrapper { - border-left: 1px solid rgba(158, 158, 158, 0.17); - position: -webkit-sticky; - position: sticky; - top: 4rem; - transition: top 0.2s ease-in-out; - -webkit-animation: fade-up 0.8s; - animation: fade-up 0.8s; - - ul { - list-style: none; - font-size: 0.85rem; - line-height: 1.25; - padding-left: 0; - - li { - &:not(:last-child) { - margin: 0.4rem 0; - } - - a { - padding: 0.2rem 0 0.2rem 1.25rem; - } - } - - /* Overwrite TOC plugin style */ - - .toc-link { - display: block; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - - &:hover { - color: var(--toc-highlight); - text-decoration: none; - } - - &::before { - display: none; - } - } - - .is-active-link { - color: var(--toc-highlight) !important; - font-weight: 600; - - &::before { - display: inline-block; - width: 1px; - left: -1px; - height: 1.25rem; - background-color: var(--toc-highlight) !important; - } - } - - ul { - padding-left: 0.75rem; - } - } -} - -/* --- Related Posts --- */ - -#related-posts { - > h3 { - @include label(1.1rem, 600); - } - - time { - @extend %normal-font-style; - @extend %text-xs; - - color: var(--text-muted-color); - } - - p { - font-size: 0.9rem; - margin-bottom: 0.5rem; - overflow: hidden; - text-overflow: ellipsis; - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - } - - .card { - h4 { - @extend %text-clip; - } - } -} - -/* stylelint-disable-next-line selector-id-pattern */ -#disqus_thread { - min-height: 8.5rem; -} - -.utterances { - max-width: 100%; -} - -%btn-share-hovor { - color: var(--btn-share-hover-color) !important; -} - -.share-label { - @include label(inherit, 400, inherit); - - &::after { - content: ':'; - } -} - -@media all and (max-width: 576px) { - .post-tail-bottom { - flex-wrap: wrap-reverse !important; - - > div:first-child { - width: 100%; - margin-top: 1rem; - } - } -} - -@media all and (max-width: 768px) { - .content > p > img { - max-width: calc(100% + 1rem); - } -} - -/* Hide SideBar and TOC */ -@media all and (max-width: 849px) { - .post-navigation { - padding-left: 0; - padding-right: 0; - margin-left: -0.5rem; - margin-right: -0.5rem; - } -} diff --git a/_sass/layout/tags.scss b/_sass/layout/tags.scss deleted file mode 100644 index 4cf5d3b..0000000 --- a/_sass/layout/tags.scss +++ /dev/null @@ -1,19 +0,0 @@ -/* - Styles for Tab Tags -*/ - -.tag { - border-radius: 0.7em; - padding: 6px 8px 7px; - margin-right: 0.8rem; - line-height: 3rem; - letter-spacing: 0; - border: 1px solid var(--tag-border) !important; - box-shadow: 0 0 3px 0 var(--tag-shadow); - - span { - margin-left: 0.6em; - font-size: 0.7em; - font-family: Oswald, sans-serif; - } -} diff --git a/_sass/main.scss b/_sass/main.scss deleted file mode 100644 index 1c2311d..0000000 --- a/_sass/main.scss +++ /dev/null @@ -1,13 +0,0 @@ -@import 'colors/typography-light'; -@import 'colors/typography-dark'; -@import 'addon/variables'; -@import 'variables-hook'; -@import 'addon/module'; -@import 'addon/syntax'; -@import 'addon/commons'; -@import 'layout/home'; -@import 'layout/post'; -@import 'layout/tags'; -@import 'layout/archives'; -@import 'layout/categories'; -@import 'layout/category-tag'; diff --git a/_sass/variables-hook.scss b/_sass/variables-hook.scss deleted file mode 100644 index f27e0eb..0000000 --- a/_sass/variables-hook.scss +++ /dev/null @@ -1,3 +0,0 @@ -/* - Appending custom SCSS variables will override the default ones in `_sass/addon/variables.scsss` -*/ diff --git a/_tabs/about.md b/_tabs/about.md deleted file mode 100644 index 6dc7e92..0000000 --- a/_tabs/about.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -# the default layout is 'page' -icon: fas fa-info-circle -order: 1 -title: About Me ---- - -
-Software Enthusiast
-FOSS Advocate
-High School Student
-Linux User 🐧
-
- -I love programming, learning new things (about everything but especially about new technologies), open source methodology, reading science-fiction and biking. - -I speak Turkish native and English as intermediate. Also I know basic words in German and Russian. - -I am interested in network technologies, operating systems, artificial intelligence, algorithms, and back-end development - -I also spend my spare time with cybersecurity, web development and playing drum/piano - -Trying to use my own network services as alternative to services of big companies. I don't use any Google, Microsoft, Amazon, Apple services actively. Instead of them, i use my own cloud service (Nextcloud), social media service (Firefish - Fediverse), git service (Forgejo), news service (FreshRSS) ... Tries to be a conscious user in technology world! - -I am Pardus and TEMA Volunteer. - -I have also made internship in TÜBİTAK with Pardus & Liderahenk Team for 2 month, see project - -Using Arch based GNU/Linux distribution CachyOs (with KDE desktop environment and Xorg display server) in daily usage. Still trying random operating systems, GNU/Linux distributions in virtual machine diff --git a/_tabs/archives.md b/_tabs/archives.md deleted file mode 100644 index a33f5d3..0000000 --- a/_tabs/archives.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -layout: archives -icon: fas fa-archive -order: 5 -title: Archives ---- diff --git a/_tabs/categories.md b/_tabs/categories.md deleted file mode 100644 index 895b376..0000000 --- a/_tabs/categories.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -layout: categories -icon: fas fa-stream -order: 3 -title: Categories ---- diff --git a/_tabs/donate.md b/_tabs/donate.md deleted file mode 100644 index ebf7b15..0000000 --- a/_tabs/donate.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -icon: fa-solid fa-mug-hot -order: 6 -title: Buy me a Coffee ☕ -sidebartitle: Donate ---- - -#### I work on free/libre and open source software and offer free services. General hosting and stuff costs around 890₺ (~$30), so feel free to donate in order to help me keep everything up and running! - -| Platform | |ID/Address | -|----------|-|------------| -| IBAN (Papara) | | TR63 0082 9000 0949 1444 3182 51 | -| Papara | | 1444318251 | -| Monero (XMR) | | 44UfcxzafmYBvuBieuZ5kv46AatiPn3XtMMpso9gAAJaGGyo86nfmq8XjtWGcoqWJ3aKHUNNBYHkCCDGS9v9uPvfNBjjhdH | \ No newline at end of file diff --git a/_tabs/now.md b/_tabs/now.md deleted file mode 100644 index 5589b38..0000000 --- a/_tabs/now.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -icon: fa-solid fa-clock -order: 2 -title: What I'm Doing Now -sidebartitle: Now ---- - -
    -
  • 📚 Focusing YKS 🤓
  • -
-

Last Update: 13 April 2024

-

Inspired by:
https://johanv.net/now/
https://nownownow.com/

\ No newline at end of file diff --git a/_tabs/tags.md b/_tabs/tags.md deleted file mode 100644 index 299aaa2..0000000 --- a/_tabs/tags.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -layout: tags -icon: fas fa-tags -order: 4 -title: Tags ---- diff --git a/assets/404.html b/assets/404.html deleted file mode 100644 index 5b46cc8..0000000 --- a/assets/404.html +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: page -title: "404: Page not found" -permalink: /404.html - -redirect_from: - - /norobots/ - - /assets/ - - /posts/ ---- - -{% include lang.html %} - -

{{ site.data.locales[lang].not_found.statment }}

diff --git a/assets/css/jekyll-theme-chirpy.scss b/assets/css/jekyll-theme-chirpy.scss deleted file mode 100644 index 1280b9e..0000000 --- a/assets/css/jekyll-theme-chirpy.scss +++ /dev/null @@ -1,6 +0,0 @@ ---- ---- - -@import 'main'; - -/* append your custom style below */ diff --git a/assets/feed.xml b/assets/feed.xml deleted file mode 100644 index a244a56..0000000 --- a/assets/feed.xml +++ /dev/null @@ -1,61 +0,0 @@ ---- -layout: compress -permalink: /feed.xml -# Atom Feed, reference: https://validator.w3.org/feed/docs/atom.html ---- - -{% capture source %} - - {{ "/" | absolute_url }} - {{ site.title }} - {{ site.description }} - {{ site.time | date_to_xmlschema }} - - {{ site.social.name }} - {{ "/" | absolute_url }} - - - - Jekyll - © {{ 'now' | date: '%Y' }} {{ site.social.name }} - {{ site.baseurl }}/assets/img/favicons/favicon.ico - {{ site.baseurl }}/assets/img/favicons/favicon-96x96.png - -{% for post in site.posts limit: 5 %} - {% assign post_absolute_url = post.url | absolute_url %} - - {{ post.title }} - - {{ post.date | date_to_xmlschema }} - {% if post.last_modified_at %} - {{ post.last_modified_at | date_to_xmlschema }} - {% else %} - {{ post.date | date_to_xmlschema }} - {% endif %} - {{ post_absolute_url }} - - - {{ post.author | default: site.social.name }} - - - {% if post.categories %} - {% for category in post.categories %} - - {% endfor %} - {% endif %} - - {% if post.summary %} - {{ post.summary | strip }} - {% else %} - - {% include no-linenos.html content=post.content %} - {{ content | strip_html | truncate: 400 }} - - {% endif %} - - -{% endfor %} - -{% endcapture %} -{{ source | replace: '&', '&' }} diff --git a/assets/img/favicons/android-chrome-192x192.png b/assets/img/favicons/android-chrome-192x192.png deleted file mode 100644 index a949d2f..0000000 Binary files a/assets/img/favicons/android-chrome-192x192.png and /dev/null differ diff --git a/assets/img/favicons/android-chrome-512x512.png b/assets/img/favicons/android-chrome-512x512.png deleted file mode 100644 index a0cdd95..0000000 Binary files a/assets/img/favicons/android-chrome-512x512.png and /dev/null differ diff --git a/assets/img/favicons/apple-touch-icon.png b/assets/img/favicons/apple-touch-icon.png deleted file mode 100644 index 648097f..0000000 Binary files a/assets/img/favicons/apple-touch-icon.png and /dev/null differ diff --git a/assets/img/favicons/browserconfig.xml b/assets/img/favicons/browserconfig.xml deleted file mode 100644 index a02a5c7..0000000 --- a/assets/img/favicons/browserconfig.xml +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: compress ---- - - - - - - - #da532c - - - diff --git a/assets/img/favicons/favicon-16x16.png b/assets/img/favicons/favicon-16x16.png deleted file mode 100644 index f44237a..0000000 Binary files a/assets/img/favicons/favicon-16x16.png and /dev/null differ diff --git a/assets/img/favicons/favicon-32x32.png b/assets/img/favicons/favicon-32x32.png deleted file mode 100644 index d5d021d..0000000 Binary files a/assets/img/favicons/favicon-32x32.png and /dev/null differ diff --git a/assets/img/favicons/favicon.ico b/assets/img/favicons/favicon.ico deleted file mode 100644 index 5611568..0000000 Binary files a/assets/img/favicons/favicon.ico and /dev/null differ diff --git a/assets/img/favicons/mstile-150x150.png b/assets/img/favicons/mstile-150x150.png deleted file mode 100644 index c0d045e..0000000 Binary files a/assets/img/favicons/mstile-150x150.png and /dev/null differ diff --git a/assets/img/favicons/site.webmanifest b/assets/img/favicons/site.webmanifest deleted file mode 100644 index 03c6113..0000000 --- a/assets/img/favicons/site.webmanifest +++ /dev/null @@ -1,26 +0,0 @@ ---- -layout: compress ---- - -{% assign favicon_path = "/assets/img/favicons" | relative_url %} - -{ - "name": "{{ site.title }}", - "short_name": "{{ site.title }}", - "description": "{{ site.description }}", - "icons": [ - { - "src": "{{ favicon_path }}/android-chrome-192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "{{ favicon_path }}/android-chrome-512x512.png", - "sizes": "512x512", - "type": "image/png" - }], - "start_url": "{{ '/index.html' | relative_url }}", - "theme_color": "#2a1e6b", - "background_color": "#ffffff", - "display": "fullscreen" -} diff --git a/assets/img/pp.png b/assets/img/pp.png deleted file mode 100644 index c2971ba..0000000 Binary files a/assets/img/pp.png and /dev/null differ diff --git a/assets/js/data/search.json b/assets/js/data/search.json deleted file mode 100644 index 2601ed0..0000000 --- a/assets/js/data/search.json +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: compress -swcache: true ---- - -[ - {% for post in site.posts %} - { - "title": {{ post.title | jsonify }}, - "url": {{ post.url | relative_url | jsonify }}, - "categories": {{ post.categories | join: ', ' | jsonify }}, - "tags": {{ post.tags | join: ', ' | jsonify }}, - "date": "{{ post.date }}", - {% include no-linenos.html content=post.content %} - {% assign _content = content | strip_html | strip_newlines %} - "snippet": {{ _content | truncate: 200 | jsonify }}, - "content": {{ _content | jsonify }} - }{% unless forloop.last %},{% endunless %} - {% endfor %} -] diff --git a/assets/js/data/swconf.js b/assets/js/data/swconf.js deleted file mode 100644 index cc11f79..0000000 --- a/assets/js/data/swconf.js +++ /dev/null @@ -1,51 +0,0 @@ ---- -layout: compress -permalink: '/:path/swconf.js' -# Note that this file will be fetched by the ServiceWorker, so it will not be cached. ---- - -const swconf = { - {% if site.pwa.cache.enabled %} - cacheName: 'chirpy-{{ "now" | date: "%s" }}', - - {%- comment -%} Resources added to the cache during PWA installation. {%- endcomment -%} - resources: [ - '{{ "/assets/css/:THEME.css" | replace: ':THEME', site.theme | relative_url }}', - '{{ "/" | relative_url }}', - {% for tab in site.tabs %} - '{{- tab.url | relative_url -}}', - {% endfor %} - - {% assign cache_list = site.static_files | where: 'swcache', true %} - {% for file in cache_list %} - '{{ file.path | relative_url }}'{%- unless forloop.last -%},{%- endunless -%} - {% endfor %} - ], - - {%- comment -%} The request url with below domain will be cached. {%- endcomment -%} - allowHosts: [ - {% if site.img_cdn and site.img_cdn contains '//' %} - '{{ site.img_cdn | split: '//' | last | split: '/' | first }}', - {% endif %} - - {%- unless site.assets.self_host.enabled -%} - {% for cdn in site.data.origin["cors"].cdns %} - '{{ cdn.url | split: "//" | last }}' - {%- unless forloop.last -%},{%- endunless -%} - {% endfor %} - {% endunless %} - ], - - {%- comment -%} The request url with below path will not be cached. {%- endcomment -%} - denyPaths: [ - {% for path in site.pwa.cache.deny_paths %} - {% unless path == empty %} - '{{ path | relative_url }}'{%- unless forloop.last -%},{%- endunless -%} - {% endunless %} - {% endfor %} - ], - purge: false - {% else %} - purge: true - {% endif %} -}; diff --git a/assets/js/dist/categories.min.js b/assets/js/dist/categories.min.js deleted file mode 100644 index 6c2db9d..0000000 --- a/assets/js/dist/categories.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Chirpy v6.5.5 | © 2019 Cotes Chung | MIT Licensed | https://github.com/cotes2020/jekyll-theme-chirpy/ - */ -!function(){"use strict";const o=$(".mode-toggle");function s(o){var s=function(o,s){if("object"!=typeof o||!o)return o;var t=o[Symbol.toPrimitive];if(void 0!==t){var e=t.call(o,s||"default");if("object"!=typeof e)return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===s?String:Number)(o)}(o,"string");return"symbol"==typeof s?s:s+""}function t(o,t,e){return(t=s(t))in o?Object.defineProperty(o,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):o[t]=e,o}const e=$("body"),a="sidebar-display";class r{static toggle(){!1===r.isExpanded?e.attr(a,""):e.removeAttr(a),r.isExpanded=!r.isExpanded}}t(r,"isExpanded",!1);const l=$("#sidebar-trigger"),n=$("#search-trigger"),i=$("#search-cancel"),c=$("#main-wrapper>.container>.row"),f=$("#topbar-title"),d=$("search"),u=$("#search-result-wrapper"),p=$("#search-results"),b=$("#search-input"),m=$("#search-hints"),g=$("html,body"),C="loaded",v="unloaded",h="input-focus",w="d-flex";class y{static on(){y.offset=window.scrollY,g.scrollTop(0)}static off(){g.scrollTop(y.offset)}}t(y,"offset",0),t(y,"resultVisible",!1);class k{static on(){l.addClass(v),f.addClass(v),n.addClass(v),d.addClass(w),i.addClass(C)}static off(){i.removeClass(C),d.removeClass(w),l.removeClass(v),f.removeClass(v),n.removeClass(v)}}class T{static on(){y.resultVisible||(y.on(),u.removeClass(v),c.addClass(v),y.resultVisible=!0)}static off(){y.resultVisible&&(p.empty(),m.hasClass(v)&&m.removeClass(v),u.addClass(v),c.removeClass(v),y.off(),b.val(""),y.resultVisible=!1)}}function x(){return i.hasClass(C)}const E=$(".collapse");$(".code-header>button").children().attr("class"),function(){const o=$(window),s=$("#back-to-top");o.on("scroll",(()=>{o.scrollTop()>50?s.fadeIn():s.fadeOut()})),s.on("click",(()=>{o.scrollTop(0)}))}(),[...document.querySelectorAll('[data-bs-toggle="tooltip"]')].map((o=>new bootstrap.Tooltip(o))),0!==o.length&&o.off().on("click",(o=>{const s=$(o.target);let t=s.prop("tagName")==="button".toUpperCase()?s:s.parent();modeToggle.flipMode(),t.trigger("blur")})),$("#sidebar-trigger").on("click",r.toggle),$("#mask").on("click",r.toggle),n.on("click",(function(){k.on(),T.on(),b.trigger("focus")})),i.on("click",(function(){k.off(),T.off()})),b.on("focus",(function(){d.addClass(h)})),b.on("focusout",(function(){d.removeClass(h)})),b.on("input",(()=>{""===b.val()?x()?m.removeClass(v):T.off():(T.on(),x()&&m.addClass(v))})),E.on("hide.bs.collapse",(function(){const o="h_"+$(this).attr("id").substring(2);o&&($("#".concat(o," .far.fa-folder-open")).attr("class","far fa-folder fa-fw"),$("#".concat(o," i.fas")).addClass("rotate"),$("#".concat(o)).removeClass("hide-border-bottom"))})),E.on("show.bs.collapse",(function(){const o="h_"+$(this).attr("id").substring(2);o&&($("#".concat(o," .far.fa-folder")).attr("class","far fa-folder-open fa-fw"),$("#".concat(o," i.fas")).removeClass("rotate"),$("#".concat(o)).addClass("hide-border-bottom"))}))}(); diff --git a/assets/js/dist/commons.min.js b/assets/js/dist/commons.min.js deleted file mode 100644 index c3552d5..0000000 --- a/assets/js/dist/commons.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Chirpy v6.5.5 | © 2019 Cotes Chung | MIT Licensed | https://github.com/cotes2020/jekyll-theme-chirpy/ - */ -!function(){"use strict";const e=$(".mode-toggle");function s(e){var s=function(e,s){if("object"!=typeof e||!e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var t=o.call(e,s||"default");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===s?String:Number)(e)}(e,"string");return"symbol"==typeof s?s:s+""}function o(e,o,t){return(o=s(o))in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}const t=$("body"),r="sidebar-display";class a{static toggle(){!1===a.isExpanded?t.attr(r,""):t.removeAttr(r),a.isExpanded=!a.isExpanded}}o(a,"isExpanded",!1);const l=$("#sidebar-trigger"),i=$("#search-trigger"),n=$("#search-cancel"),c=$("#main-wrapper>.container>.row"),d=$("#topbar-title"),f=$("search"),u=$("#search-result-wrapper"),p=$("#search-results"),g=$("#search-input"),m=$("#search-hints"),b=$("html,body"),v="loaded",C="unloaded",h="input-focus",y="d-flex";class w{static on(){w.offset=window.scrollY,b.scrollTop(0)}static off(){b.scrollTop(w.offset)}}o(w,"offset",0),o(w,"resultVisible",!1);class k{static on(){l.addClass(C),d.addClass(C),i.addClass(C),f.addClass(y),n.addClass(v)}static off(){n.removeClass(v),f.removeClass(y),l.removeClass(C),d.removeClass(C),i.removeClass(C)}}class T{static on(){w.resultVisible||(w.on(),u.removeClass(C),c.addClass(C),w.resultVisible=!0)}static off(){w.resultVisible&&(p.empty(),m.hasClass(C)&&m.removeClass(C),u.addClass(C),c.removeClass(C),w.off(),g.val(""),w.resultVisible=!1)}}function x(){return n.hasClass(v)}!function(){const e=$(window),s=$("#back-to-top");e.on("scroll",(()=>{e.scrollTop()>50?s.fadeIn():s.fadeOut()})),s.on("click",(()=>{e.scrollTop(0)}))}(),[...document.querySelectorAll('[data-bs-toggle="tooltip"]')].map((e=>new bootstrap.Tooltip(e))),0!==e.length&&e.off().on("click",(e=>{const s=$(e.target);let o=s.prop("tagName")==="button".toUpperCase()?s:s.parent();modeToggle.flipMode(),o.trigger("blur")})),$("#sidebar-trigger").on("click",a.toggle),$("#mask").on("click",a.toggle),i.on("click",(function(){k.on(),T.on(),g.trigger("focus")})),n.on("click",(function(){k.off(),T.off()})),g.on("focus",(function(){f.addClass(h)})),g.on("focusout",(function(){f.removeClass(h)})),g.on("input",(()=>{""===g.val()?x()?m.removeClass(C):T.off():(T.on(),x()&&m.addClass(C))}))}(); diff --git a/assets/js/dist/home.min.js b/assets/js/dist/home.min.js deleted file mode 100644 index a11fedb..0000000 --- a/assets/js/dist/home.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Chirpy v6.5.5 | © 2019 Cotes Chung | MIT Licensed | https://github.com/cotes2020/jekyll-theme-chirpy/ - */ -!function(){"use strict";const t=$(".mode-toggle");function e(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var a=t[Symbol.toPrimitive];if(void 0!==a){var s=a.call(t,e||"default");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}function a(t,a,s){return(a=e(a))in t?Object.defineProperty(t,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[a]=s,t}const s=$("body"),o="sidebar-display";class r{static toggle(){!1===r.isExpanded?s.attr(o,""):s.removeAttr(o),r.isExpanded=!r.isExpanded}}a(r,"isExpanded",!1);const i=$("#sidebar-trigger"),l=$("#search-trigger"),n=$("#search-cancel"),c=$("#main-wrapper>.container>.row"),d=$("#topbar-title"),u=$("search"),m=$("#search-result-wrapper"),f=$("#search-results"),p=$("#search-input"),g=$("#search-hints"),h=$("html,body"),b="loaded",v="unloaded",C="input-focus",y="d-flex";class w{static on(){w.offset=window.scrollY,h.scrollTop(0)}static off(){h.scrollTop(w.offset)}}a(w,"offset",0),a(w,"resultVisible",!1);class T{static on(){i.addClass(v),d.addClass(v),l.addClass(v),u.addClass(y),n.addClass(b)}static off(){n.removeClass(b),u.removeClass(y),i.removeClass(v),d.removeClass(v),l.removeClass(v)}}class k{static on(){w.resultVisible||(w.on(),m.removeClass(v),c.addClass(v),w.resultVisible=!0)}static off(){w.resultVisible&&(f.empty(),g.hasClass(v)&&g.removeClass(v),m.addClass(v),c.removeClass(v),w.off(),p.val(""),w.resultVisible=!1)}}function x(){return n.hasClass(b)}$(".collapse");$(".code-header>button").children().attr("class");const E="data-src",j="data-lqip",M={SHIMMER:"shimmer",BLUR:"blur"};function A(t){$(this).parent().removeClass(t)}function F(){this.complete&&(this.hasAttribute(j)?A.call(this,M.BLUR):A.call(this,M.SHIMMER))}function R(){const t=$(this),e=t.attr(E);t.attr("src",encodeURI(e)),t.removeAttr(E)}class S{static get attrTimestamp(){return"data-ts"}static get attrDateFormat(){return"data-df"}static get locale(){return $("html").attr("lang").substring(0,2)}static getTimestamp(t){return Number(t.attr(S.attrTimestamp))}static getDateFormat(t){return t.attr(S.attrDateFormat)}}!function(){const t=$(window),e=$("#back-to-top");t.on("scroll",(()=>{t.scrollTop()>50?e.fadeIn():e.fadeOut()})),e.on("click",(()=>{t.scrollTop(0)}))}(),[...document.querySelectorAll('[data-bs-toggle="tooltip"]')].map((t=>new bootstrap.Tooltip(t))),0!==t.length&&t.off().on("click",(t=>{const e=$(t.target);let a=e.prop("tagName")==="button".toUpperCase()?e:e.parent();modeToggle.flipMode(),a.trigger("blur")})),$("#sidebar-trigger").on("click",r.toggle),$("#mask").on("click",r.toggle),l.on("click",(function(){T.on(),k.on(),p.trigger("focus")})),n.on("click",(function(){T.off(),k.off()})),p.on("focus",(function(){u.addClass(C)})),p.on("focusout",(function(){u.removeClass(C)})),p.on("input",(()=>{""===p.val()?x()?g.removeClass(v):k.off():(k.on(),x()&&g.addClass(v))})),dayjs.locale(S.locale),dayjs.extend(window.dayjs_plugin_localizedFormat),$("[".concat(S.attrTimestamp,"]")).each((function(){const t=dayjs.unix(S.getTimestamp($(this))),e=t.format(S.getDateFormat($(this)));$(this).text(e),$(this).removeAttr(S.attrTimestamp),$(this).removeAttr(S.attrDateFormat);const a=$(this).attr("data-bs-toggle");if(void 0===a||"tooltip"!==a)return;const s=t.format("llll");$(this).attr("data-bs-title",s),new bootstrap.Tooltip($(this))})),function(){const t=$("article img");t.length&&t.on("load",F),$('article img[loading="lazy"]').each((function(){this.complete&&A.call(this,M.SHIMMER)}));const e=$("article img[".concat(j,'="true"]'));e.length&&e.each(R)}()}(); diff --git a/assets/js/dist/misc.min.js b/assets/js/dist/misc.min.js deleted file mode 100644 index faf631f..0000000 --- a/assets/js/dist/misc.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Chirpy v6.5.5 | © 2019 Cotes Chung | MIT Licensed | https://github.com/cotes2020/jekyll-theme-chirpy/ - */ -!function(){"use strict";const t=$(".mode-toggle");function e(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var a=t[Symbol.toPrimitive];if(void 0!==a){var s=a.call(t,e||"default");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}function a(t,a,s){return(a=e(a))in t?Object.defineProperty(t,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[a]=s,t}const s=$("body"),o="sidebar-display";class r{static toggle(){!1===r.isExpanded?s.attr(o,""):s.removeAttr(o),r.isExpanded=!r.isExpanded}}a(r,"isExpanded",!1);const l=$("#sidebar-trigger"),i=$("#search-trigger"),n=$("#search-cancel"),c=$("#main-wrapper>.container>.row"),d=$("#topbar-title"),u=$("search"),f=$("#search-result-wrapper"),m=$("#search-results"),p=$("#search-input"),g=$("#search-hints"),b=$("html,body"),h="loaded",v="unloaded",C="input-focus",y="d-flex";class w{static on(){w.offset=window.scrollY,b.scrollTop(0)}static off(){b.scrollTop(w.offset)}}a(w,"offset",0),a(w,"resultVisible",!1);class T{static on(){l.addClass(v),d.addClass(v),i.addClass(v),u.addClass(y),n.addClass(h)}static off(){n.removeClass(h),u.removeClass(y),l.removeClass(v),d.removeClass(v),i.removeClass(v)}}class k{static on(){w.resultVisible||(w.on(),f.removeClass(v),c.addClass(v),w.resultVisible=!0)}static off(){w.resultVisible&&(m.empty(),g.hasClass(v)&&g.removeClass(v),f.addClass(v),c.removeClass(v),w.off(),p.val(""),w.resultVisible=!1)}}function x(){return n.hasClass(h)}$(".collapse");$(".code-header>button").children().attr("class");class j{static get attrTimestamp(){return"data-ts"}static get attrDateFormat(){return"data-df"}static get locale(){return $("html").attr("lang").substring(0,2)}static getTimestamp(t){return Number(t.attr(j.attrTimestamp))}static getDateFormat(t){return t.attr(j.attrDateFormat)}}!function(){const t=$(window),e=$("#back-to-top");t.on("scroll",(()=>{t.scrollTop()>50?e.fadeIn():e.fadeOut()})),e.on("click",(()=>{t.scrollTop(0)}))}(),[...document.querySelectorAll('[data-bs-toggle="tooltip"]')].map((t=>new bootstrap.Tooltip(t))),0!==t.length&&t.off().on("click",(t=>{const e=$(t.target);let a=e.prop("tagName")==="button".toUpperCase()?e:e.parent();modeToggle.flipMode(),a.trigger("blur")})),$("#sidebar-trigger").on("click",r.toggle),$("#mask").on("click",r.toggle),i.on("click",(function(){T.on(),k.on(),p.trigger("focus")})),n.on("click",(function(){T.off(),k.off()})),p.on("focus",(function(){u.addClass(C)})),p.on("focusout",(function(){u.removeClass(C)})),p.on("input",(()=>{""===p.val()?x()?g.removeClass(v):k.off():(k.on(),x()&&g.addClass(v))})),dayjs.locale(j.locale),dayjs.extend(window.dayjs_plugin_localizedFormat),$("[".concat(j.attrTimestamp,"]")).each((function(){const t=dayjs.unix(j.getTimestamp($(this))),e=t.format(j.getDateFormat($(this)));$(this).text(e),$(this).removeAttr(j.attrTimestamp),$(this).removeAttr(j.attrDateFormat);const a=$(this).attr("data-bs-toggle");if(void 0===a||"tooltip"!==a)return;const s=t.format("llll");$(this).attr("data-bs-title",s),new bootstrap.Tooltip($(this))}))}(); diff --git a/assets/js/dist/page.min.js b/assets/js/dist/page.min.js deleted file mode 100644 index b3f3049..0000000 --- a/assets/js/dist/page.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Chirpy v6.5.5 | © 2019 Cotes Chung | MIT Licensed | https://github.com/cotes2020/jekyll-theme-chirpy/ - */ -!function(){"use strict";const t=$(".mode-toggle");function e(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var o=t[Symbol.toPrimitive];if(void 0!==o){var s=o.call(t,e||"default");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}function o(t,o,s){return(o=e(o))in t?Object.defineProperty(t,o,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[o]=s,t}const s=$("body"),a="sidebar-display";class n{static toggle(){!1===n.isExpanded?s.attr(a,""):s.removeAttr(a),n.isExpanded=!n.isExpanded}}o(n,"isExpanded",!1);const r=$("#sidebar-trigger"),i=$("#search-trigger"),l=$("#search-cancel"),c=$("#main-wrapper>.container>.row"),u=$("#topbar-title"),d=$("search"),f=$("#search-result-wrapper"),p=$("#search-results"),m=$("#search-input"),g=$("#search-hints"),h=$("html,body"),b="loaded",v="unloaded",C="input-focus",w="d-flex";class y{static on(){y.offset=window.scrollY,h.scrollTop(0)}static off(){h.scrollTop(y.offset)}}o(y,"offset",0),o(y,"resultVisible",!1);class k{static on(){r.addClass(v),u.addClass(v),i.addClass(v),d.addClass(w),l.addClass(b)}static off(){l.removeClass(b),d.removeClass(w),r.removeClass(v),u.removeClass(v),i.removeClass(v)}}class S{static on(){y.resultVisible||(y.on(),f.removeClass(v),c.addClass(v),y.resultVisible=!0)}static off(){y.resultVisible&&(p.empty(),g.hasClass(v)&&g.removeClass(v),f.addClass(v),c.removeClass(v),y.off(),m.val(""),y.resultVisible=!1)}}function T(){return l.hasClass(b)}$(".collapse");const E=".code-header>button",A="fas fa-check",x="timeout",M="data-title-succeed",R="data-bs-original-title",I=2e3;function V(t){if($(t)[0].hasAttribute(x)){let e=$(t).attr(x);if(Number(e)>Date.now())return!0}return!1}function q(t){$(t).attr(x,Date.now()+I)}function N(t){$(t).removeAttr(x)}const P=$(E).children().attr("class");const U="data-src",j="data-lqip",B={SHIMMER:"shimmer",BLUR:"blur"};function H(t){$(this).parent().removeClass(t)}function O(){this.complete&&(this.hasAttribute(j)?H.call(this,B.BLUR):H.call(this,B.SHIMMER))}function z(){const t=$(this),e=t.attr(U);t.attr("src",encodeURI(e)),t.removeAttr(U)}!function(){const t=$(window),e=$("#back-to-top");t.on("scroll",(()=>{t.scrollTop()>50?e.fadeIn():e.fadeOut()})),e.on("click",(()=>{t.scrollTop(0)}))}(),[...document.querySelectorAll('[data-bs-toggle="tooltip"]')].map((t=>new bootstrap.Tooltip(t))),0!==t.length&&t.off().on("click",(t=>{const e=$(t.target);let o=e.prop("tagName")==="button".toUpperCase()?e:e.parent();modeToggle.flipMode(),o.trigger("blur")})),$("#sidebar-trigger").on("click",n.toggle),$("#mask").on("click",n.toggle),i.on("click",(function(){k.on(),S.on(),m.trigger("focus")})),l.on("click",(function(){k.off(),S.off()})),m.on("focus",(function(){d.addClass(C)})),m.on("focusout",(function(){d.removeClass(C)})),m.on("input",(()=>{""===m.val()?T()?g.removeClass(v):S.off():(S.on(),T()&&g.addClass(v))})),function(){const t=$("article img");t.length&&t.on("load",O),$('article img[loading="lazy"]').each((function(){this.complete&&H.call(this,B.SHIMMER)}));const e=$("article img[".concat(j,'="true"]'));e.length&&e.each(z)}(),$(".popup")<=0||$(".popup").magnificPopup({type:"image",closeOnContentClick:!0,showCloseBtn:!1,zoom:{enabled:!0,duration:300,easing:"ease-in-out"}}),function(){if($(E).length){const t=new ClipboardJS(E,{target:t=>t.parentNode.nextElementSibling.querySelector("code .rouge-code")});[...document.querySelectorAll(E)].map((t=>new bootstrap.Tooltip(t,{placement:"left"}))),t.on("success",(t=>{t.clearSelection();const e=t.trigger;V(e)||(!function(t){$(t).children().attr("class",A)}(e),function(t){const e=$(t).attr(M);$(t).attr(R,e).tooltip("show")}(e),q(e),setTimeout((()=>{!function(t){$(t).tooltip("hide").removeAttr(R)}(e),function(t){$(t).children().attr("class",P)}(e),N(e)}),I))}))}const t=$("#copy-link");t.on("click",(t=>{let e=$(t.target);V(e)||navigator.clipboard.writeText(window.location.href).then((()=>{const t=e.attr(R),o=e.attr(M);e.attr(R,o).tooltip("show"),q(e),setTimeout((()=>{e.attr(R,t),N(e)}),I)}))})),t.on("mouseleave",(function(t){$(t.target).tooltip("hide")}))}()}(); diff --git a/assets/js/dist/post.min.js b/assets/js/dist/post.min.js deleted file mode 100644 index 5715b3c..0000000 --- a/assets/js/dist/post.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Chirpy v6.5.5 | © 2019 Cotes Chung | MIT Licensed | https://github.com/cotes2020/jekyll-theme-chirpy/ - */ -!function(){"use strict";const t=$(".mode-toggle");function e(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var o=t[Symbol.toPrimitive];if(void 0!==o){var a=o.call(t,e||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}function o(t,o,a){return(o=e(o))in t?Object.defineProperty(t,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[o]=a,t}const a=$("body"),r="sidebar-display";class s{static toggle(){!1===s.isExpanded?a.attr(r,""):a.removeAttr(r),s.isExpanded=!s.isExpanded}}o(s,"isExpanded",!1);const i=$("#sidebar-trigger"),n=$("#search-trigger"),l=$("#search-cancel"),c=$("#main-wrapper>.container>.row"),u=$("#topbar-title"),d=$("search"),m=$("#search-result-wrapper"),f=$("#search-results"),p=$("#search-input"),g=$("#search-hints"),h=$("html,body"),b="loaded",v="unloaded",C="input-focus",w="d-flex";class y{static on(){y.offset=window.scrollY,h.scrollTop(0)}static off(){h.scrollTop(y.offset)}}o(y,"offset",0),o(y,"resultVisible",!1);class T{static on(){i.addClass(v),u.addClass(v),n.addClass(v),d.addClass(w),l.addClass(b)}static off(){l.removeClass(b),d.removeClass(w),i.removeClass(v),u.removeClass(v),n.removeClass(v)}}class S{static on(){y.resultVisible||(y.on(),m.removeClass(v),c.addClass(v),y.resultVisible=!0)}static off(){y.resultVisible&&(f.empty(),g.hasClass(v)&&g.removeClass(v),m.addClass(v),c.removeClass(v),y.off(),p.val(""),y.resultVisible=!1)}}function k(){return l.hasClass(b)}$(".collapse");const x=".code-header>button",A="fas fa-check",E="timeout",j="data-title-succeed",D="data-bs-original-title",M=2e3;function F(t){if($(t)[0].hasAttribute(E)){let e=$(t).attr(E);if(Number(e)>Date.now())return!0}return!1}function R(t){$(t).attr(E,Date.now()+M)}function q(t){$(t).removeAttr(E)}const I=$(x).children().attr("class");const N="data-src",V="data-lqip",P={SHIMMER:"shimmer",BLUR:"blur"};function U(t){$(this).parent().removeClass(t)}function z(){this.complete&&(this.hasAttribute(V)?U.call(this,P.BLUR):U.call(this,P.SHIMMER))}function B(){const t=$(this),e=t.attr(N);t.attr("src",encodeURI(e)),t.removeAttr(N)}class H{static get attrTimestamp(){return"data-ts"}static get attrDateFormat(){return"data-df"}static get locale(){return $("html").attr("lang").substring(0,2)}static getTimestamp(t){return Number(t.attr(H.attrTimestamp))}static getDateFormat(t){return t.attr(H.attrDateFormat)}}0!==t.length&&t.off().on("click",(t=>{const e=$(t.target);let o=e.prop("tagName")==="button".toUpperCase()?e:e.parent();modeToggle.flipMode(),o.trigger("blur")})),$("#sidebar-trigger").on("click",s.toggle),$("#mask").on("click",s.toggle),n.on("click",(function(){T.on(),S.on(),p.trigger("focus")})),l.on("click",(function(){T.off(),S.off()})),p.on("focus",(function(){d.addClass(C)})),p.on("focusout",(function(){d.removeClass(C)})),p.on("input",(()=>{""===p.val()?k()?g.removeClass(v):S.off():(S.on(),k()&&g.addClass(v))})),function(){const t=$("article img");t.length&&t.on("load",z),$('article img[loading="lazy"]').each((function(){this.complete&&U.call(this,P.SHIMMER)}));const e=$("article img[".concat(V,'="true"]'));e.length&&e.each(B)}(),$(".popup")<=0||$(".popup").magnificPopup({type:"image",closeOnContentClick:!0,showCloseBtn:!1,zoom:{enabled:!0,duration:300,easing:"ease-in-out"}}),dayjs.locale(H.locale),dayjs.extend(window.dayjs_plugin_localizedFormat),$("[".concat(H.attrTimestamp,"]")).each((function(){const t=dayjs.unix(H.getTimestamp($(this))),e=t.format(H.getDateFormat($(this)));$(this).text(e),$(this).removeAttr(H.attrTimestamp),$(this).removeAttr(H.attrDateFormat);const o=$(this).attr("data-bs-toggle");if(void 0===o||"tooltip"!==o)return;const a=t.format("llll");$(this).attr("data-bs-title",a),new bootstrap.Tooltip($(this))})),function(){if($(x).length){const t=new ClipboardJS(x,{target:t=>t.parentNode.nextElementSibling.querySelector("code .rouge-code")});[...document.querySelectorAll(x)].map((t=>new bootstrap.Tooltip(t,{placement:"left"}))),t.on("success",(t=>{t.clearSelection();const e=t.trigger;F(e)||(!function(t){$(t).children().attr("class",A)}(e),function(t){const e=$(t).attr(j);$(t).attr(D,e).tooltip("show")}(e),R(e),setTimeout((()=>{!function(t){$(t).tooltip("hide").removeAttr(D)}(e),function(t){$(t).children().attr("class",I)}(e),q(e)}),M))}))}const t=$("#copy-link");t.on("click",(t=>{let e=$(t.target);F(e)||navigator.clipboard.writeText(window.location.href).then((()=>{const t=e.attr(D),o=e.attr(j);e.attr(D,o).tooltip("show"),R(e),setTimeout((()=>{e.attr(D,t),q(e)}),M)}))})),t.on("mouseleave",(function(t){$(t.target).tooltip("hide")}))}(),document.querySelector("main h2, main h3")&&tocbot.init({tocSelector:"#toc",contentSelector:".content",ignoreSelector:"[data-toc-skip]",headingSelector:"h2, h3, h4",orderedList:!1,scrollSmooth:!1}),function(){const t=$(window),e=$("#back-to-top");t.on("scroll",(()=>{t.scrollTop()>50?e.fadeIn():e.fadeOut()})),e.on("click",(()=>{t.scrollTop(0)}))}(),[...document.querySelectorAll('[data-bs-toggle="tooltip"]')].map((t=>new bootstrap.Tooltip(t)))}(); diff --git a/assets/js/pwa/app.js b/assets/js/pwa/app.js deleted file mode 100644 index 8599fe3..0000000 --- a/assets/js/pwa/app.js +++ /dev/null @@ -1,54 +0,0 @@ ---- -layout: compress -permalink: /assets/js/dist/:basename.min.js ---- - -if ('serviceWorker' in navigator) { - const isEnabled = '{{ site.pwa.enabled }}' === 'true'; - - if (isEnabled) { - const swUrl = '{{ '/sw.min.js' | relative_url }}'; - const $notification = $('#notification'); - const $btnRefresh = $('#notification .toast-body>button'); - - navigator.serviceWorker.register(swUrl).then((registration) => { - {% comment %}In case the user ignores the notification{% endcomment %} - if (registration.waiting) { - $notification.toast('show'); - } - - registration.addEventListener('updatefound', () => { - registration.installing.addEventListener('statechange', () => { - if (registration.waiting) { - if (navigator.serviceWorker.controller) { - $notification.toast('show'); - } - } - }); - }); - - $btnRefresh.on('click', () => { - if (registration.waiting) { - registration.waiting.postMessage('SKIP_WAITING'); - } - $notification.toast('hide'); - }); - }); - - let refreshing = false; - - {% comment %}Detect controller change and refresh all the opened tabs{% endcomment %} - navigator.serviceWorker.addEventListener('controllerchange', () => { - if (!refreshing) { - window.location.reload(); - refreshing = true; - } - }); - } else { - navigator.serviceWorker.getRegistrations().then(function (registrations) { - for (let registration of registrations) { - registration.unregister(); - } - }); - } -} diff --git a/assets/js/pwa/sw.js b/assets/js/pwa/sw.js deleted file mode 100644 index adc707e..0000000 --- a/assets/js/pwa/sw.js +++ /dev/null @@ -1,101 +0,0 @@ ---- -layout: compress -permalink: /:basename.min.js -# PWA service worker ---- - -const swconfUrl = '{{ '/assets/js/data/swconf.js' | relative_url }}'; - -importScripts(swconfUrl); -const purge = swconf.purge; - -function verifyHost(url) { - for (const host of swconf.allowHosts) { - const regex = RegExp(`^http(s)?://${host}/`); - if (regex.test(url)) { - return true; - } - } - return false; -} - -function verifyUrl(url) { - if (!verifyHost(url)) { - return false; - } - - const requestPath = new URL(url).pathname; - - for (const path of swconf.denyPaths) { - if (requestPath.startsWith(path)) { - return false; - } - } - return true; -} - -if (!purge) { - swconf.allowHosts.push(location.host); -} - -self.addEventListener('install', (event) => { - if (purge) { - return; - } - - event.waitUntil( - caches.open(swconf.cacheName).then((cache) => { - return cache.addAll(swconf.resources); - }) - ); -}); - -self.addEventListener('activate', (event) => { - event.waitUntil( - caches.keys().then((keyList) => { - return Promise.all( - keyList.map((key) => { - if (purge) { - return caches.delete(key); - } else { - if (key !== swconf.cacheName) { - return caches.delete(key); - } - } - }) - ); - }) - ); -}); - -self.addEventListener('message', (event) => { - if (event.data === 'SKIP_WAITING') { - self.skipWaiting(); - } -}); - -self.addEventListener('fetch', (event) => { - event.respondWith( - caches.match(event.request).then((response) => { - if (response) { - return response; - } - - return fetch(event.request).then((response) => { - const url = event.request.url; - - if (purge || event.request.method !== 'GET' || !verifyUrl(url)) { - return response; - } - - {% comment %}See: {% endcomment %} - let responseToCache = response.clone(); - - caches.open(swconf.cacheName).then((cache) => { - cache.put(event.request, responseToCache); - }); - return response; - }); - }) - ); -}); diff --git a/assets/js/user/copy.js b/assets/js/user/copy.js deleted file mode 100644 index 3e54330..0000000 --- a/assets/js/user/copy.js +++ /dev/null @@ -1,16 +0,0 @@ -async function addToClipboard(id) { - var copyText = document.getElementById(id); - navigator.clipboard.writeText(copyText.innerHTML); - - var copyButton = document.getElementById(id+"-button"); - copyButton.setAttribute("aria-label", "Copied!"); - copyButton.setAttribute("data-balloon-pos", "up"); - copyButton.setAttribute("data-balloon-visible", "1"); - - // hide message after 2s - setTimeout(() => { - copyButton.removeAttribute("aria-label"); - copyButton.removeAttribute("data-balloon-pos"); - copyButton.removeAttribute("data-balloon-visible"); - }, 2000); - } \ No newline at end of file diff --git a/assets/lib b/assets/lib deleted file mode 160000 index 7bc0d86..0000000 --- a/assets/lib +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7bc0d86b6af83d7acfc63db50f29a5975cec2513 diff --git a/assets/robots.txt b/assets/robots.txt deleted file mode 100644 index 45c34e0..0000000 --- a/assets/robots.txt +++ /dev/null @@ -1,10 +0,0 @@ ---- -permalink: /robots.txt -# The robots rules ---- - -User-agent: * - -Disallow: /norobots/ - -Sitemap: {{ '/sitemap.xml' | absolute_url }} diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md deleted file mode 100644 index bc86dbc..0000000 --- a/docs/CHANGELOG.md +++ /dev/null @@ -1,384 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - -## [6.5.5](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v6.5.4...v6.5.5) (2024-03-23) - -### Bug Fixes - -* **post:** correct the image URLs ([#1627](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1627)) ([2d649aa](https://github.com/cotes2020/jekyll-theme-chirpy/commit/2d649aae0e40a24db1ab0d46fa474294e96cb135)) - -## [6.5.4](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v6.5.3...v6.5.4) (2024-03-22) - -### Bug Fixes - -* correct the attribute for the Twitter social image ([#1615](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1615)) ([cfe44f2](https://github.com/cotes2020/jekyll-theme-chirpy/commit/cfe44f204bcec8e05f498512ec50878e626a124f)) -* **seo:** correct social preview image path inside `` tag ([#1623](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1623)) ([74cf57a](https://github.com/cotes2020/jekyll-theme-chirpy/commit/74cf57aaacf6674057e6f33240a22f4888cfe88f)) - -## [6.5.3](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v6.5.2...v6.5.3) (2024-03-07) - -* replace `polyfill.io` with `cdnjs` hosted link ([#1598](https://github.com/cotes2020/jekyll-theme-chirpy/pull/1598)) ([75a3d73](https://github.com/cotes2020/jekyll-theme-chirpy/commit/75a3d7399b257256a09d602cbe01062fe1cdf68d)) - -## [6.5.2](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v6.5.1...v6.5.2) (2024-02-29) - -### Bug Fixes - -* correct the base URL parameter name ([#1576](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1576)) ([19d6baf](https://github.com/cotes2020/jekyll-theme-chirpy/commit/19d6bafbe1a60614e0d63b961bc73c342a9f6f33)), closes [#1553](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1553) - -## [6.5.1](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v6.5.0...v6.5.1) (2024-02-26) - -### Bug Fixes - -* correct the generation of relative resource paths ([#1553](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1553)) ([89b9625](https://github.com/cotes2020/jekyll-theme-chirpy/commit/89b962557a56ccc13eba3c9c20b4270ee9d30042)) - -## [6.5.0](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v6.4.2...v6.5.0) (2024-02-14) - -### Features - -* add `pwa.cache.*` option to precisely control caching ([#1501](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1501)) ([1127c43](https://github.com/cotes2020/jekyll-theme-chirpy/commit/1127c43823aac4db7fd80d5bb706ae7b1e129dc6)) -* add analytics support for GoatCounter ([#1526](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1526)) ([90693ff](https://github.com/cotes2020/jekyll-theme-chirpy/commit/90693ff95e72ca4b5135a7b454a6ab521b995b3e)) - -### Bug Fixes - -* correct the Twitter Card in social share preview ([#1498](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1498)) ([74f1662](https://github.com/cotes2020/jekyll-theme-chirpy/commit/74f16623c9c4877ef36ac52e8b69c19d1d9a82ba)) -* missing "/" at the end of URLs for categories and tags in breadcrumb ([#1495](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1495)) ([02e296e](https://github.com/cotes2020/jekyll-theme-chirpy/commit/02e296ed75b7906b2d112c67f9054f5d71919de9)) - -### Improvements - -* allow no social links to be configured ([#1494](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1494)) ([4facf5b](https://github.com/cotes2020/jekyll-theme-chirpy/commit/4facf5b390eeba612ca439f3354c5d2d881aac56)) -* allow TOC to start at heading 3 ([#1512](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1512)) ([bbbb66b](https://github.com/cotes2020/jekyll-theme-chirpy/commit/bbbb66b489a3bf2b878947336fe894e8ea2ae3f5)) -* enable equation numbering in MathJax ([#1520](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1520)) ([c13ec31](https://github.com/cotes2020/jekyll-theme-chirpy/commit/c13ec311636d5e057c6895e353e1c1a4e570f582)) - -## [6.4.2](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v6.4.1...v6.4.2) (2024-01-13) - -### Bug Fixes - -* resume the `blockquote` display type ([#1480](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1480)) ([c7cfde0](https://github.com/cotes2020/jekyll-theme-chirpy/commit/c7cfde093020c73ca9a1b83437eb600379e05918)), closes [#1449](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1449) - -## [6.4.1](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v6.4.0...v6.4.1) (2024-01-10) - -### Bug Fixes - -* `og:image` URL is incorrect ([#1468](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1468)) ([b2d1cb6](https://github.com/cotes2020/jekyll-theme-chirpy/commit/b2d1cb68db659270aac537d2aa8d4b806fa6991d)), closes [#1463](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1463) - -## [6.4.0](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v6.3.1...v6.4.0) (2024-01-10) - -### Features - -* add bilibili embed video support ([#1406](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1406)) ([4a2b89d](https://github.com/cotes2020/jekyll-theme-chirpy/commit/4a2b89d0b698d672486349131a89025fa47afcb6)) -* add site-wide social preview image settings ([#1463](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1463)) ([241bb4d](https://github.com/cotes2020/jekyll-theme-chirpy/commit/241bb4df7878cff7f82014df660874a1dcddba76)) - -### Bug Fixes - -* image float breaks quotes and prompts ([#1449](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1449)) ([ea2d238](https://github.com/cotes2020/jekyll-theme-chirpy/commit/ea2d238bd8adc018256862e05a5092311c87a671)), closes [#1441](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1441) -* url-less authors should not have empty links ([#1410](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1410)) ([2a4fbf6](https://github.com/cotes2020/jekyll-theme-chirpy/commit/2a4fbf6a7925da610a75c498116da7cf9ba857d7)), closes [#1403](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1403) - -### Improvements - -* include the latest posts in the "Recently Updated" list ([#1456](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1456)) ([82d8f2d](https://github.com/cotes2020/jekyll-theme-chirpy/commit/82d8f2db984711f334f55b6af5098ec16770e824)) - -## [6.3.1](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v6.3.0...v6.3.1) (2023-11-12) - -### Bug Fixes - -* **home:** responsive gap at the bottom of preview image ([1a977a8](https://github.com/cotes2020/jekyll-theme-chirpy/commit/1a977a87a0da1cff35d0896cf9265c31034841a6)) - -## [6.3.0](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v6.2.3...v6.3.0) (2023-11-10) - -### Features - -* add Mastodon sharing link ([#1344](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1344)) ([2bf87e0](https://github.com/cotes2020/jekyll-theme-chirpy/commit/2bf87e0de7928f325811e1bb96cfcaefdf6cf66a)), closes [#1324](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1324) - -### Bug Fixes - -* **home:** crop the preview image that doesn't match 1.91:1 ([#1325](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1325)) ([5810bcd](https://github.com/cotes2020/jekyll-theme-chirpy/commit/5810bcd1d7b83e111017831fa82c368a6b15c7cd)) -* resume lazy loading for Twitch videos ([#1326](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1326)) ([9f174d9](https://github.com/cotes2020/jekyll-theme-chirpy/commit/9f174d9088e5c83a5e0c4630336cea65e199c553)), closes [#1267](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1267) - -## [6.2.3](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v6.2.2...v6.2.3) (2023-10-10) - -### Bug Fixes - -* avoid `utterances` initialization failure ([#1234](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1234)) ([b34661e](https://github.com/cotes2020/jekyll-theme-chirpy/commit/b34661efd72e8697fd5b30ba7e55c86c7dd10338)) -* **home:** avoid LQIP dirty data passing to the next post ([#1278](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1278)) ([109725d](https://github.com/cotes2020/jekyll-theme-chirpy/commit/109725d2dc56e329c60a876e9ce4094513fd36a5)) -* **posts:** code snippet clipboard tooltip missing title ([#1246](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1246)) ([726085c](https://github.com/cotes2020/jekyll-theme-chirpy/commit/726085c6478e7a9dc2cc57189b2dcbc85d90f048)) -* **posts:** resume target highlighting for superscripts and footnotes ([#1253](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1253)) ([0465a98](https://github.com/cotes2020/jekyll-theme-chirpy/commit/0465a985dc5262fa2043540f4eddafa251f917a3)) - -### Improvements - -* **comments:** lazy load `giscus` ([#1254](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1254)) ([e9c9206](https://github.com/cotes2020/jekyll-theme-chirpy/commit/e9c920641b9c97594fa078ea89747d77eb7e7493)) -* **core:** replace `lazysizes` with browser-level lazy loading ([#1267](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1267)) ([bf3a34d](https://github.com/cotes2020/jekyll-theme-chirpy/commit/bf3a34d0544b49fcf40f57080c4d6b4ff44750c4)) -* **layout:** improve margins for tail block ([#1243](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1243)) ([13a3c3c](https://github.com/cotes2020/jekyll-theme-chirpy/commit/13a3c3c906bb6c5a38314ea27b6cf3767df94b27)) -* **layout:** optimize the main block height calculation ([#1249](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1249)) ([73e171b](https://github.com/cotes2020/jekyll-theme-chirpy/commit/73e171b0fbce4a542e2141d7e2b1144450571ce1)) -* **pwa:** enhance cache privacy protection ([#1275](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1275)) ([2d56597](https://github.com/cotes2020/jekyll-theme-chirpy/commit/2d56597571aaafa92251d192861ea69cce3e83d2)) -* **ui:** standardize metadata text styles ([#1295](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1295)) ([2574118](https://github.com/cotes2020/jekyll-theme-chirpy/commit/2574118f40a956184705f87dea4d88e7c246a055)) -* **ux:** render background color before loading preview image ([#1298](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1298)) ([42bf39e](https://github.com/cotes2020/jekyll-theme-chirpy/commit/42bf39e21c9a497aecc3e9b4549e2fc3ba4a1e4a)) - -## [6.2.2](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v6.2.1...v6.2.2) (2023-09-10) - -### Bug Fixes - -* **sidebar:** contact icons not stacking ([#1224](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1224)) ([273b389](https://github.com/cotes2020/jekyll-theme-chirpy/commit/273b389c512f13693ed6cdf57d256ac21deae97c)) - -## [6.2.1](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v6.2.0...v6.2.1) (2023-09-10) - -### Bug Fixes - -* **pwa:** installation failure caused by outdated cache entries ([4da7406](https://github.com/cotes2020/jekyll-theme-chirpy/commit/4da7406dfea112a4a2b1db5615ecf2672be6694f)) - -## [6.2.0](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v6.1.0...v6.2.0) (2023-09-10) - -### Features - -* **layout:** center the footer ([41b8f9f](https://github.com/cotes2020/jekyll-theme-chirpy/commit/41b8f9f519e5f5f69e9a123b38b06bade2271a82)) -* **posts:** render heading 4 in TOC ([#1023](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1023)) ([229c2a2](https://github.com/cotes2020/jekyll-theme-chirpy/commit/229c2a2e2b109fc2eca85be548f1dd97234e44c4)) -* **ui:** redesign the pagination button on home page ([62bcd60](https://github.com/cotes2020/jekyll-theme-chirpy/commit/62bcd601fcadc602c81672b1d4b937231396c3c0)) -* **ui:** update the twitter icon ([#1221](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1221)) ([aff7566](https://github.com/cotes2020/jekyll-theme-chirpy/commit/aff75667749769644f990d3dc9b0720c7d96d14d)) - -### Improvements - -* **core:** speed up the Jekyll build times ([#1163](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1163)) ([0d4103d](https://github.com/cotes2020/jekyll-theme-chirpy/commit/0d4103d47bc9cff93918bb09a2957737cc3c9fe0)) -* refactor using semantic HTML ([#1207](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1207)) ([505e314](https://github.com/cotes2020/jekyll-theme-chirpy/commit/505e314a3142c332e39365fbe2dac23df1bf0abe)), closes [#1196](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1196) -* **ui:** improve code snippet design ([4f86b04](https://github.com/cotes2020/jekyll-theme-chirpy/commit/4f86b04a8487ebbf4a6d0d70b0c3ece79e9269f3)) -* **ui:** improve web accessibility ([#447](https://github.com/cotes2020/jekyll-theme-chirpy/issues/447)) ([37c9764](https://github.com/cotes2020/jekyll-theme-chirpy/commit/37c976499ead51c1d88e8e8213366240a72adebc)) - -## [6.1.0](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v6.0.0...v6.1.0) (2023-07-02) - -### Features - -* **i18n:** add Thai locale file ([#1087](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1087)) ([a60e907](https://github.com/cotes2020/jekyll-theme-chirpy/commit/a60e90791d24811caff78e21c71dc85d6a729438)) - -### Bug Fixes - -* missing xml escape for `alt` of preview image ([#1113](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1113)) ([8b0fbf5](https://github.com/cotes2020/jekyll-theme-chirpy/commit/8b0fbf5a834276f273274e4d614edd71e339cbb0)) -* the cached image is covered by shimmer ([#1100](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1100)) ([df8ff54](https://github.com/cotes2020/jekyll-theme-chirpy/commit/df8ff546ec1c8d21a3d25e0124665001fcf756f3)) -* **ui:** min-height of `page` layout exceeds the mobile screen ([73af591](https://github.com/cotes2020/jekyll-theme-chirpy/commit/73af59194ab935d38b89d298fea0e96e13be7cb7)) -* **webfont:** resume semi-bold of font family `Source Sans Pro` ([c4da99c](https://github.com/cotes2020/jekyll-theme-chirpy/commit/c4da99c7ea5d6e32b1f1b815d7d8d6ae7b0f55de)) - -### Improvements - -* **build:** use `jekyll-include-cache` plugin to reduce build time ([#1098](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1098)) ([4fe145e](https://github.com/cotes2020/jekyll-theme-chirpy/commit/4fe145e9809ee1b370d9891135939534751462d0)), closes [#1094](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1094) -* CJK characters of the "Search Cancel" button will wrap ([#1105](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1105)) ([b6d1992](https://github.com/cotes2020/jekyll-theme-chirpy/commit/b6d1992f85ec543220e826087dcc89870e7e2c00)) -* **ui:** avoid blank space at the bottom of the homepage preview image ([ce2f6f5](https://github.com/cotes2020/jekyll-theme-chirpy/commit/ce2f6f5abef7a8b874e08d1f18c1fd002650dbf1)) -* **ui:** improve hover color of sidebar nav items in light mode ([728094d](https://github.com/cotes2020/jekyll-theme-chirpy/commit/728094d1ba67a1e7c0a11e1c6c69bf87af9a767b)) - -## [6.0.1](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v6.0.0...v6.0.1) (2023-05-19) - -### Bug Fixes - -* **home:** preview image missing `[alt]` and `img_path` ([#1044](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1044)) ([aba9468](https://github.com/cotes2020/jekyll-theme-chirpy/commit/aba9468b5332802db961166889d4c4a84e404a2c)) -* **layout:** restore the margin bottom of the main area ([#1047](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1047)) ([eb40f51](https://github.com/cotes2020/jekyll-theme-chirpy/commit/eb40f51c84b011a7c301279527f544ad27efd5eb)) -* **post, page:** image link loses shimmer effect ([#1046](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1046)) ([3bd881d](https://github.com/cotes2020/jekyll-theme-chirpy/commit/3bd881da70d685d10659f47bfe0e79cd02e7af92)) -* **typography:** long string for update-list is not truncated ([#1050](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1050)) ([a51d31c](https://github.com/cotes2020/jekyll-theme-chirpy/commit/a51d31c55a37fbe034f0b0f699f4df0b6a14ba8f)), closes [#1049](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1049) - -## [6.0.0](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v5.6.1...v6.0.0) (2023-05-16) - -### ⚠ BREAKING CHANGES - -* rename assets origin configuration files - -### Features - -* add a hook to insert custom metadata in `head` tag ([#1015](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1015)) ([fe20341](https://github.com/cotes2020/jekyll-theme-chirpy/commit/fe203417d993508eedf5b9044fe53c4a566e44f9)) -* **i18n:** add sl-SI.yml with slovenian translations ([#989](https://github.com/cotes2020/jekyll-theme-chirpy/issues/989)) ([42a700a](https://github.com/cotes2020/jekyll-theme-chirpy/commit/42a700aa37889faa32d7ec1f6776ce4b9d845dc4)) -* **i18n:** add Traditional Chinese (Taiwan) localization file ([#961](https://github.com/cotes2020/jekyll-theme-chirpy/issues/961)) ([d97f95f](https://github.com/cotes2020/jekyll-theme-chirpy/commit/d97f95fca0bcd450ea50709ffba0217f7e65d339)) -* **i18n:** added Swedish localization file ([#969](https://github.com/cotes2020/jekyll-theme-chirpy/issues/969)) ([fe70479](https://github.com/cotes2020/jekyll-theme-chirpy/commit/fe7047959e3694c6e603e764ded30dacd49e6aa9)) -* support hiding the modification date of a post ([#1020](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1020)) ([8da583d](https://github.com/cotes2020/jekyll-theme-chirpy/commit/8da583d403456f6460ec1a6ebcbb0c2ca8127ff6)) -* **ui:** improve code snippet design ([6d99f5c](https://github.com/cotes2020/jekyll-theme-chirpy/commit/6d99f5cc36a69e5ccff51f81ba448c798d92e12e)) -* **ui:** improve the design for top bar ([83f1c34](https://github.com/cotes2020/jekyll-theme-chirpy/commit/83f1c34f92d85f3953ca9c9818be5399962bf1c9)) -* **ui:** new design footer content layout ([3210c59](https://github.com/cotes2020/jekyll-theme-chirpy/commit/3210c59466150dc04b4e4bdfc1ffd0e38adcff43)) -* **ui:** redesign the sidebar ([83bbe4a](https://github.com/cotes2020/jekyll-theme-chirpy/commit/83bbe4ac939edfd1706e68c080562e3462f83519)) -* **ui:** show preview image in home page ([97b8dfe](https://github.com/cotes2020/jekyll-theme-chirpy/commit/97b8dfeed6ce7677f6472e28dc3b03f3c2968b12)) - -### Bug Fixes - -* parameter parsing error in image URL ([#1022](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1022)) ([ee88cec](https://github.com/cotes2020/jekyll-theme-chirpy/commit/ee88cec270ea5938f98913a3edf28a684cfbd6c0)) -* **rss:** double quotes in the post title will break the XML structure ([#965](https://github.com/cotes2020/jekyll-theme-chirpy/issues/965)) ([1719d81](https://github.com/cotes2020/jekyll-theme-chirpy/commit/1719d81d00b32b107c35b3903089be84a9b28a6c)) - -### refactor - -* rename assets origin configuration files ([c283e77](https://github.com/cotes2020/jekyll-theme-chirpy/commit/c283e7782fa9562d82d9855fd280a573fd58c75f)) - -### Improvements - -* **assets:** reduce HTTP requests to CDN ([9d97120](https://github.com/cotes2020/jekyll-theme-chirpy/commit/9d971201978e993a9af337d9cd5396a1ea225f00)) -* calculate heading font size dynamically ([#983](https://github.com/cotes2020/jekyll-theme-chirpy/issues/983)) ([52f5ee9](https://github.com/cotes2020/jekyll-theme-chirpy/commit/52f5ee9cd3f92a6e8f25eaa203831546cda85db6)) -* **i18n:** set the global default locales to "en" ([#979](https://github.com/cotes2020/jekyll-theme-chirpy/issues/979)) ([61fdbcb](https://github.com/cotes2020/jekyll-theme-chirpy/commit/61fdbcb83a3601ecae62ec230602b94a5eb832e1)) -* **tools:** avoid initialization interruption in single branch forks ([#992](https://github.com/cotes2020/jekyll-theme-chirpy/issues/992)) ([e90461a](https://github.com/cotes2020/jekyll-theme-chirpy/commit/e90461aa3c81633863db6a12c5924ddba33bd08e)) -* **ui:** improve categories color in dark mode ([414dd13](https://github.com/cotes2020/jekyll-theme-chirpy/commit/414dd132aed70f4bd96cb712d00eacc82d2753e9)) -* **ui:** improve hover effect for post preview cards ([7626e4d](https://github.com/cotes2020/jekyll-theme-chirpy/commit/7626e4d00544346a46b6e5ff2f3a99d234defe09)) -* **ui:** improve hover effect of trending tags ([34499f0](https://github.com/cotes2020/jekyll-theme-chirpy/commit/34499f0c927ce8fea3705dc2f0f0e6805cabda43)) -* **ui:** improve inline code in light mode ([e38309f](https://github.com/cotes2020/jekyll-theme-chirpy/commit/e38309f3bd1302ffe60b682136b6efaf96f4d9ae)) -* **ui:** improve related posts design ([2918da9](https://github.com/cotes2020/jekyll-theme-chirpy/commit/2918da9f29465618d557c082ff3a2f23d7519049)) -* **ui:** improve the color of prompts in dark mode ([8cbbcfa](https://github.com/cotes2020/jekyll-theme-chirpy/commit/8cbbcfa26da0addd88affada23a65770250f2404)) -* **ui:** lighten the link color in light-mode ([7c23a4e](https://github.com/cotes2020/jekyll-theme-chirpy/commit/7c23a4ebc53b9e231c214e04f8ac0803cbcdb720)) -* **ui:** mute the marker in lists ([0c80552](https://github.com/cotes2020/jekyll-theme-chirpy/commit/0c80552d772b874e2a161f1270294faa3af18d4a)) -* **ui:** uniform the muted text color ([aadf939](https://github.com/cotes2020/jekyll-theme-chirpy/commit/aadf9393d5c7f7528d453c4e68eba4f5cbb85bd9)) -* **ux:** improve LQIP fade in effect ([003e7b6](https://github.com/cotes2020/jekyll-theme-chirpy/commit/003e7b60c93988a7bfae4c03a8346d4f8a5f0bb6)) - -## [5.6.1](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v5.6.0...v5.6.1) (2023-03-30) - -### Bug Fixes - -* **deps:** `tocbot` has no initialization detection ([#957](https://github.com/cotes2020/jekyll-theme-chirpy/issues/957)) ([8225174](https://github.com/cotes2020/jekyll-theme-chirpy/commit/8225174cb5e02fda7b3cc548ec821c876b0a5139)) -* mode-toggle leads to Disqus loading failure ([#945](https://github.com/cotes2020/jekyll-theme-chirpy/issues/945)) ([6fec411](https://github.com/cotes2020/jekyll-theme-chirpy/commit/6fec411c18ca5689c467c7b216ddeda02df23623)) -* pageviews not updated immediately ([8b4f99c](https://github.com/cotes2020/jekyll-theme-chirpy/commit/8b4f99c87f9a9227f47e84fb39d7b0f551d6f4dd)) - -## [5.6.0](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v5.5.2...v5.6.0) (2023-03-17) - -### Features - -* change TOC plugin to `tocbot` ([#774](https://github.com/cotes2020/jekyll-theme-chirpy/issues/774)) ([02b7bd5](https://github.com/cotes2020/jekyll-theme-chirpy/commit/02b7bd5095a2affe5b4c5ed7b5b182baaf642ff3)) -* **i18n:** add Greek Language Support. ([#903](https://github.com/cotes2020/jekyll-theme-chirpy/issues/903)) ([712a9b2](https://github.com/cotes2020/jekyll-theme-chirpy/commit/712a9b22401ce591cf4c0bb03fbdd1693fee30bb)) -* **ux:** turn home page posts into clickable cards ([#895](https://github.com/cotes2020/jekyll-theme-chirpy/issues/895)) ([b85f633](https://github.com/cotes2020/jekyll-theme-chirpy/commit/b85f6330dea666350631c4461b742cdb54c5f052)) - -### Bug Fixes - -* css selector string escaping vulnerability ([#888](https://github.com/cotes2020/jekyll-theme-chirpy/issues/888)) ([5c6ec9d](https://github.com/cotes2020/jekyll-theme-chirpy/commit/5c6ec9d06b6571e2c0efe6652078442dca8af477)) -* mathematics cannot scroll horizontally ([#760](https://github.com/cotes2020/jekyll-theme-chirpy/issues/760)) ([4681df7](https://github.com/cotes2020/jekyll-theme-chirpy/commit/4681df715118a37ae1e91b588de0adb67f4e331a)) -* notch status bar doesn't match theme color ([#918](https://github.com/cotes2020/jekyll-theme-chirpy/issues/918)) ([820ba62](https://github.com/cotes2020/jekyll-theme-chirpy/commit/820ba62e9e939090523a7077d01d01bd78ec84eb)) -* some console snippets will be incompletely copied ([e8e4901](https://github.com/cotes2020/jekyll-theme-chirpy/commit/e8e4901e340dd7e5fc5f656dd3c7bcd6c97b886a)) - -## [5.5.2](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v5.5.1...v5.5.2) (2023-01-30) - -### Bug Fixes - -* position of prompt icon is incorrect in paragraph on mobile ([5df953f](https://github.com/cotes2020/jekyll-theme-chirpy/commit/5df953f6c877e2aa3f1f4981c97a0b8007abe6d4)) - -## [5.5.1](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v5.5.0...v5.5.1) (2023-01-29) - -### Bug Fixes - -* the icon position of the prompts in the list is incorrect ([0c9558d](https://github.com/cotes2020/jekyll-theme-chirpy/commit/0c9558de8a01e9ab795778f351a8bbf4d6b21763)) - -## [5.5.0](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v5.4.0...v5.5.0) (2023-01-29) - -### Features - -* **i18n:** add Arabic translation ([#857](https://github.com/cotes2020/jekyll-theme-chirpy/issues/857)) ([765af53](https://github.com/cotes2020/jekyll-theme-chirpy/commit/765af53b77e5c63804784d5728f5970ae274c2c7)) -* **i18n:** add Czech language ([#833](https://github.com/cotes2020/jekyll-theme-chirpy/issues/833)) ([98d48f5](https://github.com/cotes2020/jekyll-theme-chirpy/commit/98d48f5da412276d4a0c99cd01a87b19349bc6bc)) -* **i18n:** add Finnish translations ([#843](https://github.com/cotes2020/jekyll-theme-chirpy/issues/843)) ([d6d0318](https://github.com/cotes2020/jekyll-theme-chirpy/commit/d6d03183eaf94b44e037cc48b6e1c47cee183f6e)) -* **i18n:** add Italian translation ([#850](https://github.com/cotes2020/jekyll-theme-chirpy/issues/850)) ([9a011e1](https://github.com/cotes2020/jekyll-theme-chirpy/commit/9a011e14d66195d8b2fb9ec62f3e60a3e56cd032)) - -### Bug Fixes - -* copy command line incomplete(`.gp` part) ([41ed331](https://github.com/cotes2020/jekyll-theme-chirpy/commit/41ed33145639415148aec8e85edc7a6fd0de0ca3)) -* correct encoding of spaces in share URLs ([#835](https://github.com/cotes2020/jekyll-theme-chirpy/issues/835)) ([f2d2858](https://github.com/cotes2020/jekyll-theme-chirpy/commit/f2d285844e6e2979f2b0eec1d20073d3c05b6c0c)) -* post's image would cover the PWA update alert ([bd374dd](https://github.com/cotes2020/jekyll-theme-chirpy/commit/bd374dd383c50f89c8f018ecb4e25772eeb8f6d8)) -* prompt with nested blockquotes renders incorrectly ([#846](https://github.com/cotes2020/jekyll-theme-chirpy/issues/846)) ([babb4a0](https://github.com/cotes2020/jekyll-theme-chirpy/commit/babb4a0c5a58ceb2e4093bc465670accdd526c18)) - -## [5.4.0](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v5.3.2...v5.4.0) (2022-12-27) - -### Features - -* add `rel="me"` to Mastodon sidebar contact links for verification ([#807](https://github.com/cotes2020/jekyll-theme-chirpy/issues/807)) ([d2190c7](https://github.com/cotes2020/jekyll-theme-chirpy/commit/d2190c726f61c8c9732b88b4aecf699dc8bc7deb)) -* add embed video support ([ed6dc53](https://github.com/cotes2020/jekyll-theme-chirpy/commit/ed6dc539eff7003a3765bcd8c31ae5e91a863d65)) -* add shimmer background when image loads ([ab16fdc](https://github.com/cotes2020/jekyll-theme-chirpy/commit/ab16fdc7fc26811130b98a1773beb62bff6182e8)) -* set preview image ratio to 1.91 : 1 ([4b6ccbc](https://github.com/cotes2020/jekyll-theme-chirpy/commit/4b6ccbcbccce27b9fcb035812efefe4eb69301cf)) -* support dark and light mode images ([#481](https://github.com/cotes2020/jekyll-theme-chirpy/issues/481)) ([9306c7b](https://github.com/cotes2020/jekyll-theme-chirpy/commit/9306c7b39ecf9d9146bc1a25eebedc38eb2c3dd6)) -* support LQIP for images ([bffaf63](https://github.com/cotes2020/jekyll-theme-chirpy/commit/bffaf6374f265cec96ef743d42b46fbec3b59797)) - -### Bug Fixes - -* `hreflang` tag attribute of feed misses `site.alt_lang` ([7651d28](https://github.com/cotes2020/jekyll-theme-chirpy/commit/7651d2851b4bb7d8f0d068b62c036c89a1089bbc)) -* `og:image` will be incorrect if the image uses a cross-domain URL ([8de1abd](https://github.com/cotes2020/jekyll-theme-chirpy/commit/8de1abda6be3633982392178731431b0ddb1b52b)) -* refactoring error when the image URL contains parameters ([ec98f07](https://github.com/cotes2020/jekyll-theme-chirpy/commit/ec98f07aca0b80a9c07fbcdc8e0d7d66dba98ed2)) -* spaces in post title are encoded when sharing ([7efd2f8](https://github.com/cotes2020/jekyll-theme-chirpy/commit/7efd2f8aa2ea1c3aeb7d740bf9a018881c26fe65)) - -### Improvements - -* **cdn:** optimize cache policy for static assets ([7fb0ee0](https://github.com/cotes2020/jekyll-theme-chirpy/commit/7fb0ee0bedb63eee3f90a49c6d7fb8b5d78c9830)) - -## [5.3.2](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v5.3.1...v5.3.2) (2022-11-22) - -### Bug Fixes - -* `mermaid` occasionally fails to initialize ([#536](https://github.com/cotes2020/jekyll-theme-chirpy/issues/536)) ([48f14e3](https://github.com/cotes2020/jekyll-theme-chirpy/commit/48f14e39ac81bbfb3b9913ea3ee789d775b2d1ae)) -* **comment:** disqus doesn't follow theme mode switching ([b0d5956](https://github.com/cotes2020/jekyll-theme-chirpy/commit/b0d5956f5a0ed894984d6b1754efeba04d8bc966)) -* restore full-text search ([#741](https://github.com/cotes2020/jekyll-theme-chirpy/issues/741)) ([6774e0e](https://github.com/cotes2020/jekyll-theme-chirpy/commit/6774e0e1fb37cf467b14be481347412713763f05)) -* the image URL in the SEO-related tags is incomplete ([#754](https://github.com/cotes2020/jekyll-theme-chirpy/issues/754)) ([f6e9a3f](https://github.com/cotes2020/jekyll-theme-chirpy/commit/f6e9a3fccf7ab34db71f8aefaf86fdcc05861076)) - -## [5.3.1](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v5.3.0...v5.3.1) (2022-10-25) - -### Bug Fixes - -* 404 page missing title in tablet/desktop view ([5511b28](https://github.com/cotes2020/jekyll-theme-chirpy/commit/5511b2883fd5a395fddfb642588d00c122f18da7)) -* prompt content overflows horizontally ([#705](https://github.com/cotes2020/jekyll-theme-chirpy/issues/705)) ([fb13e32](https://github.com/cotes2020/jekyll-theme-chirpy/commit/fb13e3219b5eca0d2e4f86a1ecabfab75240369f)) -* **tools:** multiple configuration files will fail the test ([80cb0b3](https://github.com/cotes2020/jekyll-theme-chirpy/commit/80cb0b371754e96772a7907877a8ce196398ba3d)) - -### Improvements - -* **layout:** improve the min-height of main content ([#674](https://github.com/cotes2020/jekyll-theme-chirpy/issues/674)) ([49bb93c](https://github.com/cotes2020/jekyll-theme-chirpy/commit/49bb93cc0c89ad9cfaad5edcf9cb28c3d5134575)) -* modify checkbox icon with `Liquid` ([1fd665b](https://github.com/cotes2020/jekyll-theme-chirpy/commit/1fd665bf4990c26ae23635c511c5abc9640184d1)) -* optimize the extra padding in lists ([#703](https://github.com/cotes2020/jekyll-theme-chirpy/issues/703)) ([39da11e](https://github.com/cotes2020/jekyll-theme-chirpy/commit/39da11e3f3685f49321757576d2b87a48bf25db5)), closes [#702](https://github.com/cotes2020/jekyll-theme-chirpy/issues/702) -* **posts:** improve core block bottom padding ([d2fb98b](https://github.com/cotes2020/jekyll-theme-chirpy/commit/d2fb98b3e57f2f6c3fc3816551cd0721731adf40)) -* truncate post content for search results ([647eea8](https://github.com/cotes2020/jekyll-theme-chirpy/commit/647eea8dbd716f9d3cb8330c3139fa753903f51d)) -* **typography:** optimize the line height of post content ([eac3f9b](https://github.com/cotes2020/jekyll-theme-chirpy/commit/eac3f9b434ca77e3dc64eea9cedea7b93e7b306b)) - -### Others - -* **giscus:** add `reactions-enabled` option ([#712](https://github.com/cotes2020/jekyll-theme-chirpy/issues/712)) ([70662a0](https://github.com/cotes2020/jekyll-theme-chirpy/commit/70662a0365e6b9378602dc0a57462ddad5aebcf5)) -* **locale:** restore options for changing date format ([#716](https://github.com/cotes2020/jekyll-theme-chirpy/issues/716)) ([f904e8c](https://github.com/cotes2020/jekyll-theme-chirpy/commit/f904e8cd48c343cc31e25859d9d50bfe2c056f41)) -* remove site config option `prefer_datetime_locale` ([6852ceb](https://github.com/cotes2020/jekyll-theme-chirpy/commit/6852ceb280927ff4e753a3e1131f2b396d9807d0)) - -## [5.3.0](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v5.2.1...v5.3.0) (2022-09-23) - -### Features - -* add multiple authors to a post ([#677](https://github.com/cotes2020/jekyll-theme-chirpy/issues/677)) ([f1d9e99](https://github.com/cotes2020/jekyll-theme-chirpy/commit/f1d9e99bc02d3cd0a6b0cd1beac545f0cc7a24f8)), closes [#675](https://github.com/cotes2020/jekyll-theme-chirpy/issues/675) -* **i18n:** add Bulgarian support ([#612](https://github.com/cotes2020/jekyll-theme-chirpy/issues/612)) ([2fed338](https://github.com/cotes2020/jekyll-theme-chirpy/commit/2fed338ce6d078bf528c9717201fbc475f88cd22)) -* **i18n:** add German locale file ([#663](https://github.com/cotes2020/jekyll-theme-chirpy/issues/663)) ([940b281](https://github.com/cotes2020/jekyll-theme-chirpy/commit/940b2810e95065e30600ae8d5e4612e7183da60e)) -* **i18n:** add Hungarian locale file ([#597](https://github.com/cotes2020/jekyll-theme-chirpy/issues/597), [#598](https://github.com/cotes2020/jekyll-theme-chirpy/issues/598)) ([b032977](https://github.com/cotes2020/jekyll-theme-chirpy/commit/b0329775fc24d0323e5cc04cda46ece8b4531802)) -* **i18n:** add Turkish language ([#631](https://github.com/cotes2020/jekyll-theme-chirpy/issues/631)) ([ad137fa](https://github.com/cotes2020/jekyll-theme-chirpy/commit/ad137fa2945b1870b9c1dd5e9212a5f4af7c3580)) - -### Bug Fixes - -* add missing color to linkedin icon for share list ([#683](https://github.com/cotes2020/jekyll-theme-chirpy/issues/683)) ([0dcd39d](https://github.com/cotes2020/jekyll-theme-chirpy/commit/0dcd39d491c9c49e4acf7f75f83fe6e1d1839e37)) -* code contains spaces in headings ([#644](https://github.com/cotes2020/jekyll-theme-chirpy/issues/644)) ([3fa1bf3](https://github.com/cotes2020/jekyll-theme-chirpy/commit/3fa1bf305451f645a7f3aa93863b076463c8f165)) -* correct spelling of `panel` ([#686](https://github.com/cotes2020/jekyll-theme-chirpy/issues/686)) ([b288587](https://github.com/cotes2020/jekyll-theme-chirpy/commit/b288587c1c3d113a1c52c2d25fb46cddda348961)) -* correct the i18n for tab titles ([0c5b697](https://github.com/cotes2020/jekyll-theme-chirpy/commit/0c5b697fd3b283b6a5c926742b61ed49d8688c18)) -* the `code` doesn't wrap inside the prompt ([#626](https://github.com/cotes2020/jekyll-theme-chirpy/issues/626)) ([378b65a](https://github.com/cotes2020/jekyll-theme-chirpy/commit/378b65a0617787813519dde74d6f741f255eff3d)) - -## [5.2.1](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v5.2.0...v5.2.1) (2022-06-17) - -### Bug Fixes - -* exclude CHANGELOG from output ([971fe03](https://github.com/cotes2020/jekyll-theme-chirpy/commit/971fe03ec329ae49e7d60fe3af6101cfbd1acd6c)) -* **PWA:** sometimes update notification is not triggered ([96af729](https://github.com/cotes2020/jekyll-theme-chirpy/commit/96af7291ea5b2c5ed6372e7b6f7725e67c69f1ba)) - -## [5.2.0](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v5.1.0...v5.2.0) (2022-06-09) - -### Features - -* add es-ES support to locales ([#533](https://github.com/cotes2020/jekyll-theme-chirpy/issues/533)) ([efe75ad](https://github.com/cotes2020/jekyll-theme-chirpy/commit/efe75adf2784956afb7a0b67f6634b146d9cb03b)) -* add fr-FR support to locales ([#582](https://github.com/cotes2020/jekyll-theme-chirpy/issues/582)) ([94e8144](https://github.com/cotes2020/jekyll-theme-chirpy/commit/94e81447afa457b1a6b7e8f487c47502803556d7)) -* add Vietnamese locale ([#517](https://github.com/cotes2020/jekyll-theme-chirpy/issues/517)) ([171463d](https://github.com/cotes2020/jekyll-theme-chirpy/commit/171463d76da9b7bc25dd327b8f0a868ea79e388b)) -* add pt-BR support to locales ([c2c503f](https://github.com/cotes2020/jekyll-theme-chirpy/commit/c2c503f63336884282b6bda4ec0703d6ae76771b)) -* add option to turn off PWA ([#527](https://github.com/cotes2020/jekyll-theme-chirpy/issues/527)) ([106c981](https://github.com/cotes2020/jekyll-theme-chirpy/commit/106c981bac71e7434204a77e1f0c9c61d6eb1509)) -* **PWA:** add Service Worker update notification ([d127183](https://github.com/cotes2020/jekyll-theme-chirpy/commit/d127183b9774f6321e409acdb66bf8a85d8814be)) -* support showing description of preview image ([2bd6efa](https://github.com/cotes2020/jekyll-theme-chirpy/commit/2bd6efa95a174ac44e30a3af1e57e6f40d6e0e3a)) - -### Bug Fixes - -* alt is not a valid attribute for 'a' tag ([58928db](https://github.com/cotes2020/jekyll-theme-chirpy/commit/58928dbc9068db4e4cda4371eeae1865920dce6a)) -* assets URL is missing `baseurl` in self-hosted mode ([#591](https://github.com/cotes2020/jekyll-theme-chirpy/issues/591)) ([54124d5](https://github.com/cotes2020/jekyll-theme-chirpy/commit/54124d5134995fce52e4c2fc0a5d4d1743d6264d)) -* correct the `twitter:creator` of Twitter summary card ([96a16c8](https://github.com/cotes2020/jekyll-theme-chirpy/commit/96a16c868ede51e7dfa412de63ffa1e5a49add7f)) -* correctly URL encode share links ([4c1c8d8](https://github.com/cotes2020/jekyll-theme-chirpy/commit/4c1c8d8b0eacecbbaa2d522bbdd6430f350ff760)), closes [#496](https://github.com/cotes2020/jekyll-theme-chirpy/issues/496) -* follow paginate_path config for pagination ([6900d9f](https://github.com/cotes2020/jekyll-theme-chirpy/commit/6900d9f2bc9380cbda4babf611c6eeff345291af)) -* force checkout of `gh-pages` branch ([#544](https://github.com/cotes2020/jekyll-theme-chirpy/issues/544)) ([5402523](https://github.com/cotes2020/jekyll-theme-chirpy/commit/5402523ae52a3740bcc15df0b226b2612644945d)) -* horizontal scroll for long equations ([#545](https://github.com/cotes2020/jekyll-theme-chirpy/issues/545)) ([30787fc](https://github.com/cotes2020/jekyll-theme-chirpy/commit/30787fc4cf151e955bb7afc26dfd859f1a06fce6)) -* p is not allowed in span ([4f590e2](https://github.com/cotes2020/jekyll-theme-chirpy/commit/4f590e2bba0639751771211bc0d357828ae70404)) -* remove whitespace from avatar URL ([#537](https://github.com/cotes2020/jekyll-theme-chirpy/issues/537)) ([0542b51](https://github.com/cotes2020/jekyll-theme-chirpy/commit/0542b5149c8287dca60e37f46ee36f31b43455e4)) -* resume the preview image SEO tag ([#529](https://github.com/cotes2020/jekyll-theme-chirpy/issues/529)) ([b8d1bcd](https://github.com/cotes2020/jekyll-theme-chirpy/commit/b8d1bcd3dea0abd1afef7ef154a4501fbb18938d)) -* script code should be in head or body, not in between ([2103191](https://github.com/cotes2020/jekyll-theme-chirpy/commit/2103191b2faf714a8e4418c7c347a1f942b51af8)) -* spurious header closing tags ([59e9557](https://github.com/cotes2020/jekyll-theme-chirpy/commit/59e955745f02f9b57c65af70b0979cd4a98bf53f)) -* table bypass refactoring when it contains IAL ([#519](https://github.com/cotes2020/jekyll-theme-chirpy/issues/519)) ([5d85ccb](https://github.com/cotes2020/jekyll-theme-chirpy/commit/5d85ccb9943aac88dbbefebe1c2234cdcbae5c53)) -* **theme mode:** `SCSS` syntax error ([#588](https://github.com/cotes2020/jekyll-theme-chirpy/issues/588)) ([76a1b6a](https://github.com/cotes2020/jekyll-theme-chirpy/commit/76a1b6a068c369138422dcd18ba08ec8cc3749a6)) -* use `jsonify` to generate valid json ([#521](https://github.com/cotes2020/jekyll-theme-chirpy/issues/521)) ([dd9d5a7](https://github.com/cotes2020/jekyll-theme-chirpy/commit/dd9d5a7207b746342d07176d8969dc4f2c380bf2)) -* when the `site.img_cdn` is set to the local path, the preview-image path loses the `baseurl` ([9cefe58](https://github.com/cotes2020/jekyll-theme-chirpy/commit/9cefe58993d9ea3a3a28424e7ffd8e0911567c5c)) - -### Improvements - -* avoid post pageviews from shifting while loading ([135a16f](https://github.com/cotes2020/jekyll-theme-chirpy/commit/135a16f13ee783d9308669ff9a824847a73c951c)) -* avoid the layout shift for post datetime ([6d35f5f](https://github.com/cotes2020/jekyll-theme-chirpy/commit/6d35f5f8da044cfad071628bb53776de03efaae4)) -* **categories:** support singular and plural forms of locale ([#595](https://github.com/cotes2020/jekyll-theme-chirpy/issues/595)) ([35cadf9](https://github.com/cotes2020/jekyll-theme-chirpy/commit/35cadf969dd0161ee62503e242c545f006f7072b)) -* improve the responsive design for ultrawide screens ([#540](https://github.com/cotes2020/jekyll-theme-chirpy/issues/540)) ([5d6e8c5](https://github.com/cotes2020/jekyll-theme-chirpy/commit/5d6e8c5ef6aa71b4d2600c5305f6e8ba540557f7)) diff --git a/docs/CODE_OF_CONDUCT.md b/docs/CODE_OF_CONDUCT.md deleted file mode 100644 index 0bf4a9e..0000000 --- a/docs/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,73 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, sex characteristics, gender identity and expression, -level of experience, education, socio-economic status, nationality, personal -appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at `cotes.chung@gmail.com`. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at - -For answers to common questions about this code of conduct, see - - -[homepage]: https://www.contributor-covenant.org diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md deleted file mode 100644 index 63024c3..0000000 --- a/docs/CONTRIBUTING.md +++ /dev/null @@ -1,109 +0,0 @@ -# Contributing Guidelines - -_First of all, thank you for considering contributing to this project_ ! :tada: - -There are many ways to contribute, from writing tutorials or blog posts, improving the documentation, submitting bug -reports and feature requests, or writing code that can be incorporated into the project. In order to make a good -experience for both contributors and maintainers, please start with the "[General Rules](#general-rules)" -before taking further action. - -## Table of Contents - -- [General Rules](#general-rules) -- [Questions and Requests for Help](#questions-and-requests-for-help) -- [Reporting a Bug](#reporting-a-bug) -- [Suggesting a New Feature](#suggesting-a-new-feature) -- [Contributing Code/Documentation](#contributing-codedocumentation) -- [Helpful Resources](#helpful-resources) - -## General Rules - -All types of contributions (_pull requests_, _issues_, and _discussions_) should follow these rules: - -- You should read through the [Wiki][wiki] to understand the project features and how to use it properly. This is to -respect the time of the project's developers and -maintainers and to save their energy for other problems that really need to be resolved. - -- Use the [latest release version][latest-ver]. If your contribution involves code/documentation changes, update to the -latest version of the default (`master`) branch. - -- Avoid making duplicate contributions by searching for existing [issues][issues] / [discussions][discus] / -[pull requests][pr], but don't leave any unhelpful comments such as "I have the same problem". Prefer using -[reactions][gh-reactions] if you simply want to "+1" an existing issue. - -- DO NOT email or tweet the -project developers and maintainers directly, everything about the project should be left on GitHub. - -**Tip**: If you are new to the open-source community, then please read through -"[How To Ask Questions The Smart Way][ext-reading]" before contributing. - -## Questions and Requests for Help - -We expect every reasonable question you ask to be answered appropriately. If you want a quick and timely response, -please ask questions at [Jekyll Talk][jekyll-talk] and [StackOverflow][stack-overflow], where there are tons of -enthusiastic geeks who will positively answer your challenging questions. - -If you can't get an answer in any of the above ways, then create a new [discussion][discus]. As long as it is not a -duplicate and [RTFM][rtfm] / [STFW][stfw] issue, we will respond as soon as possible. - -## Reporting a Bug - -A great way to contribute to the project is to send a detailed issue when you encounter a problem. We always appreciate -a well-written, thorough bug report. - -1. Please figure out why the bug occurred, or locate the module in the project that caused this bug. Otherwise, there is -a high probability that you are using/setting it incorrectly. - -2. If the issue is caused by you modifying the project code or some configuration of Jekyll, then please DO NOT -report such "bugs". -Chirpy is an open-source project, but that doesn't mean we will maintain other specific forks (such as yours). -You can learn about Jekyll and modern Web development to solve problems caused by custom modifications. - -3. Make good use of your browser's incognito mode to troubleshoot if the problem is caused by caching. - -4. As a last option, you can create a new [Bug Report][bug-report] following the template to describe the details. -If possible, providing a demo that reproduces the error will help us troubleshoot faster. - -## Suggesting a New Feature - -Feature requests are welcome! While we will consider all requests, we cannot guarantee your request will be accepted. -We want to avoid chaos in the UI design and therefore do not accept requests for changes like color schemes, -fontfamilies, typography, and so on. We want to avoid [feature creep][feat-creep] and focus only on the core features. -If accepted, we cannot make any commitments regarding the timeline for implementation and release. However, you are -welcome to submit a pull request to help! - -## Contributing Code/Documentation - -If your request is about an enhancement, it is recommended to first submit a -[Feature Request][feat-request] to discuss whether your idea fits the project. -See also: "[Suggesting a New Feature](#suggesting-a-new-feature)". Other than that, you can start the PR process. - -1. Fork this project on GitHub and clone your repository locally. -2. Setting up the [development & test environments][dev-env]. -3. Creating a new branch from the default branch and give it a descriptive name (e.g. `add-a-new-feat` or `fix-a-bug`). -When development is complete, create a [Conventional Commit][cc] with Git. -4. Submitting a [Pull Request][gh-pr]. - -## Helpful Resources - -- [Code of conduct](https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/docs/CODE_OF_CONDUCT.md) -- [Security policy](https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/docs/SECURITY.md) -- [How To Ask Questions The Smart Way][ext-reading] - -[latest-ver]: https://github.com/cotes2020/jekyll-theme-chirpy/releases/latest -[wiki]: https://github.com/cotes2020/jekyll-theme-chirpy/wiki -[issues]: https://github.com/cotes2020/jekyll-theme-chirpy/issues?q=is%3Aissue -[pr]: https://github.com/cotes2020/jekyll-theme-chirpy/pulls -[discus]: https://github.com/cotes2020/jekyll-theme-chirpy/discussions -[ext-reading]: http://www.catb.org/~esr/faqs/smart-questions.html -[jekyll-talk]: https://talk.jekyllrb.com/ -[stack-overflow]: https://stackoverflow.com/questions/tagged/jekyll -[rtfm]: https://en.wikipedia.org/wiki/RTFM -[stfw]: https://www.webster-dictionary.org/definition/STFW -[gh-reactions]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/ -[bug-report]: https://github.com/cotes2020/jekyll-theme-chirpy/issues/new?assignees=&labels=&projects=&template=bug_report.yml -[feat-request]: https://github.com/cotes2020/jekyll-theme-chirpy/issues/new?assignees=&labels=enhancement&projects=&template=feature_request.yml -[feat-creep]: https://en.wikipedia.org/wiki/Feature_creep -[dev-env]: https://github.com/cotes2020/jekyll-theme-chirpy/wiki/Development-&-Test-Environments -[cc]: https://www.conventionalcommits.org/ -[gh-pr]: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests diff --git a/docs/SECURITY.md b/docs/SECURITY.md deleted file mode 100644 index 5a07d26..0000000 --- a/docs/SECURITY.md +++ /dev/null @@ -1,13 +0,0 @@ -# Security Policy - -## Supported Versions - -| Version | Supported | -|:----------|:---------:| -| `6.x` | ✓ | -| < `6.0.0` | ✗ | - -## Reporting a Vulnerability - -If you find a vulnerability, please report it to `cotes.chung@gmail.com`. -We will try our best to respond within a week. Thank you for your time! diff --git a/index.html b/index.html deleted file mode 100644 index 1357b08..0000000 --- a/index.html +++ /dev/null @@ -1,4 +0,0 @@ ---- -layout: home -# Index page ---- diff --git a/jekyll-theme-chirpy.gemspec b/jekyll-theme-chirpy.gemspec deleted file mode 100644 index 3b2335a..0000000 --- a/jekyll-theme-chirpy.gemspec +++ /dev/null @@ -1,36 +0,0 @@ -# frozen_string_literal: true - -Gem::Specification.new do |spec| - spec.name = "jekyll-theme-chirpy" - spec.version = "6.5.5" - spec.authors = ["Cotes Chung"] - spec.email = ["cotes.chung@gmail.com"] - - spec.summary = "A minimal, responsive, and feature-rich Jekyll theme for technical writing." - spec.homepage = "https://github.com/cotes2020/jekyll-theme-chirpy" - spec.license = "MIT" - - spec.files = `git ls-files -z`.split("\x0").select { |f| - f.match(%r!^((_(includes|layouts|sass|(data\/(locales|origin)))|assets)\/|README|LICENSE)!i) - } - - spec.metadata = { - "bug_tracker_uri" => "https://github.com/cotes2020/jekyll-theme-chirpy/issues", - "documentation_uri" => "https://github.com/cotes2020/jekyll-theme-chirpy/#readme", - "homepage_uri" => "https://cotes2020.github.io/chirpy-demo", - "source_code_uri" => "https://github.com/cotes2020/jekyll-theme-chirpy", - "wiki_uri" => "https://github.com/cotes2020/jekyll-theme-chirpy/wiki", - "plugin_type" => "theme" - } - - spec.required_ruby_version = ">= 3.0" - - spec.add_runtime_dependency "jekyll", "~> 4.3" - spec.add_runtime_dependency "jekyll-paginate", "~> 1.1" - spec.add_runtime_dependency "jekyll-redirect-from", "~> 0.16" - spec.add_runtime_dependency "jekyll-seo-tag", "~> 2.8" - spec.add_runtime_dependency "jekyll-archives", "~> 2.2" - spec.add_runtime_dependency "jekyll-sitemap", "~> 1.4" - spec.add_runtime_dependency "jekyll-include-cache", "~> 0.2" - -end diff --git a/package.json b/package.json deleted file mode 100644 index a5f4045..0000000 --- a/package.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "name": "jekyll-theme-chirpy", - "version": "6.5.5", - "description": "A minimal, responsive, and feature-rich Jekyll theme for technical writing.", - "repository": { - "type": "git", - "url": "git+https://github.com/cotes2020/jekyll-theme-chirpy.git" - }, - "author": "Cotes Chung", - "license": "MIT", - "bugs": { - "url": "https://github.com/cotes2020/jekyll-theme-chirpy/issues" - }, - "homepage": "https://github.com/cotes2020/jekyll-theme-chirpy/", - "scripts": { - "prebuild": "npx rimraf assets/js/dist", - "build": "NODE_ENV=production npx rollup -c --bundleConfigAsCjs", - "prewatch": "npx rimraf assets/js/dist", - "watch": "npx rollup -c --bundleConfigAsCjs -w", - "test": "npx stylelint _sass/**/*.scss", - "fixlint": "npm run test -- --fix" - }, - "devDependencies": { - "@babel/core": "^7.23.9", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/preset-env": "^7.23.9", - "@commitlint/cli": "^18.6.1", - "@commitlint/config-conventional": "^18.6.2", - "@rollup/plugin-babel": "^6.0.4", - "@rollup/plugin-terser": "^0.4.4", - "husky": "^9.0.11", - "rimraf": "^5.0.5", - "rollup": "^4.10.0", - "rollup-plugin-license": "^3.2.0", - "stylelint": "^16.2.1", - "stylelint-config-standard-scss": "^13.0.0" - }, - "prettier": { - "trailingComma": "none" - }, - "browserslist": [ - "last 2 versions", - "> 0.2%", - "not dead" - ], - "commitlint": { - "extends": [ - "@commitlint/config-conventional" - ], - "rules": { - "body-max-line-length": [ - 0, - "always" - ] - } - }, - "stylelint": { - "extends": "stylelint-config-standard-scss", - "rules": { - "no-descending-specificity": null, - "shorthand-property-no-redundant-values": null, - "at-rule-no-vendor-prefix": null, - "property-no-vendor-prefix": null, - "selector-no-vendor-prefix": null, - "value-no-vendor-prefix": null, - "color-function-notation": "legacy", - "alpha-value-notation": "number", - "selector-not-notation": "simple", - "color-hex-length": "long", - "declaration-block-single-line-max-declarations": 3, - "scss/operator-no-newline-after": null, - "rule-empty-line-before": [ - "always", - { - "ignore": [ - "after-comment", - "first-nested" - ] - } - ], - "value-keyword-case": [ - "lower", - { - "ignoreProperties": [ - "/^\\$/" - ] - } - ], - "media-feature-range-notation": "prefix" - } - }, - "standard-version": { - "skip": { - "commit": true, - "tag": true - }, - "types": [ - { - "type": "feat", - "section": "Features" - }, - { - "type": "fix", - "section": "Bug Fixes" - }, - { - "type": "perf", - "section": "Improvements" - } - ] - } -} diff --git a/rollup.config.js b/rollup.config.js deleted file mode 100644 index 7f2d14a..0000000 --- a/rollup.config.js +++ /dev/null @@ -1,46 +0,0 @@ -import babel from '@rollup/plugin-babel'; -import terser from '@rollup/plugin-terser'; -import license from 'rollup-plugin-license'; -import path from 'path'; - -const SRC_DEFAULT = '_javascript'; -const DIST_DEFAULT = 'assets/js/dist'; -const isProd = process.env.NODE_ENV === 'production'; - -function build(filename) { - return { - input: [`${SRC_DEFAULT}/${filename}.js`], - output: { - file: `${DIST_DEFAULT}/${filename}.min.js`, - format: 'iife', - name: 'Chirpy', - sourcemap: !isProd - }, - watch: { - include: `${SRC_DEFAULT}/**` - }, - plugins: [ - babel({ - babelHelpers: 'bundled', - presets: ['@babel/env'], - plugins: ['@babel/plugin-proposal-class-properties'] - }), - license({ - banner: { - commentStyle: 'ignored', - content: { file: path.join(__dirname, SRC_DEFAULT, '_copyright') } - } - }), - isProd && terser() - ] - }; -} - -export default [ - build('commons'), - build('home'), - build('categories'), - build('page'), - build('post'), - build('misc') -]; diff --git a/tools/init b/tools/init deleted file mode 100755 index 5baac5d..0000000 --- a/tools/init +++ /dev/null @@ -1,141 +0,0 @@ -#!/usr/bin/env bash -# -# Init the environment for new user. - -set -eu - -# CLI Dependencies -CLI=("git" "npm") - -ACTIONS_WORKFLOW=pages-deploy.yml - -# temporary file suffixes that make `sed -i` compatible with BSD and Linux -TEMP_SUFFIX="to-delete" - -_no_gh=false - -help() { - echo "Usage:" - echo - echo " bash /path/to/init [options]" - echo - echo "Options:" - echo " --no-gh Do not deploy to Github." - echo " -h, --help Print this help information." -} - -# BSD and GNU compatible sed -_sedi() { - regex=$1 - file=$2 - sed -i.$TEMP_SUFFIX "$regex" "$file" - rm -f "$file".$TEMP_SUFFIX -} - -_check_cli() { - for i in "${!CLI[@]}"; do - cli="${CLI[$i]}" - if ! command -v "$cli" &>/dev/null; then - echo "Command '$cli' not found! Hint: you should install it." - exit 1 - fi - done -} - -_check_status() { - if [[ -n $(git status . -s) ]]; then - echo "Error: Commit unstaged files first, and then run this tool again." - exit 1 - fi -} - -_check_init() { - local _has_inited=false - - if [[ ! -d .github ]]; then # using option `--no-gh` - _has_inited=true - else - if [[ -f .github/workflows/$ACTIONS_WORKFLOW ]]; then - # on BSD, the `wc` could contains blank - local _count - _count=$(find .github/workflows/ -type f -name "*.yml" | wc -l) - if [[ ${_count//[[:blank:]]/} == 1 ]]; then - _has_inited=true - fi - fi - fi - - if $_has_inited; then - echo "Already initialized." - exit 0 - fi -} - -check_env() { - _check_cli - _check_status - _check_init -} - -checkout_latest_release() { - hash=$(git log --grep="chore(release):" -1 --pretty="%H") - git reset --hard "$hash" -} - -init_files() { - if $_no_gh; then - rm -rf .github - else - ## Change the files of `.github` - mv .github/workflows/$ACTIONS_WORKFLOW.hook . - rm -rf .github - mkdir -p .github/workflows - mv ./${ACTIONS_WORKFLOW}.hook .github/workflows/${ACTIONS_WORKFLOW} - - ## Cleanup image settings in site config - _sedi "s/^img_cdn:.*/img_cdn:/;s/^avatar:.*/avatar:/" _config.yml - fi - - # remove the other files - rm -rf _posts/* - - # build assets - npm i && npm run build - - # track the js output - _sedi "/^assets.*\/dist/d" .gitignore -} - -commit() { - git add -A - git commit -m "chore: initialize the environment" -q - echo -e "\n[INFO] Initialization successful!\n" -} - -main() { - check_env - checkout_latest_release - init_files - commit -} - -while (($#)); do - opt="$1" - case $opt in - --no-gh) - _no_gh=true - shift - ;; - -h | --help) - help - exit 0 - ;; - *) - # unknown option - help - exit 1 - ;; - esac -done - -main diff --git a/tools/release b/tools/release deleted file mode 100755 index 9ca63dc..0000000 --- a/tools/release +++ /dev/null @@ -1,220 +0,0 @@ -#!/usr/bin/env bash -# -# Release a new version to the GitLab flow production branch. -# -# For a new major/minor version, bump version on the main branch, and then merge into the production branch. -# -# For a patch version, bump the version number on the patch branch, then merge that branch into the main branch -# and production branch. -# -# -# Usage: run on the default, release or the patch branch -# -# Requires: Git, NPM and RubyGems - -set -eu - -opt_pre=false # preview mode option - -working_branch="$(git branch --show-current)" - -DEFAULT_BRANCH="$(git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@')" - -PROD_BRANCH="production" - -GEM_SPEC="jekyll-theme-chirpy.gemspec" -NODE_CONFIG="package.json" -CHANGE_LOG="docs/CHANGELOG.md" - -JS_DIST="assets/js/dist" -BACKUP_PATH="$(mktemp -d)" - -FILES=( - "$GEM_SPEC" - "$NODE_CONFIG" -) - -TOOLS=( - "git" - "npm" - "standard-version" - "gem" -) - -help() { - echo "A tool to release new version Chirpy gem" - echo - echo "Usage:" - echo - echo " bash ./tools/release [options]" - echo - echo "Options:" - echo " -p, --preview Enable preview mode, only package, and will not modify the branches" - echo " -h, --help Print this information." -} - -_check_cli() { - for i in "${!TOOLS[@]}"; do - cli="${TOOLS[$i]}" - if ! command -v "$cli" &>/dev/null; then - echo "> Command '$cli' not found!" - exit 1 - fi - done -} - -_check_git() { - # ensure that changes have been committed - if [[ -n $(git status . -s) ]]; then - echo "> Abort: Commit the staged files first, and then run this tool again." - exit 1 - fi - - $opt_pre || ( - if [[ $working_branch != "$DEFAULT_BRANCH" && - $working_branch != hotfix/* && - $working_branch != "$PROD_BRANCH" ]]; then - echo "> Abort: Please run on the default, release or patch branch." - exit 1 - fi - ) -} - -_check_src() { - for i in "${!FILES[@]}"; do - _src="${FILES[$i]}" - if [[ ! -f $_src && ! -d $_src ]]; then - echo -e "> Error: Missing file \"$_src\"!\n" - exit 1 - fi - done -} - -_check_node_packages() { - if [[ ! -d node_modules || "$(du node_modules | awk '{print $1}')" == "0" ]]; then - npm i - fi -} - -check() { - _check_cli - _check_git - _check_src - _check_node_packages -} - -# Auto-generate a new version number to the file 'package.json' -bump_node() { - bump="standard-version -i $CHANGE_LOG" - - if $opt_pre; then - bump="$bump -p rc" - fi - - eval "$bump" - - # Change heading of Patch version to heading level 2 (a bug from `standard-version`) - sed -i "s/^### \[/## \[/g" "$CHANGE_LOG" - # Replace multiple empty lines with a single empty line - sed -i "/^$/N;/^\n$/D" "$CHANGE_LOG" -} - -## Bump new version to gem config file -bump_gem() { - _ver="$1" - - if $opt_pre; then - _ver="${1/-/.}" - fi - - sed -i "s/[[:digit:]]\+\.[[:digit:]]\+\.[[:digit:]]\+/$_ver/" "$GEM_SPEC" -} - -# Creates a new tag on the production branch with the given version number. -# Also commits the changes and merges the production branch into the default branch. -branch() { - _version="$1" # X.Y.Z - - git add . - git commit -m "chore(release): $_version" - - # Create a new tag on production branch - echo -e "> Create tag v$_version\n" - git tag "v$_version" - - git checkout "$DEFAULT_BRANCH" - git merge --no-ff --no-edit "$PROD_BRANCH" - - if [[ $working_branch == hotfix/* ]]; then - # delete the patch branch - git branch -D "$working_branch" - fi -} - -## Build a Gem package -build_gem() { - git checkout "$PROD_BRANCH" - - # Remove unnecessary theme settings - sed -i "s/^img_cdn:.*/img_cdn:/;s/^avatar:.*/avatar:/" _config.yml - rm -f ./*.gem - - npm run build - git add "$JS_DIST" -f # add JS distribution files to gem - gem build "$GEM_SPEC" - cp "$JS_DIST"/* "$BACKUP_PATH" - - # Resume the settings - git reset - git checkout . - - # restore the dist files for future development - mkdir -p "$JS_DIST" && cp "$BACKUP_PATH"/* "$JS_DIST" - - # back to the default branch - git checkout "$DEFAULT_BRANCH" -} - -main() { - check - - if [[ $opt_pre = false && $working_branch != "$PROD_BRANCH" ]]; then - git checkout "$PROD_BRANCH" - git merge --no-ff --no-edit "$working_branch" - fi - - bump_node - - _version="$(grep '"version":' "$NODE_CONFIG" | sed 's/.*: "//;s/".*//')" - - bump_gem "$_version" - - if [[ $opt_pre = false ]]; then - branch "$_version" - fi - - echo -e "> Build the gem package for v$_version\n" - - build_gem -} - -while (($#)); do - opt="$1" - case $opt in - -p | --preview) - opt_pre=true - shift - ;; - -h | --help) - help - exit 0 - ;; - *) - # unknown option - help - exit 1 - ;; - esac -done - -main diff --git a/tools/run b/tools/run deleted file mode 100755 index 8072e41..0000000 --- a/tools/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -# -# Run jekyll serve and then launch the site - -bundle exec jekyll s -H 0.0.0.0 -l diff --git a/tools/test b/tools/test deleted file mode 100755 index 9fa02ad..0000000 --- a/tools/test +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env bash -# -# Build and test the site content -# -# Requirement: html-proofer, jekyll -# -# Usage: See help information - -set -eu - -SITE_DIR="_site" - -_config="_config.yml" - -_baseurl="" - -help() { - echo "Build and test the site content" - echo - echo "Usage:" - echo - echo " bash ./tools/test [options]" - echo - echo "Options:" - echo ' -c, --config "" Specify config file(s)' - echo " -h, --help Print this information." -} - -read_baseurl() { - if [[ $_config == *","* ]]; then - # multiple config - IFS="," - read -ra config_array <<<"$_config" - - # reverse loop the config files - for ((i = ${#config_array[@]} - 1; i >= 0; i--)); do - _tmp_baseurl="$(grep '^baseurl:' "${config_array[i]}" | sed "s/.*: *//;s/['\"]//g;s/#.*//")" - - if [[ -n $_tmp_baseurl ]]; then - _baseurl="$_tmp_baseurl" - break - fi - done - - else - # single config - _baseurl="$(grep '^baseurl:' "$_config" | sed "s/.*: *//;s/['\"]//g;s/#.*//")" - fi -} - -main() { - # clean up - if [[ -d $SITE_DIR ]]; then - rm -rf "$SITE_DIR" - fi - - read_baseurl - - # build - JEKYLL_ENV=production bundle exec jekyll b \ - -d "$SITE_DIR$_baseurl" -c "$_config" - - # test - bundle exec htmlproofer "$SITE_DIR" \ - --disable-external=true \ - --ignore-urls "/^http:\/\/127.0.0.1/,/^http:\/\/0.0.0.0/,/^http:\/\/localhost/" -} - -while (($#)); do - opt="$1" - case $opt in - -c | --config) - _config="$2" - shift - shift - ;; - -h | --help) - help - exit 0 - ;; - *) - # unknown option - help - exit 1 - ;; - esac -done - -main