mirror of
https://github.com/welpo/tabi.git
synced 2025-10-11 07:46:15 +02:00
Merge branch 'main' of github.com:welpo/tabi
This commit is contained in:
commit
89ebc6d253
50 changed files with 861 additions and 227 deletions
6
.github/workflows/ci.yml
vendored
6
.github/workflows/ci.yml
vendored
|
@ -18,12 +18,12 @@ jobs:
|
|||
uses: actions/checkout@v4
|
||||
|
||||
- name: Zola Build
|
||||
uses: shalzz/zola-deploy-action@v0.19.2
|
||||
uses: shalzz/zola-deploy-action@v0.20.0
|
||||
env:
|
||||
BUILD_ONLY: true
|
||||
|
||||
- name: Zola Check
|
||||
uses: shalzz/zola-deploy-action@v0.19.2
|
||||
uses: shalzz/zola-deploy-action@v0.20.0
|
||||
env:
|
||||
BUILD_ONLY: true
|
||||
CHECK_LINKS: true
|
||||
|
@ -37,7 +37,7 @@ jobs:
|
|||
uses: actions/checkout@v4
|
||||
|
||||
- name: Build and Deploy
|
||||
uses: shalzz/zola-deploy-action@v0.19.2
|
||||
uses: shalzz/zola-deploy-action@v0.20.0
|
||||
env:
|
||||
PAGES_BRANCH: gh-pages
|
||||
TOKEN: ${{ secrets.TOKEN }}
|
||||
|
|
123
CHANGELOG.md
123
CHANGELOG.md
|
@ -4,6 +4,105 @@ Welcome to the changelog for tabi. This document aims to provide a comprehensive
|
|||
|
||||
We use Semantic Versioning (SemVer) for our version numbers, formatted as MAJOR.MINOR.PATCH. Major version changes involve significant (breaking) changes, minor versions introduce features and improvements in a backward compatible manner, and patch versions are for bug fixes and minor tweaks.
|
||||
|
||||
## [4.0.0](https://github.com/welpo/tabi/compare/v3.1.0..v4.0.0) - 2025-02-16
|
||||
|
||||
### 💥 BREAKING CHANGES 💥
|
||||
|
||||
- *(archive)* Enforce chronological sorting ([#483](https://github.com/welpo/tabi/issues/483)) by [@welpo](https://github.com/welpo)
|
||||
- Add tag filtering for projects ([#431](https://github.com/welpo/tabi/issues/431)) ([a783329](https://github.com/welpo/tabi/commit/a7833299fff4c753e35fa1f00667d8801f541f9a)) by [@welpo](https://github.com/welpo)
|
||||
|
||||
### ✨ Features
|
||||
|
||||
- *(archive)* [**‼️BREAKING‼️**] Enforce chronological sorting ([#483](https://github.com/welpo/tabi/issues/483)) by [@welpo](https://github.com/welpo)
|
||||
- *(shortcodes)* Add 'aside' shortcode for side notes ([#452](https://github.com/welpo/tabi/issues/452)) by [@welpo](https://github.com/welpo)
|
||||
- *(socials)* Add more Fediverse social icons ([89ad44c](https://github.com/welpo/tabi/commit/89ad44ce26d002f2f2c3baa6cf769fb8972551af)) by [@welpo](https://github.com/welpo)
|
||||
- *(socials)* Add Letterboxd social icon ([0e0a391](https://github.com/welpo/tabi/commit/0e0a391ea84c3ed8b66931158ddef1e4cdd161f4)) by [@welpo](https://github.com/welpo)
|
||||
- *(socials)* Add ORCID icon ([cf63855](https://github.com/welpo/tabi/commit/cf6385553c779710d1164509f3fc0d480e858ebd)) by [@welpo](https://github.com/welpo)
|
||||
- Add `hide_from_main_feed` support ([#490](https://github.com/welpo/tabi/issues/490)) by [@welpo](https://github.com/welpo)
|
||||
- Support Zola's native code block names ([#489](https://github.com/welpo/tabi/issues/489)) by [@welpo](https://github.com/welpo)
|
||||
- Render markdown in page titles & descriptions ([#486](https://github.com/welpo/tabi/issues/486)) by [@stalkerGH](https://github.com/stalkerGH) and [@welpo](https://github.com/welpo)
|
||||
- Add indicator to external links ([#443](https://github.com/welpo/tabi/issues/443)) by [@welpo](https://github.com/welpo)
|
||||
- Allow setting post_listing_date per section ([a3ae897](https://github.com/welpo/tabi/commit/a3ae897c8310ba6a1da72db0fc81f19ca8993d6f)) by [@welpo](https://github.com/welpo)
|
||||
- Render section content ([#484](https://github.com/welpo/tabi/issues/484)) by [@welpo](https://github.com/welpo)
|
||||
- Support disabling header font-subset ([#458](https://github.com/welpo/tabi/issues/458)) by [@Nizzlay](https://github.com/Nizzlay) and [@welpo](https://github.com/welpo)
|
||||
- Support using info-page.html for sections ([#455](https://github.com/welpo/tabi/issues/455)) by [@wischi-chr](https://github.com/wischi-chr) and [@welpo](https://github.com/welpo)
|
||||
- Add `raw_path` parameter to image shortcodes ([#439](https://github.com/welpo/tabi/issues/439)) by [@welpo](https://github.com/welpo)
|
||||
- [**‼️BREAKING‼️**] Add tag filtering for projects ([#431](https://github.com/welpo/tabi/issues/431)) ([a783329](https://github.com/welpo/tabi/commit/a7833299fff4c753e35fa1f00667d8801f541f9a)) by [@welpo](https://github.com/welpo)
|
||||
|
||||
### 🐛 Bug fixes
|
||||
|
||||
- *(CSP)* Improve CSP coverage ([#471](https://github.com/welpo/tabi/issues/471)) by [@stekershaw](https://github.com/stekershaw)
|
||||
- *(analytics)* Update umami domain ([#448](https://github.com/welpo/tabi/issues/448)) by [@arichtman](https://github.com/arichtman)
|
||||
- *(feed)* Styling now works in all website paths ([45fe170](https://github.com/welpo/tabi/commit/45fe17046704e249be3b5fbb94a3355d21149d4d)) by [@welpo](https://github.com/welpo)
|
||||
- *(feed)* Load CSS in subfolder setups ([#467](https://github.com/welpo/tabi/issues/467)) by [@welpo](https://github.com/welpo)
|
||||
- Adapt footnotes styling for zola 0.19.x & 0.20.x ([1c067e7](https://github.com/welpo/tabi/commit/1c067e708eac4282a2191507f046eacd9f18e0f6)) by [@welpo](https://github.com/welpo)
|
||||
- Improve menu accessibility ([#482](https://github.com/welpo/tabi/issues/482)) by [@welpo](https://github.com/welpo)
|
||||
- Support external URLs in menu ([#481](https://github.com/welpo/tabi/issues/481)) by [@welpo](https://github.com/welpo)
|
||||
- Remove `nofollow` robots meta tag ([#465](https://github.com/welpo/tabi/issues/465)) by [@Nizzlay](https://github.com/Nizzlay)
|
||||
- Show feed icon without socials ([de6fa58](https://github.com/welpo/tabi/commit/de6fa58fe3b276c12f16f9ddc1cf9f93269161f9)) by [@welpo](https://github.com/welpo)
|
||||
- Add separator between update date & remote changes link ([2cc336d](https://github.com/welpo/tabi/commit/2cc336d9d0f7019015a356242230f0568658a523)) by [@welpo](https://github.com/welpo)
|
||||
- Support relative paths in inherited social media card ([#432](https://github.com/welpo/tabi/issues/432)) by [@welpo](https://github.com/welpo)
|
||||
|
||||
### 💄 Styling
|
||||
|
||||
- *(admonitions)* Fix external link icon ([2b106b7](https://github.com/welpo/tabi/commit/2b106b7c628e01046495a3add7a9ec4cc00b9fa3)) by [@welpo](https://github.com/welpo)
|
||||
- Increase emoji favicon size ([d777d5d](https://github.com/welpo/tabi/commit/d777d5d99679ab609bebb89726aef80562b30d87)) by [@welpo](https://github.com/welpo)
|
||||
- Remove extra whitespace in post metadata ([dbb0e82](https://github.com/welpo/tabi/commit/dbb0e826b6572531d4c44bdb031d68207a906666)) by [@welpo](https://github.com/welpo)
|
||||
- Use text-colour for hover on `rt` in links ([a6b6c32](https://github.com/welpo/tabi/commit/a6b6c3205096fd718757a6f32ff07d60bcc22808)) by [@welpo](https://github.com/welpo)
|
||||
- Fix home banner layout for short intro ([#438](https://github.com/welpo/tabi/issues/438)) by [@welpo](https://github.com/welpo)
|
||||
- Fix numbered code blocks on iOS Safari ([4be8a56](https://github.com/welpo/tabi/commit/4be8a5634fa2990825e9bc785029c4dddb340c39)) by [@welpo](https://github.com/welpo)
|
||||
- Fix numbered code blocks ([#437](https://github.com/welpo/tabi/issues/437)) by [@welpo](https://github.com/welpo)
|
||||
- Retain base code block style in admonitions ([557ea77](https://github.com/welpo/tabi/commit/557ea7786ffbad75fafdd69d864d6073fd1dadbc)) by [@welpo](https://github.com/welpo)
|
||||
|
||||
### 📝 Documentation
|
||||
|
||||
- *(README)* Fix typo ([#457](https://github.com/welpo/tabi/issues/457)) by [@Olexandr88](https://github.com/Olexandr88)
|
||||
- *(README)* Add maintenance badges ([4834a9e](https://github.com/welpo/tabi/commit/4834a9e85ff89f1678374752289116bce6f3a076)) by [@welpo](https://github.com/welpo)
|
||||
- *(demo)* Basic Arabic translation ([#390](https://github.com/welpo/tabi/issues/390)) by [@TheAwiteb](https://github.com/TheAwiteb) and [@welpo](https://github.com/welpo)
|
||||
- *(series)* Add tip for custom text permalinks ([4029657](https://github.com/welpo/tabi/commit/402965786beb942aab0922de68cd98952f9a9be0)) by [@welpo](https://github.com/welpo)
|
||||
- *(shortcodes)* Clarify aside usage ([1dcd615](https://github.com/welpo/tabi/commit/1dcd615615b492dffc00c34bd7e1bbc680cf95fd)) by [@welpo](https://github.com/welpo)
|
||||
- *(shortcodes)* Clarify `position` parameter usage for "aside" ([da1b6bb](https://github.com/welpo/tabi/commit/da1b6bb0cc7719f3de23a6855d80dc0262d5c025)) by [@welpo](https://github.com/welpo)
|
||||
- Suggest MathML in lieu of KaTeX for JS-free math ([eb03953](https://github.com/welpo/tabi/commit/eb0395352caffab67f1ad9b81aab51824e9feb54)) by [@welpo](https://github.com/welpo)
|
||||
- Add tabi-start integration ([#441](https://github.com/welpo/tabi/issues/441)) by [@welpo](https://github.com/welpo)
|
||||
|
||||
### ♻️ Refactor
|
||||
|
||||
- Only show project tag filter with 2 or more tags ([180fc53](https://github.com/welpo/tabi/commit/180fc533844ec3427c447f7040ea837520c4fe5d)) by [@welpo](https://github.com/welpo)
|
||||
|
||||
### 🔧 Miscellaneous tasks
|
||||
|
||||
- *(CI)* Add concurrency control to sumi action ([47ea26d](https://github.com/welpo/tabi/commit/47ea26db97cfbd87518ab00b892fdbb245577535)) by [@welpo](https://github.com/welpo)
|
||||
- *(CI)* Add dependencies label to upgrade PRs ([551b3d2](https://github.com/welpo/tabi/commit/551b3d28c6852c3a1e7acf3c645e0d7b84e079cb)) by [@welpo](https://github.com/welpo)
|
||||
- *(CI)* Ignore deleted files in pre-commit ([f93def0](https://github.com/welpo/tabi/commit/f93def0692146a15b63d19406ec1180b9e41ba3d)) by [@welpo](https://github.com/welpo)
|
||||
- *(README)* Add idle-ti.me blog to sites using tabi ([#479](https://github.com/welpo/tabi/issues/479)) by [@be-next](https://github.com/be-next)
|
||||
- *(README)* Add zzmzaw's blog to sites using tabi ([#469](https://github.com/welpo/tabi/issues/469)) by [@ZzMzaw](https://github.com/ZzMzaw)
|
||||
- *(README)* Add nizzlay.com to Sites using tabi ([#464](https://github.com/welpo/tabi/issues/464)) by [@Nizzlay](https://github.com/Nizzlay)
|
||||
- *(README)* Add szabolcs.me to Sites using tabi ([#451](https://github.com/welpo/tabi/issues/451)) by [@szabolcsf](https://github.com/szabolcsf)
|
||||
- *(README)* Set original colours for docs|up badge ([69713c9](https://github.com/welpo/tabi/commit/69713c973c11d7646c8fe56476261d96cc1978d8)) by [@welpo](https://github.com/welpo)
|
||||
- *(deps)* Check for existing branch upgrades ([29bbd2e](https://github.com/welpo/tabi/commit/29bbd2eecc97aaaa95c61f8fb736d1301042aa91)) by [@welpo](https://github.com/welpo)
|
||||
- *(docs)* Fix Series section headings ([0778212](https://github.com/welpo/tabi/commit/077821208f161e813da90c56db817b743bc211c4)) by [@welpo](https://github.com/welpo)
|
||||
- *(docs)* Use internal links in home description ([0b10560](https://github.com/welpo/tabi/commit/0b10560a94f4a0a4bcb8536ee0595e8c4f4df800)) by [@welpo](https://github.com/welpo)
|
||||
- *(projects)* Add nemui project ([11eb774](https://github.com/welpo/tabi/commit/11eb774bd74562a4628f87a130575281aa469918)) by [@welpo](https://github.com/welpo)
|
||||
- *(upgrade-deps)* Improve version detection ([0688628](https://github.com/welpo/tabi/commit/06886284202f670be2034dcedbf6130446b91436)) by [@welpo](https://github.com/welpo)
|
||||
- Add "shuku" project ([e1b6054](https://github.com/welpo/tabi/commit/e1b60542dfc3eb9bed39a92d3b7acfae88f32b84)) by [@welpo](https://github.com/welpo)
|
||||
- Add ずつ (zutsu) project page ([c6d1c3d](https://github.com/welpo/tabi/commit/c6d1c3dff844461c7c774882dec8a87d7d3ea548)) by [@welpo](https://github.com/welpo)
|
||||
- Fix dōteki docs link ([c15098a](https://github.com/welpo/tabi/commit/c15098a959242765353c7fab0906d1fc596c64c0)) by [@welpo](https://github.com/welpo)
|
||||
- Update git-sumi & dōteki projects ([6d44320](https://github.com/welpo/tabi/commit/6d44320f45bc381c65e370f8f03bf3525b59e05a)) by [@welpo](https://github.com/welpo)
|
||||
|
||||
### 👥 New contributors
|
||||
|
||||
🫶 [@stalkerGH](https://github.com/stalkerGH) made their first contribution in [#486](https://github.com/welpo/tabi/pull/486)
|
||||
|
||||
🫶 [@stekershaw](https://github.com/stekershaw) made their first contribution in [#471](https://github.com/welpo/tabi/pull/471)
|
||||
|
||||
🫶 [@Nizzlay](https://github.com/Nizzlay) made their first contribution in [#465](https://github.com/welpo/tabi/pull/465)
|
||||
|
||||
🫶 [@Olexandr88](https://github.com/Olexandr88) made their first contribution in [#457](https://github.com/welpo/tabi/pull/457)
|
||||
|
||||
🫶 [@wischi-chr](https://github.com/wischi-chr) made their first contribution in [#455](https://github.com/welpo/tabi/pull/455)
|
||||
|
||||
🫶 [@szabolcsf](https://github.com/szabolcsf) made their first contribution in [#451](https://github.com/welpo/tabi/pull/451)
|
||||
|
||||
## [3.1.0](https://github.com/welpo/tabi/compare/v3.0.0..v3.1.0) - 2024-11-14
|
||||
|
||||
### ✨ Features
|
||||
|
@ -103,6 +202,8 @@ We use Semantic Versioning (SemVer) for our version numbers, formatted as MAJOR.
|
|||
|
||||
### 👥 New contributors
|
||||
|
||||
🫶 [@github-actions](https://github.com/github-actions)[bot] made their first contribution in [#405](https://github.com/welpo/tabi/pull/405)
|
||||
|
||||
🫶 [@jmbhughes](https://github.com/jmbhughes) made their first contribution in [#404](https://github.com/welpo/tabi/pull/404)
|
||||
|
||||
## [2.16.0](https://github.com/welpo/tabi/compare/v2.15.0..v2.16.0) - 2024-09-22
|
||||
|
@ -175,6 +276,8 @@ We use Semantic Versioning (SemVer) for our version numbers, formatted as MAJOR.
|
|||
|
||||
### 👥 New contributors
|
||||
|
||||
🫶 [@soumendrak](https://github.com/soumendrak) made their first contribution in [#372](https://github.com/welpo/tabi/pull/372)
|
||||
|
||||
🫶 [@DataTriny](https://github.com/DataTriny) made their first contribution in [#367](https://github.com/welpo/tabi/pull/367)
|
||||
|
||||
🫶 [@NippleOfAnApe](https://github.com/NippleOfAnApe) made their first contribution in [#365](https://github.com/welpo/tabi/pull/365)
|
||||
|
@ -213,6 +316,8 @@ We use Semantic Versioning (SemVer) for our version numbers, formatted as MAJOR.
|
|||
|
||||
🫶 [@sam9032](https://github.com/sam9032) made their first contribution in [#355](https://github.com/welpo/tabi/pull/355)
|
||||
|
||||
🫶 [@renovate](https://github.com/renovate)[bot] made their first contribution in [#345](https://github.com/welpo/tabi/pull/345)
|
||||
|
||||
## [2.12.0](https://github.com/welpo/tabi/compare/v2.11.0..v2.12.0) - 2024-06-29
|
||||
|
||||
### ✨ Features
|
||||
|
@ -404,6 +509,10 @@ We use Semantic Versioning (SemVer) for our version numbers, formatted as MAJOR.
|
|||
|
||||
- *(release)* Replace both pull and issue links ([e951e95](https://github.com/welpo/tabi/commit/e951e951102249707a4c899f0d194b781c3466d2)) by [@welpo](https://github.com/welpo)
|
||||
|
||||
### 👥 New contributors
|
||||
|
||||
🫶 [@be-next](https://github.com/be-next) made their first contribution in [#284](https://github.com/welpo/tabi/pull/284)
|
||||
|
||||
## [2.4.0](https://github.com/welpo/tabi/compare/v2.3.0..v2.4.0) - 2024-03-02
|
||||
|
||||
### ✨ Features
|
||||
|
@ -496,6 +605,10 @@ We use Semantic Versioning (SemVer) for our version numbers, formatted as MAJOR.
|
|||
- Update changelog sections ([0e6c5c2](https://github.com/welpo/tabi/commit/0e6c5c269177712ae58649fe24662b407315d3f1)) by [@welpo](https://github.com/welpo)
|
||||
- Add continuous deployment workflow ([9b8b139](https://github.com/welpo/tabi/commit/9b8b1396cfaeefd61050cdf49bf81f01977e5899)) by [@welpo](https://github.com/welpo)
|
||||
|
||||
### 👥 New contributors
|
||||
|
||||
🫶 [@TheAwiteb](https://github.com/TheAwiteb) made their first contribution in [#264](https://github.com/welpo/tabi/pull/264)
|
||||
|
||||
## [2.1.0](https://github.com/welpo/tabi/compare/v2.0.0..v2.1.0) - 2024-01-29
|
||||
|
||||
### ✨ Features
|
||||
|
@ -549,6 +662,10 @@ We use Semantic Versioning (SemVer) for our version numbers, formatted as MAJOR.
|
|||
- *(home-banner)* [**‼️BREAKING‼️**] Force proper header.img path ([#254](https://github.com/welpo/tabi/issues/254)) by [@welpo](https://github.com/welpo)
|
||||
- *(i18n)* [**‼️BREAKING‼️**] Force config.toml copyright translation ([#255](https://github.com/welpo/tabi/issues/255)) ([9f39b7f](https://github.com/welpo/tabi/commit/9f39b7fe47721eb7aaea04d8b9ee66b557b7eabf)) by [@welpo](https://github.com/welpo)
|
||||
|
||||
### 👥 New contributors
|
||||
|
||||
🫶 [@arichtman](https://github.com/arichtman) made their first contribution in [#231](https://github.com/welpo/tabi/pull/231)
|
||||
|
||||
## 1.0.0 - 2023-12-29
|
||||
|
||||
### 💥 BREAKING CHANGES 💥
|
||||
|
@ -1089,6 +1206,10 @@ We use Semantic Versioning (SemVer) for our version numbers, formatted as MAJOR.
|
|||
|
||||
### 👥 New contributors
|
||||
|
||||
🫶 [@welpo](https://github.com/welpo) made their first contribution
|
||||
|
||||
🫶 [@ZzMzaw](https://github.com/ZzMzaw) made their first contribution in [#215](https://github.com/welpo/tabi/pull/215)
|
||||
|
||||
🫶 [@joberthrogers18](https://github.com/joberthrogers18) made their first contribution in [#219](https://github.com/welpo/tabi/pull/219)
|
||||
|
||||
🫶 [@xvello](https://github.com/xvello) made their first contribution in [#218](https://github.com/welpo/tabi/pull/218)
|
||||
|
@ -1103,6 +1224,8 @@ We use Semantic Versioning (SemVer) for our version numbers, formatted as MAJOR.
|
|||
|
||||
🫶 [@sandman](https://github.com/sandman) made their first contribution in [#170](https://github.com/welpo/tabi/pull/170)
|
||||
|
||||
🫶 [@Smtbook](https://github.com/Smtbook) made their first contribution in [#166](https://github.com/welpo/tabi/pull/166)
|
||||
|
||||
🫶 [@SeaDve](https://github.com/SeaDve) made their first contribution in [#165](https://github.com/welpo/tabi/pull/165)
|
||||
|
||||
🫶 [@stevenroose](https://github.com/stevenroose) made their first contribution in [#124](https://github.com/welpo/tabi/pull/124)
|
||||
|
|
15
config.toml
15
config.toml
|
@ -38,6 +38,8 @@ bottom_footnotes = true
|
|||
# To use a Zola built-in theme, CSP needs to allow unsafe-inline for style-src.
|
||||
highlight_theme = "css"
|
||||
smart_punctuation = true
|
||||
# Set to 'external' to add an indicator next to external links.
|
||||
external_links_class = "external"
|
||||
|
||||
[link_checker]
|
||||
internal_level = "warn"
|
||||
|
@ -61,6 +63,13 @@ description = "tabi és un tema accessible per a Zola amb cerca, suport multilin
|
|||
generate_feeds = true
|
||||
taxonomies = [{name = "tags", feed = true}]
|
||||
|
||||
[languages.ar]
|
||||
title = "~/تابي"
|
||||
description = "تابي هو قالب Zola سريع وحديث مع دعم متعدد اللغات و JavaScript اختياري ودرجة Lighthouse مثالية."
|
||||
generate_feeds = true
|
||||
taxonomies = [{name = "tags", feed = true}]
|
||||
build_search_index = false
|
||||
|
||||
[extra]
|
||||
# Check out the documentation (or the comments below) to learn how to customise tabi:
|
||||
# https://welpo.github.io/tabi/blog/mastering-tabi-settings/
|
||||
|
@ -126,13 +135,13 @@ show_remote_changes = true # Defaults to true.
|
|||
# Show a link to the repository of the site, right next to the "Powered by Zola & tabi" text.
|
||||
show_remote_source = true # Defaults to true.
|
||||
|
||||
# Add a "copy" button to codeblocks (loads ~700 bytes of JavaScript).
|
||||
# Add a "copy" button to code blocks (loads ~700 bytes of JavaScript).
|
||||
# Can be set at page or section levels, following the hierarchy: page > section > config. See: https://welpo.github.io/tabi/blog/mastering-tabi-settings/#settings-hierarchy
|
||||
copy_button = true
|
||||
|
||||
# Loads the necessary JavaScript (~400 bytes) to use the "Show source or path" shortcode: https://welpo.github.io/tabi/blog/shortcodes/#show-source-or-path
|
||||
# Make code block names clickable if they are URLs (loads ~400 bytes of JavaScript).
|
||||
# Can be set at page or section levels, following the hierarchy: page > section > config. See: https://welpo.github.io/tabi/blog/mastering-tabi-settings/#settings-hierarchy
|
||||
add_src_to_code_block = false
|
||||
code_block_name_links = false
|
||||
|
||||
# Force left-to-right (LTR) direction for code blocks.
|
||||
# Set to false to allow code to follow the document's natural direction.
|
||||
|
|
18
content/_index.ar.md
Normal file
18
content/_index.ar.md
Normal file
|
@ -0,0 +1,18 @@
|
|||
+++
|
||||
title = "أخر التدوينات"
|
||||
sort_by = "date"
|
||||
template = "section.html"
|
||||
|
||||
[extra]
|
||||
header = {title = "اهلاً انا تابي~", img = "img/main.webp", img_alt = "أوسكار فرنانديز, كاتب السمة" }
|
||||
section_path = "blog/_index.ar.md"
|
||||
max_posts = 4
|
||||
projects_path = "projects/_index.ar.md"
|
||||
max_projects = 3
|
||||
show_projects_first = false
|
||||
social_media_card = "ar.jpg"
|
||||
+++
|
||||
|
||||
تابي هو قالب Zola سريع وعصري. يهدف ليكون صفحة ومدونة شخصية. يتميز بتقييم مثالي في Lighthouse، وتصميم متجاوب، وسمات داكنة وفاتحة، وشِفرات قصيرة مخصصة، والعديد من المميزات الأخرى.
|
||||
|
||||
> ملاحظة: هذه الصفحة هي عرض توضيحي لدعم اللغة العربية في تابي. للحصول على التوثيق الكامل، يرجى الرجوع إلى [النسخة الإنجليزية](@/_index.md).
|
BIN
content/ar.jpg
Normal file
BIN
content/ar.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 54 KiB |
4
content/archive/_index.ar.md
Normal file
4
content/archive/_index.ar.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
+++
|
||||
title = "الأرشيف"
|
||||
template = "archive.html"
|
||||
+++
|
10
content/blog/_index.ar.md
Normal file
10
content/blog/_index.ar.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
+++
|
||||
paginate_by = 5
|
||||
title = "التدوينات"
|
||||
sort_by = "date"
|
||||
template = "section.html"
|
||||
insert_anchor_links = "right"
|
||||
|
||||
[extra]
|
||||
show_previous_next_article_links = true
|
||||
+++
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Sense JavaScript obligatori"
|
||||
date = 2023-01-06
|
||||
updated = 2024-12-15
|
||||
updated = 2025-02-21
|
||||
description = "JavaScript només s'utilitza quan HTML i CSS no són suficients."
|
||||
|
||||
[taxonomies]
|
||||
|
@ -28,7 +28,7 @@ Les següents opcions es poden especificar per a publicacions, seccions i global
|
|||
- [**Suport de KaTeX**](@/blog/markdown/index.ca.md#katex). Habilitat configurant `katex = true` (274 KB). Per renderitzar fórmules sense JS, prova [MathML](https://developer.mozilla.org/docs/Web/MathML/).
|
||||
- [**Diagrames de Mermaid**](@/blog/shortcodes/index.ca.md#diagrames-de-mermaid). Habilitat configurant `mermaid = true` (~2.5 MB).
|
||||
- [**Còpia de blocs de codi amb un sol clic**](@/blog/markdown/index.ca.md#bloc-de-codi). Habilitada configurant `copy_button = true`. (~700 bytes)
|
||||
- [**Mostrar ruta/URL a blocs de codi**](@/blog/shortcodes/index.ca.md#mostrar-ruta-o-url). S'activa configurant `add_src_to_code_block = true`. (~400 bytes)
|
||||
- [**Noms de blocs de codi clicables**](@/blog/shortcodes/index.ca.md#mostrar-ruta-o-url). S'activa configurant `code_block_name_links = true`. (~400 bytes)
|
||||
- [**Filtratge per etiquetes** per a graelles de targetes](@/blog/mastering-tabi-settings/index.ca.md#filtrar-projectes) (p. ex. [projectes](@/projects/_index.ca.md)) (~2KB). S'habilita configurant `enable_cards_tag_filtering = true`.
|
||||
|
||||
Per especificar aquestes opcions:
|
||||
|
@ -43,4 +43,6 @@ Per especificar aquestes opcions:
|
|||
|
||||
A part d'això, és un tema ràpid amb HTML i CSS que funciona sense JavaScript. Just com hauria de ser (la majoria de) la web :-)
|
||||
|
||||
---
|
||||
|
||||
[^1]: Per codificar el teu correu en base64 pots utilitzar [eines en línia](https://www.base64encode.org/) o, al terminal, executa: `printf 'mail@example.com' | base64`.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Sin JavaScript obligatorio"
|
||||
date = 2023-01-06
|
||||
updated = 2024-12-15
|
||||
updated = 2025-02-21
|
||||
description = "JavaScript solo se utiliza cuando HTML y CSS no son suficientes."
|
||||
|
||||
[taxonomies]
|
||||
|
@ -28,7 +28,7 @@ Las siguientes opciones pueden especificarse para publicaciones, secciones y a n
|
|||
- [**Soporte de KaTeX**](@/blog/markdown/index.es.md#katex). Habilitado al configurar `katex = true` (274 KB). Para renderizar fórmulas sin JS, prueba [MathML](https://developer.mozilla.org/docs/Web/MathML/).
|
||||
- [**Diagramas de Mermaid**](@/blog/shortcodes/index.es.md#diagramas-de-mermaid). Habilitado al configurar `mermaid = true` (~2.5 MB).
|
||||
- [**Copia de bloques de código con un solo clic**](@/blog/markdown/index.es.md#bloque-de-codigo). Habilitado al configurar `copy_button = true` (~700 bytes).
|
||||
- [**Mostrar ruta/URL en bloques de código**](@/blog/shortcodes/index.es.md#mostrar-ruta-o-url). Se activa configurando `add_src_to_code_block = true`. (~400 bytes)
|
||||
- [**Nombres de bloques de código clicables**](@/blog/shortcodes/index.es.md#mostrar-ruta-o-url). Se activa configurando `code_block_name_links = true`. (~400 bytes)
|
||||
- [**Filtraje por etiquetas** para cuadrículas de tarjetas](@/blog/mastering-tabi-settings/index.es.md#filtrar-proyectos) (p. ej. [proyectos](@/projects/_index.es.md)) (~2KB). Habilitado al configurar `enable_cards_tag_filtering = true`.
|
||||
|
||||
Para especificar estas opciones:
|
||||
|
@ -43,4 +43,6 @@ Para especificar estas opciones:
|
|||
|
||||
Aparte de eso, es un tema rápido con HTML y CSS que funciona con JavaScript deshabilitado. Justo como debería ser (la mayoría de) la web :-)
|
||||
|
||||
---
|
||||
|
||||
[^1]: Para codificar tu correo electrónico en base64 puedes usar [herramientas en línea](https://www.base64encode.org/) o, en tu terminal, ejecutar: `printf 'mail@example.com' | base64`.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "No mandatory JavaScript"
|
||||
date = 2023-01-06
|
||||
updated = 2024-12-15
|
||||
updated = 2025-02-21
|
||||
description = "JavaScript is only used when HTML and CSS aren't enough."
|
||||
|
||||
[taxonomies]
|
||||
|
@ -28,7 +28,7 @@ The following settings can be specified for posts, sections and globally, follow
|
|||
- [**KaTeX support**](@/blog/markdown/index.md#katex). Enabled by setting `katex = true` (274 KB). To render math without JS, check out [MathML](https://developer.mozilla.org/docs/Web/MathML/).
|
||||
- [**Mermaid diagrams**](@/blog/shortcodes/index.md#mermaid-diagrams). Enabled by setting `mermaid = true` (~2.5 MB).
|
||||
- [**One-click copy of code blocks**](@/blog/markdown/index.md#code-block). Enabled by setting `copy_button = true`. (~700 bytes)
|
||||
- [**Showing source (path or URL) in code blocks**](@/blog/shortcodes/index.md#show-source-or-path). Enabled by setting `add_src_to_code_block = true`. (~300 bytes)
|
||||
- [**Clickable code block names**](@/blog/shortcodes/index.md#show-source-or-path). Enabled by setting `code_block_name_links = true`. (~300 bytes)
|
||||
- [**Tag filtering** for card grids](@/blog/mastering-tabi-settings/index.md#filtering-projects) (e.g. [projects](@/projects/_index.md)) (~2KB). Enabled by setting `enable_cards_tag_filtering = true`.
|
||||
|
||||
To specify these settings:
|
||||
|
@ -43,4 +43,6 @@ To specify these settings:
|
|||
|
||||
Other than that, it's a fast theme with HTML and CSS which works with JavaScript disabled. Just the way (most of) the web should be :-)
|
||||
|
||||
---
|
||||
|
||||
[^1]: To encode your email in base64 you can use [online tools](https://www.base64encode.org/) or, on your terminal, run: `printf 'mail@example.com' | base64`.
|
||||
|
|
93
content/blog/markdown/index.ar.md
Normal file
93
content/blog/markdown/index.ar.md
Normal file
|
@ -0,0 +1,93 @@
|
|||
+++
|
||||
title = "أمثلة على ماركداون"
|
||||
date = 2023-01-31
|
||||
updated = 2023-09-01
|
||||
description = "تعرض هذه التدوينة بعض الأمثلة على تنسيق ماركداون، بما في ذلك الجداول، والشِفرات البرمجية والوسوم، والاقتباسات، والهوامش."
|
||||
|
||||
[taxonomies]
|
||||
tags = ["ماركداون", "توضيحي"]
|
||||
|
||||
[extra]
|
||||
katex = true
|
||||
+++
|
||||
|
||||
{% admonition(type="note", title="ملاحظة عن الاتجاه", icon="info") %}
|
||||
يدعم تابي الكتابة من اليمين إلى اليسار (RTL) بشكل كامل، مما يجعله مثالياً للغة العربية.
|
||||
|
||||
الشفرات البرمجية والمعادلات الرياضية تبقى من اليسار إلى اليمين كما هو متوقع.
|
||||
{% end %}
|
||||
|
||||
## الرياضيات مع $\KaTeX$
|
||||
|
||||
{{ aside(text="تأتي كلمة *ماركداون* من الإنجليزية *Markdown*، وهي لغة ترميز بسيطة صممها جون غروبر وآرون سوارتز في عام 2004.") }}
|
||||
|
||||
[$\KaTeX$](https://katex.org/) هي مكتبة سريعة وسهلة الاستخدام تمكن من عرض الرموز الرياضية باستخدام صيغة LaTeX.
|
||||
|
||||
يمكنك استخدام $\KaTeX$ **ضمن السطر** عن طريق وضع التعبير بين `$` أو بين `\\(` و `\\)`.
|
||||
|
||||
على سبيل المثال، `$ \sin(x) = \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n + 1)!} x^{2n + 1} $` سيظهر هكذا: $ \sin(x) = \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n + 1)!} x^{2n + 1} $
|
||||
|
||||
لعرض التعبير **في سطر منفصل ومتوسط**، ضعه بين `$$` أو بين `\\[` و `\\]`.
|
||||
|
||||
على سبيل المثال، `\\[ r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}} \\]` سيظهر هكذا: \\[ r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}} \\]
|
||||
|
||||
لتفعيل $\KaTeX$ لتدوينة أو قسم كامل، أضف `katex = true` داخل قسم `[extra]` في المقدمة. على سبيل المثال:
|
||||
|
||||
```toml,hl_lines=5-6
|
||||
title = "تجربة KaTeX"
|
||||
date = 2002-11-30
|
||||
|
||||
[extra]
|
||||
katex = true
|
||||
```
|
||||
|
||||
يمكنك أيضاً تفعيله بشكل عام عن طريق تعيين `katex = true` في قسم `[extra]` في ملف `config.toml` الخاص بك.
|
||||
|
||||
لتحسين الأداء والأمان، يتم استضافة ملفات جافا سكريبت و CSS والخطوط الخاصة بـ $\KaTeX$ محلياً.
|
||||
|
||||
**ملاحظة**: بعد تفعيل $\KaTeX$، إذا أردت استخدام \$ بدون عرض تعبير رياضي، استخدم شرطة مائلة للخلف قبلها: `\$`.
|
||||
|
||||
## جدول
|
||||
|
||||
هذا مثال على جدول[^1]. تتغير ألوانه حسب سمة التدوينة.
|
||||
|
||||
| الرمز | العنصر | العدد الذري |
|
||||
|--------|----------|--------------|
|
||||
| H | هيدروجين| 1 |
|
||||
| C | كربون | 6 |
|
||||
| Fe | حديد | 26 |
|
||||
| Au | ذهب | 79 |
|
||||
|
||||
## الشِفرات البرمجية
|
||||
|
||||
```rust
|
||||
fn main() {
|
||||
println!("مرحباً يا عالم") -> ();
|
||||
}
|
||||
```
|
||||
|
||||
### من اليمين إلى اليسار
|
||||
{% force_text_direction(direction="rtl") %}
|
||||
|
||||
```
|
||||
نص قل_مرحباً(نص الاسم) {
|
||||
أرجع تنسيق("مرحباً {الاسم}")؛
|
||||
}
|
||||
```
|
||||
|
||||
{% end %}
|
||||
|
||||
## سطر برمجي
|
||||
|
||||
في Rust، تعلن عن متغير متغير باستخدام `let mut x = 5`، بينما في Python، تستخدم ببساطة `x = 5`. وبالمثل، لطباعة قيمة في Rust، تستخدم `println!("القيمة: {}", x)`، ولكن في Python، الأمر بسيط مثل `print(f"القيمة: {x}")`
|
||||
وفي لغة البرمجة العربية هو `مهنة = "صائد فئران"`
|
||||
|
||||
## اقتباس
|
||||
|
||||
> وابِطُكَ قابِضِ الأَرواحِ يَرمي ... بِسَهمِ المَوتِ مِن تَحتِ الثِيابِ
|
||||
>
|
||||
> شَرابُكَ في السَرابِ إِذا عَطِشنا ... وَخُبزُكَ عِندَ مُنقَطِعِ التُرابِ
|
||||
>
|
||||
> — أبو الشمقمق، العصر العباسي
|
||||
|
||||
[^1]: وهذا مثال على الهامش!
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Exemples de Markdown"
|
||||
date = 2023-01-31
|
||||
updated = 2024-11-23
|
||||
updated = 2025-02-21
|
||||
description = "Aquesta publicació mostra alguns exemples de format en Markdown, incloent-hi una taula, blocs de codi i etiquetes, citacions, taules i notes a peu de pàgina."
|
||||
|
||||
[taxonomies]
|
||||
|
@ -105,4 +105,6 @@ A Rust, declares una variable mutable amb `let mut x = 5;`, mentre que a Python,
|
|||
>
|
||||
> — Mercè Rodoreda, La plaça del Diamant
|
||||
|
||||
---
|
||||
|
||||
[^1]: I aquí tens un exemple de nota a peu de pàgina!
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Ejemplos de Markdown"
|
||||
date = 2023-01-31
|
||||
updated = 2024-11-23
|
||||
updated = 2025-02-21
|
||||
description = "Esta publicación muestra algunos ejemplos de formato Markdown, incluyendo una tabla, bloques de código y etiquetas, citas, tablas y notas al pie de página."
|
||||
|
||||
[taxonomies]
|
||||
|
@ -105,4 +105,6 @@ En Rust, declaras una variable mutable con `let mut x = 5;`, mientras que en Pyt
|
|||
>
|
||||
> — Miguel de Unamuno, Niebla
|
||||
|
||||
---
|
||||
|
||||
[^1]: ¡Y aquí tienes un ejemplo de una nota al pie de página!
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Markdown examples"
|
||||
date = 2023-01-31
|
||||
updated = 2024-11-23
|
||||
updated = 2025-02-21
|
||||
description = "This post showcases some examples of Markdown formatting, including a table, code blocks and tags, quotes, tables, and footnotes."
|
||||
|
||||
[taxonomies]
|
||||
|
@ -105,4 +105,6 @@ In Rust, you declare a mutable variable with `let mut x = 5;`, whereas in Python
|
|||
>
|
||||
> — Charlie Kaufman, Synecdoche, New York
|
||||
|
||||
---
|
||||
|
||||
[^1]: And here's an example of a footnote!
|
||||
|
|
BIN
content/blog/mastering-tabi-settings/img/external_link_dark.webp
Normal file
BIN
content/blog/mastering-tabi-settings/img/external_link_dark.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 27 KiB |
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Domina la configuració de tabi: guia completa"
|
||||
date = 2023-09-18
|
||||
updated = 2025-02-11
|
||||
updated = 2025-02-21
|
||||
description = "Descobreix les múltiples maneres en què pots personalitzar tabi."
|
||||
|
||||
[taxonomies]
|
||||
|
@ -237,6 +237,25 @@ Fes clic a la imatge a continuació per comparar les fonts:
|
|||
|
||||
{{ image_toggler(default_src="blog/mastering-tabi-settings/img/serif.webp", toggled_src="blog/mastering-tabi-settings/img/sans-serif.webp", default_alt="Font serif", toggled_alt="Font sans-serif", full_width=true) }}
|
||||
|
||||
### Indicador d'enllaços externs
|
||||
|
||||
| Pàgina | Secció | `config.toml` | Segueix Jerarquia | Requereix JavaScript |
|
||||
|:------:|:------:|:-------------:|:-----------------:|:-------------------:|
|
||||
| ❌ | ❌ | ✅ | ❌ | ❌ |
|
||||
|
||||
{{ admonition(type="info", text="Requereix Zola 0.20.0 o posterior.") }}
|
||||
|
||||
Si vols afegir una icona als enllaços externs, configura la secció `[markdown]` (no `[extra]`) al teu `config.toml`:
|
||||
|
||||
```toml
|
||||
[markdown]
|
||||
external_links_class = "external"
|
||||
```
|
||||
|
||||
Això afegirà una petita icona al costat dels enllaços externs:
|
||||
|
||||
{{ dual_theme_image(light_src="blog/mastering-tabi-settings/img/external_link_light.webp", dark_src="blog/mastering-tabi-settings/img/external_link_dark.webp", alt="Icona d'enllaç extern", full_width=true) }}
|
||||
|
||||
### Estils CSS personalitzats
|
||||
|
||||
| Pàgina | Secció | `config.toml` | Segueix la jerarquia | Requereix JavaScript |
|
||||
|
@ -678,13 +697,13 @@ Establir `copy_button = true` afegirà un petit botó de copiar a la part superi
|
|||
|
||||
{{ dual_theme_image(light_src="blog/mastering-tabi-settings/img/copy_button_on_code_blocks_light.webp", dark_src="blog/mastering-tabi-settings/img/copy_button_on_code_blocks_dark.webp", alt="Botó de copiar en blocs de codi", full_width=true) }}
|
||||
|
||||
### Mostrar ruta/URL en blocs de codi
|
||||
### Nom del bloc de codi clicable
|
||||
|
||||
| Pàgina | Secció | `config.toml` | Segueix la jerarquia | Requereix JavaScript |
|
||||
|:------:|:-------:|:-------------:|:---------------:|:-------------------:|
|
||||
| ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
|
||||
Estableix `add_src_to_code_block = true` per habilitar l'ús del [shortcode `add_src_to_code_block`](@/blog/shortcodes/index.ca.md#mostrar-ruta-o-url).
|
||||
En establir `code_block_name_links = true` s'habiliten els enllaços clicables als noms dels blocs de codi. Consulta la [documentació](@/blog/shortcodes/index.ca.md#mostrar-ruta-o-url) per veure exemples i ús.
|
||||
|
||||
### Forçar blocs de codi d'esquerra a dreta
|
||||
|
||||
|
@ -742,7 +761,10 @@ Per defecte, el feed Atom només conté el resum o descripció de les teves publ
|
|||
|:----:|:-------:|:-------------:|:-----------------:|:-------------------:|
|
||||
| ✅ | ✅ | ✅ | ✅ | ❌ |
|
||||
|
||||
Pots amagar pàgines específiques o seccions senceres del feed amb `hide_from_feed = true`.
|
||||
Pots controlar com apareix el contingut als feeds utilitzant dues configuracions:
|
||||
|
||||
- `hide_from_feed = true`: Amaga el contingut de tots els feeds (feed principal, feeds de secció i feeds d'etiquetes)
|
||||
- `hide_from_main_feed = true`: Amaga el contingut només del feed principal mentre el manté visible als feeds de secció i d'etiquetes
|
||||
|
||||
### Comentaris {#afegir-comentaris}
|
||||
|
||||
|
@ -983,6 +1005,8 @@ Aquesta opció està habilitada per defecte. Per desactivar-la per una pàgina,
|
|||
|
||||
Per a més informació, consulta la [pàgina de documentació de CSP](@/blog/security/index.ca.md).
|
||||
|
||||
---
|
||||
|
||||
[^1]: Si estàs utilitzant un repositori Git remot, potser voldràs automatitzar el procés d'actualització del camp `updated`. Aquí tens una guia per a això: [Zola Git Hook: actualitzant les dates de les publicacions](https://osc.garden/ca/blog/zola-date-git-hook/).
|
||||
|
||||
[^2]: Per a codificar el teu correu electrònic en base64 pots utilitzar [eines en línia](https://www.base64encode.org/) o, al teu terminal, executar: `printf 'mail@example.com' | base64`
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Domina la configuración de tabi: guía completa"
|
||||
date = 2023-09-18
|
||||
updated = 2025-02-11
|
||||
updated = 2025-02-21
|
||||
description = "Descubre las múltiples maneras en que puedes personalizar tabi."
|
||||
|
||||
[taxonomies]
|
||||
|
@ -238,6 +238,25 @@ Haz clic en la imagen para comparar las fuentes:
|
|||
|
||||
{{ image_toggler(default_src="blog/mastering-tabi-settings/img/serif.webp", toggled_src="blog/mastering-tabi-settings/img/sans-serif.webp", default_alt="Fuente serif", toggled_alt="Fuente sans-serif", full_width=true) }}
|
||||
|
||||
### Indicador de enlaces externos
|
||||
|
||||
| Página | Sección | `config.toml` | Sigue Jerarquía | Requiere JavaScript |
|
||||
|:------:|:-------:|:-------------:|:----------------:|:------------------:|
|
||||
| ❌ | ❌ | ✅ | ❌ | ❌ |
|
||||
|
||||
{{ admonition(type="info", text="Requiere Zola 0.20.0 o posterior.") }}
|
||||
|
||||
Si deseas añadir un icono a los enlaces externos, configura la sección `[markdown]` (no `[extra]`) en tu `config.toml`:
|
||||
|
||||
```toml
|
||||
[markdown]
|
||||
external_links_class = "external"
|
||||
```
|
||||
|
||||
Esto añadirá un pequeño icono junto a los enlaces externos:
|
||||
|
||||
{{ dual_theme_image(light_src="blog/mastering-tabi-settings/img/external_link_light.webp", dark_src="blog/mastering-tabi-settings/img/external_link_dark.webp", alt="Icono de enlace externo", full_width=true) }}
|
||||
|
||||
### Estilos CSS personalizados
|
||||
|
||||
| Página | Sección | `config.toml` | Sigue la jerarquía | Requiere JavaScript |
|
||||
|
@ -679,13 +698,13 @@ Establecer `copy_button = true` añadirá un pequeño botón de copiar en la par
|
|||
|
||||
{{ dual_theme_image(light_src="blog/mastering-tabi-settings/img/copy_button_on_code_blocks_light.webp", dark_src="blog/mastering-tabi-settings/img/copy_button_on_code_blocks_dark.webp", alt="Botón de copiar en bloques de código", full_width=true) }}
|
||||
|
||||
### Mostrar ruta/URL en bloques de código
|
||||
### Nombres de bloques de código clicables
|
||||
|
||||
| Página | Sección | `config.toml` | Sigue la jerarquía | Requiere JavaScript |
|
||||
|:------:|:-------:|:-------------:|:---------------:|:-------------------:|
|
||||
| ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
|
||||
Establece `add_src_to_code_block = true` para habilitar el uso del [shortcode `add_src_to_code_block`](@/blog/shortcodes/index.es.md#mostrar-ruta-o-url).
|
||||
Establece `code_block_name_links = true` para habilitan los enlaces clickables en los nombres de bloques de código. Consulta la [documentación](@/blog/shortcodes/index.es.md#mostrar-ruta-o-url) para ver ejemplos y uso.
|
||||
|
||||
### Forzar bloques de código de izquierda a derecha
|
||||
|
||||
|
@ -743,7 +762,10 @@ Por defecto, el feed Atom solo contiene el resumen/descripción de tus publicaci
|
|||
|:----:|:-------:|:-------------:|:-----------------:|:-------------------:|
|
||||
| ✅ | ✅ | ✅ | ✅ | ❌ |
|
||||
|
||||
Puedes ocultar páginas específicas o secciones enteras del feed con `hide_from_feed = true`.
|
||||
Puedes controlar cómo aparece el contenido en los feeds usando dos configuraciones:
|
||||
|
||||
- `hide_from_feed = true`: Oculta el contenido de todos los feeds (feed principal, feeds de sección y feeds de etiquetas)
|
||||
- `hide_from_main_feed = true`: Oculta el contenido solo del feed principal mientras lo mantiene visible en los feeds de sección y de etiquetas
|
||||
|
||||
### Comentarios {#añadir-comentarios}
|
||||
|
||||
|
@ -984,6 +1006,8 @@ Esta función está habilitada por defecto. Para deshabilitarla (y permitir todo
|
|||
|
||||
Para obtener más información, consulta la [página de documentación de CSP](@/blog/security/index.es.md).
|
||||
|
||||
---
|
||||
|
||||
[^1]: Si estás utilizando un repositorio Git remoto, es posible que quieras automatizar el proceso de actualización del campo `updated`. Aquí tienes una guía para eso: [Zola Git Hook: actualizando las fechas de las publicaciones](https://osc.garden/es/blog/zola-date-git-hook/).
|
||||
|
||||
[^2]: Para codificar tu correo electrónico en base64 puedes utilizar [herramientas en línea](https://www.base64encode.org/) o, en tu terminal, ejecutar: `printf 'mail@example.com' | base64`
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Mastering tabi Settings: A Comprehensive Guide"
|
||||
date = 2023-09-18
|
||||
updated = 2025-02-19
|
||||
updated = 2025-02-21
|
||||
description = "Discover the many ways you can customise your tabi site."
|
||||
|
||||
[taxonomies]
|
||||
|
@ -242,6 +242,25 @@ Click on the image below to compare the two looks:
|
|||
|
||||
{{ image_toggler(default_src="blog/mastering-tabi-settings/img/serif.webp", toggled_src="blog/mastering-tabi-settings/img/sans-serif.webp", default_alt="Serif font", toggled_alt="Sans-serif font", full_width=true) }}
|
||||
|
||||
### External Link Indicator
|
||||
|
||||
| Page | Section | `config.toml` | Follows Hierarchy | Requires JavaScript |
|
||||
|:----:|:-------:|:-------------:|:-----------------:|:-------------------:|
|
||||
| ❌ | ❌ | ✅ | ❌ | ❌ |
|
||||
|
||||
{{ admonition(type="info", text="Requires Zola 0.20.0 or later.") }}
|
||||
|
||||
If you'd like to add an icon to external links, configure the `[markdown]` (not `[extra]`) section in your `config.toml`:
|
||||
|
||||
```toml
|
||||
[markdown]
|
||||
external_links_class = "external"
|
||||
```
|
||||
|
||||
This will add a small icon next to external links:
|
||||
|
||||
{{ dual_theme_image(light_src="blog/mastering-tabi-settings/img/external_link_light.webp", dark_src="blog/mastering-tabi-settings/img/external_link_dark.webp", alt="External link icon", full_width=true) }}
|
||||
|
||||
### Custom CSS
|
||||
|
||||
| Page | Section | `config.toml` | Follows Hierarchy | Requires JavaScript |
|
||||
|
@ -689,13 +708,13 @@ Setting `copy_button = true` will add a small copy button to the top right of co
|
|||
|
||||
{{ dual_theme_image(light_src="blog/mastering-tabi-settings/img/copy_button_on_code_blocks_light.webp", dark_src="blog/mastering-tabi-settings/img/copy_button_on_code_blocks_dark.webp" alt="Copy button on code blocks", full_width=true) }}
|
||||
|
||||
### Source/Path on Code Blocks
|
||||
### Clickable Code Block Names
|
||||
|
||||
| Page | Section | `config.toml` | Follows Hierarchy | Requires JavaScript |
|
||||
|:----:|:-------:|:-------------:|:-----------------:|:-------------------:|
|
||||
| ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
|
||||
Setting `add_src_to_code_block = true` enables the use of the [`add_src_to_code_block` shortcode](@/blog/shortcodes/index.md#show-source-or-path).
|
||||
Setting `code_block_name_links = true` enables URLs in code block names to become clickable links. Check out the [documentation](@/blog/shortcodes/index.md#show-source-or-path) for examples and usage.
|
||||
|
||||
### Force Code Blocks LTR
|
||||
|
||||
|
@ -751,7 +770,10 @@ By default, the Atom feed only contains the summary/description of your posts. Y
|
|||
|:----:|:-------:|:-------------:|:-----------------:|:-------------------:|
|
||||
| ✅ | ✅ | ✅ | ✅ | ❌ |
|
||||
|
||||
You can hide specific pages or entire sections from your feed by setting `hide_from_feed = true`.
|
||||
You can control how content appears in your feeds using two settings:
|
||||
|
||||
1. `hide_from_feed = true`: Hides content from all feeds (main, section, and tag feeds)
|
||||
2. `hide_from_main_feed = true`: Hides content only from the main feed while keeping it visible in section and tag feeds
|
||||
|
||||
### Comments {#adding-comments}
|
||||
|
||||
|
@ -1022,6 +1044,8 @@ This feature is enabled by default. To disable it (and allow all connections), s
|
|||
|
||||
See the [CSP documentation page](@/blog/security/index.md) for more information.
|
||||
|
||||
---
|
||||
|
||||
[^1]: If you're using a remote Git repository, you might want to automate the process of updating the `updated` field. Here's a guide for that: [Zola Git Pre-Commit Hook: Updating Post Dates](https://osc.garden/blog/zola-date-git-hook/).
|
||||
|
||||
[^2]: To encode your email in base64 you can use [online tools](https://www.base64encode.org/) or, on your terminal, run: `printf 'mail@example.com' | base64`.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Seguretat per defecte"
|
||||
date = 2023-02-22
|
||||
updated = 2024-08-28
|
||||
updated = 2025-02-21
|
||||
description = "tabi té una Política de Seguretat de Contingut (CSP) fàcilment personalitzable amb valors segurs per defecte. Obtingues tranquil·litat i un A+ en l'Observatori de Mozilla."
|
||||
|
||||
[taxonomies]
|
||||
|
@ -41,4 +41,6 @@ Pots desactivar les capçaleres (permitint-ho tot) en una pàgina, secció, o gl
|
|||
{ directive = "style-src", domains = ["'self'", "'unsafe-inline'"] },
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
[^1]: Requereix una configuració adequada del servidor web (p. ex., redirigir el trànsit HTTP a HTTPS).
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Seguro por defecto"
|
||||
date = 2023-02-22
|
||||
updated = 2024-08-28
|
||||
updated = 2025-02-21
|
||||
description = "tabi tiene una Política de Seguridad de Contenido (CSP) fácilmente personalizable con configuraciones seguras. Obtén tranquilidad y una calificación de A+ en Mozilla Observatory."
|
||||
|
||||
[taxonomies]
|
||||
|
@ -41,4 +41,6 @@ Puedes desactivar las cabeceras (permitiendo todo) en una página, sección, o g
|
|||
{ directive = "style-src", domains = ["'self'", "'unsafe-inline'"] },
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
[^1]: Requiere una configuración adecuada del servidor web (por ejemplo, redirigir el tráfico HTTP a HTTPS).
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Secure by default"
|
||||
date = 2023-02-22
|
||||
updated = 2024-08-28
|
||||
updated = 2025-02-21
|
||||
description = "tabi has an easily customizable Content Security Policy (CSP) with safe defaults. Get peace of mind and an A+ on Mozilla Observatory."
|
||||
|
||||
[taxonomies]
|
||||
|
@ -41,4 +41,6 @@ You can disable the CSP (allowing all connections) on a page, section, or global
|
|||
{ directive = "style-src", domains = ["'self'", "'unsafe-inline'"] },
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
[^1]: Requires proper webserver configuration (e.g. redirecting HTTP traffic to HTTPS).
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
+++
|
||||
title = "Guia completa sobre sèries"
|
||||
date = 2024-11-08
|
||||
updated = 2025-02-21
|
||||
description = "Aprèn a organitzar les teves publicacions en sèries seqüencials, perfectes per a tutorials, cursos i històries de diverses parts."
|
||||
|
||||
[taxonomies]
|
||||
|
@ -48,9 +49,7 @@ flowchart
|
|||
2. Crea `_index.md` al directori de la sèrie
|
||||
3. Configura el front matter de `_index.md`:
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
title = "Aprenent Rust"
|
||||
template = "series.html"
|
||||
sort_by = "slug"
|
||||
|
@ -154,9 +153,7 @@ Aquesta configuració segueix [la jerarquia](@/blog/mastering-tabi-settings/inde
|
|||
|
||||
Els articles d'una sèrie poden tenir seccions automàtiques d'introducció i conclusió. Aquestes es configuren al `_index.md` de la teva sèrie. Un exemple bàsic:
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
[extra.series_intro_templates]
|
||||
default = "Aquest article és part de la sèrie $SERIES_HTML_LINK."
|
||||
|
||||
|
@ -177,9 +174,7 @@ El sistema de sèries utilitza diferents plantilles segons la posició de l'arti
|
|||
|
||||
El sistema determina automàticament quina plantilla utilitzar segons la posició de l'article. Les plantilles es defineixen a la configuració de la sèrie (`_index.md`), com `extra.series_intro_templates` i `extra.series_outro_templates`:
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
[extra.series_intro_templates]
|
||||
next_only = "Benvingut a la part 1! Següent: $NEXT_HTML_LINK"
|
||||
middle = "Anterior: $PREV_HTML_LINK | Següent: $NEXT_HTML_LINK"
|
||||
|
@ -253,6 +248,8 @@ Hi ha tres tipus de variables:
|
|||
|
||||
{% end %}
|
||||
|
||||
{{ admonition(type="tip", title="CONSELL: Text personalitzat amb permalinks", text='Els enllaços markdown com `[text]($SERIES_PERMALINK)` seran marcats (i [estilitzats](@/blog/mastering-tabi-settings/index.ca.md#indicador-d-enllacos-externs)) com externs. Si necessites text personalitzat i vols evitar l\'estil extern, utilitza HTML: `<a href=\"$SERIES_PERMALINK\">el teu text</a>`.') }}
|
||||
|
||||
### Variables de navegació
|
||||
|
||||
{% wide_container() %}
|
||||
|
@ -285,9 +282,7 @@ Hi ha tres tipus de variables:
|
|||
|
||||
{{ admonition(type="tip", title="Variables HTML vs text", text="Utilitza variables HTML (que acaben en `_HTML_LINK`) quan vulguis enllaços preparats per usar. Utilitza variables de text (que acaben en `_TITLE` o `_PERMALINK`) quan vulguis més control sobre el format.") }}
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
# Introducció
|
||||
[extra.series_intro_templates]
|
||||
next_only = """
|
||||
|
@ -351,9 +346,7 @@ Les plantilles de sèries admeten variables personalitzades per incloure informa
|
|||
|
||||
1. Primer, defineix els teus **marcadors** a la configuració de la teva sèrie (`_index.md`):
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
[extra]
|
||||
series = true
|
||||
series_template_placeholders = ["$POSITION", "$TOPIC", "$DIFFICULTY"]
|
||||
|
@ -361,9 +354,7 @@ series_template_placeholders = ["$POSITION", "$TOPIC", "$DIFFICULTY"]
|
|||
|
||||
2. Després, a cada article de la sèrie, proporciona els valors per a aquests marcadors a `series_template_variables`:
|
||||
|
||||
{{ add_src_to_code_block(src="series/article.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/article.md
|
||||
[extra.series_template_variables]
|
||||
position = "primer"
|
||||
topic = "Variables i tipus"
|
||||
|
@ -374,9 +365,7 @@ difficulty = "Principiant"
|
|||
|
||||
Pots usar les teves variables personalitzades a qualsevol plantilla, juntament amb les variables integrades:
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
[extra.series_intro_templates]
|
||||
default = """
|
||||
Aquest és l'article $POSITION a $SERIES_HTML_LINK.
|
||||
|
@ -389,9 +378,7 @@ Nivell de dificultat: $DIFFICULTY
|
|||
|
||||
### Exemple amb variables personalitzades
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
# A la configuració de la sèrie.
|
||||
[extra]
|
||||
series = true
|
||||
|
@ -404,9 +391,7 @@ series_intro_templates.default = """
|
|||
"""
|
||||
```
|
||||
|
||||
{{ add_src_to_code_block(src="series/02-learning-rust/index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/02-learning-rust/index.md
|
||||
# En un article de la sèrie.
|
||||
[extra.series_template_variables]
|
||||
learning_time = "30 minuts"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
+++
|
||||
title = "Guía completa sobre series"
|
||||
date = 2024-11-08
|
||||
updated = 2025-02-21
|
||||
description = "Aprende a organizar tus publicaciones en series secuenciales, perfectas para tutoriales, cursos e historias de varias partes."
|
||||
|
||||
[taxonomies]
|
||||
|
@ -48,9 +49,7 @@ flowchart
|
|||
2. Crea `_index.md` en el directorio de la serie
|
||||
3. Configura el front matter de `_index.md`:
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
title = "Aprendiendo Rust"
|
||||
template = "series.html"
|
||||
sort_by = "slug"
|
||||
|
@ -154,9 +153,7 @@ Esta configuración sigue [la jerarquía](@/blog/mastering-tabi-settings/index.e
|
|||
|
||||
Los artículos de una serie pueden tener secciones automáticas de introducción y conclusión. Estas se configuran en el `_index.md` de tu serie. Un ejemplo básico:
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
[extra.series_intro_templates]
|
||||
default = "Este artículo es parte de la serie $SERIES_HTML_LINK."
|
||||
|
||||
|
@ -177,9 +174,7 @@ El sistema de series usa diferentes plantillas según la posición del artículo
|
|||
|
||||
El sistema determina automáticamente qué plantilla usar según la posición del artículo. Las plantillas se definen en la configuración de la serie (`_index.md`), como `extra.series_intro_templates` y `extra.series_outro_templates`:
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
[extra.series_intro_templates]
|
||||
next_only = "¡Bienvenido a la parte 1! Siguiente: $NEXT_HTML_LINK"
|
||||
middle = "Anterior: $PREV_HTML_LINK | Siguiente: $NEXT_HTML_LINK"
|
||||
|
@ -253,6 +248,8 @@ Hay tres tipos de variables:
|
|||
|
||||
{% end %}
|
||||
|
||||
{{ admonition(type="tip", title="CONSEJO: Texto personalizado con permalinks", text='Los enlaces markdown como `[texto]($SERIES_PERMALINK)` serán marcados (y [estilizados](@/blog/mastering-tabi-settings/index.es.md#indicador-enlaces-externos)) como externos. Si necesitas texto personalizado y quieres evitar el estilo externo, usa HTML: `<a href=\"$SERIES_PERMALINK\">tu texto</a>`.') }}
|
||||
|
||||
### Variables de navegación
|
||||
|
||||
{% wide_container() %}
|
||||
|
@ -285,9 +282,7 @@ Hay tres tipos de variables:
|
|||
|
||||
{{ admonition(type="tip", title="Variables HTML vs texto", text="Usa variables HTML (que terminan en `_HTML_LINK`) cuando quieras enlaces listos para usar. Usa variables de texto (que terminan en `_TITLE` o `_PERMALINK`) cuando quieras más control sobre el formato.") }}
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
# Introducción.
|
||||
[extra.series_intro_templates]
|
||||
next_only = """
|
||||
|
@ -351,9 +346,7 @@ Las plantillas de series admiten variables personalizadas para incluir informaci
|
|||
|
||||
1. Primero, define tus **marcadores** en la configuración de tu serie (`_index.md`):
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
[extra]
|
||||
series = true
|
||||
series_template_placeholders = ["$POSITION", "$TOPIC", "$DIFFICULTY"]
|
||||
|
@ -361,9 +354,7 @@ series_template_placeholders = ["$POSITION", "$TOPIC", "$DIFFICULTY"]
|
|||
|
||||
2. Luego, en cada artículo de la serie, proporciona los valores para estos marcadores en `series_template_variables`:
|
||||
|
||||
{{ add_src_to_code_block(src="series/article.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/article.md
|
||||
[extra.series_template_variables]
|
||||
position = "primero"
|
||||
topic = "Variables y tipos"
|
||||
|
@ -374,9 +365,7 @@ difficulty = "Principiante"
|
|||
|
||||
Puedes usar tus variables personalizadas en cualquier plantilla, junto con las variables integradas:
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
[extra.series_intro_templates]
|
||||
default = """
|
||||
Este es el artículo $POSITION en $SERIES_HTML_LINK.
|
||||
|
@ -389,9 +378,7 @@ Nivel de dificultad: $DIFFICULTY
|
|||
|
||||
### Ejemplo con variables personalizadas
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
# En la configuración de la serie.
|
||||
[extra]
|
||||
series = true
|
||||
|
@ -404,9 +391,7 @@ series_intro_templates.default = """
|
|||
"""
|
||||
```
|
||||
|
||||
{{ add_src_to_code_block(src="series/02-learning-rust/index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/02-learning-rust/index.md
|
||||
# En un artículo de la serie.
|
||||
[extra.series_template_variables]
|
||||
learning_time = "30 minutos"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
+++
|
||||
title = "A Complete Guide to Series"
|
||||
date = 2024-11-08
|
||||
updated = 2025-02-21
|
||||
description = "Learn how to organize your posts into sequential series, perfect for tutorials, courses, and multi-part stories."
|
||||
|
||||
[taxonomies]
|
||||
|
@ -48,9 +49,7 @@ flowchart
|
|||
2. Create `_index.md` in the series directory.
|
||||
3. Set up the `_index.md` front matter:
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
title = "Learning Rust"
|
||||
template = "series.html"
|
||||
sort_by = "slug"
|
||||
|
@ -154,9 +153,7 @@ This setting follows [the hierarchy](@/blog/mastering-tabi-settings/index.md#set
|
|||
|
||||
Series articles can have automatic introduction and conclusion sections. These are configured in your series' `_index.md`. A basic example:
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
[extra.series_intro_templates]
|
||||
default = "This article is part of the $SERIES_HTML_LINK series."
|
||||
|
||||
|
@ -177,9 +174,7 @@ The series system uses different templates based on an article's position in the
|
|||
|
||||
The system automatically determines which template to use based on the article's position. The templates are defined in the series configuration (`_index.md`), as `extra.series_intro_templates` and `extra.series_outro_templates`.:
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
[extra.series_intro_templates]
|
||||
next_only = "Welcome to part 1! Next up: $NEXT_HTML_LINK"
|
||||
middle = "Previous: $PREV_HTML_LINK | Next: $NEXT_HTML_LINK"
|
||||
|
@ -253,6 +248,8 @@ There are three types of variables:
|
|||
|
||||
{% end %}
|
||||
|
||||
{{ admonition(type="tip", title="TIP: Custom text with permalinks", text='Markdown links like `[text]($SERIES_PERMALINK)` will be marked (and [styled](@/blog/mastering-tabi-settings/index.md#external-link-indicator)) as external. If you need custom text and want to avoid external styling, use HTML: `<a href=\"$SERIES_PERMALINK\">your text</a>`.') }}
|
||||
|
||||
### Navigation Variables
|
||||
|
||||
{% wide_container() %}
|
||||
|
@ -285,9 +282,7 @@ There are three types of variables:
|
|||
|
||||
{{ admonition(type="tip", title="HTML vs text variables", text="Use HTML variables (ending in `_HTML_LINK`) when you want ready-made links. Use text variables (ending in `_TITLE` or `_PERMALINK`) when you want more control over the formatting.") }}
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
# Introduction.
|
||||
[extra.series_intro_templates]
|
||||
next_only = """
|
||||
|
@ -351,9 +346,7 @@ Series templates support custom variables for additional information you want to
|
|||
|
||||
1. First, define your **placeholders** in your series configuration (`_index.md`):
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
[extra]
|
||||
series = true
|
||||
series_template_placeholders = ["$POSITION", "$TOPIC", "$DIFFICULTY"]
|
||||
|
@ -361,9 +354,7 @@ series_template_placeholders = ["$POSITION", "$TOPIC", "$DIFFICULTY"]
|
|||
|
||||
2. Then, in each series article, provide the values for these placeholders in `series_template_variables`:
|
||||
|
||||
{{ add_src_to_code_block(src="series/article.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/article.md
|
||||
[extra.series_template_variables]
|
||||
position = "first"
|
||||
topic = "Variables and Types"
|
||||
|
@ -374,9 +365,7 @@ difficulty = "Beginner"
|
|||
|
||||
You can use your custom variables in any template, alongside the built-in variables:
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
[extra.series_intro_templates]
|
||||
default = """
|
||||
This is the $POSITION article in $SERIES_HTML_LINK.
|
||||
|
@ -389,9 +378,7 @@ Difficulty level: $DIFFICULTY
|
|||
|
||||
### Example with Custom Variables
|
||||
|
||||
{{ add_src_to_code_block(src="series/_index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/_index.md
|
||||
# In the series configuration.
|
||||
[extra]
|
||||
series = true
|
||||
|
@ -404,9 +391,7 @@ series_intro_templates.default = """
|
|||
"""
|
||||
```
|
||||
|
||||
{{ add_src_to_code_block(src="series/02-learning-rust/index.md") }}
|
||||
|
||||
```toml
|
||||
```toml,name=series/02-learning-rust/index.md
|
||||
# In an article of the series.
|
||||
[extra.series_template_variables]
|
||||
learning_time = "30 minutes"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Shortcodes personalitzats"
|
||||
date = 2023-02-19
|
||||
updated = 2024-12-28
|
||||
updated = 2025-02-21
|
||||
description = "Aquest tema inclou alguns shortcodes personalitzats útils que pots utilitzar per millorar les teves publicacions. Ja sigui per mostrar imatges que s'adapten als temes clar i fosc, o per donar format a una secció de referències amb un aspecte professional, aquests shortcodes personalitzats t'ajudaran."
|
||||
|
||||
[taxonomies]
|
||||
|
@ -11,7 +11,7 @@ tags = ["funcionalitat", "shortcodes"]
|
|||
toc = true
|
||||
toc_levels = 2
|
||||
quick_navigation_buttons = true
|
||||
add_src_to_code_block = true
|
||||
code_block_name_links = true
|
||||
mermaid = true
|
||||
social_media_card = "social_cards/ca_blog_shortcodes.jpg"
|
||||
+++
|
||||
|
@ -191,23 +191,55 @@ Tots els altres shortcodes d'imatges poden utilizar l'amplada completa assignant
|
|||
|
||||
### Mostrar ruta o URL
|
||||
|
||||
Mostra una ruta o URL al següent bloc de codi trobat. Si comença amb "http", es convertirà en un enllaç. Particularment útil quan s'utilitza en conjunció amb el [shortcode de text remot](#text-remot).
|
||||
Pots mostrar una ruta o URL per a un bloc de codi utilitzant la sintaxi nativa de Zola:
|
||||
|
||||
{{ admonition(type="warning", title="IMPORTANT", text="Aquesta funcionalitat requereix JavaScript. Per activar-la, configura `add_src_to_code_block = true` a la secció `[extra]` de la teva pàgina, secció, o `config.toml`.") }}
|
||||
{{ aside(text="Requereix Zola 0.20.0 o superior.") }}
|
||||
|
||||
{{ add_src_to_code_block(src="https://github.com/welpo/doteki/blob/main/.gitignore") }}
|
||||
````
|
||||
```rust,name=src/main.rs
|
||||
fn main() {
|
||||
println!("Hola, món!");
|
||||
}
|
||||
```
|
||||
````
|
||||
|
||||
```.gitignore
|
||||
{{ remote_text(src="https://raw.githubusercontent.com/welpo/doteki/main/.gitignore") }}
|
||||
Això renderitza:
|
||||
|
||||
```rust,name=src/main.rs
|
||||
fn main() {
|
||||
println!("Hola, món!");
|
||||
}
|
||||
```
|
||||
|
||||
Si estableixes el `name` com una URL (és a dir, comença amb `http` o `https`), pots convertir-lo en un enllaç clicable. Això és particularment útil quan s'utilitza juntament amb el [shortcode de text remot](#text-remot).
|
||||
|
||||
{{ admonition(type="warning", title="JavaScript necessari", text="La funció d'URLs clicables requereix JavaScript. Per habilitar-la, configura `code_block_name_links = true` a la secció `[extra]` de la teva pàgina, secció, o `config.toml`.") }}
|
||||
|
||||
```.gitignore,name=https://github.com/welpo/doteki/blob/main/.gitignore
|
||||
__pycache__/
|
||||
*coverage*
|
||||
.vscode/
|
||||
dist/
|
||||
```
|
||||
|
||||
### Suport de shortcode heretat
|
||||
|
||||
El shortcode `add_src_to_code_block` segueix funcionant per retrocompatibilitat però serà descontinuat en una versió futura. Si us plau, utilitza la sintaxi nativa de Zola:
|
||||
|
||||
```
|
||||
# Forma antiga (descontinuada):
|
||||
{{/* add_src_to_code_block(src="ruta/al/fitxer.rs") */}}
|
||||
|
||||
# Forma nova (recomanada):
|
||||
```rust,name=ruta/al/fitxer.rs
|
||||
```
|
||||
|
||||
#### Ús
|
||||
|
||||
````
|
||||
{{/* add_src_to_code_block(src="https://github.com/welpo/doteki/blob/main/.gitignore") */}}
|
||||
|
||||
```.gitignore
|
||||
__pycache__/
|
||||
**pycache**/
|
||||
*coverage*
|
||||
.vscode/
|
||||
dist/
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Shortcodes personalizados"
|
||||
date = 2023-02-19
|
||||
updated = 2024-12-28
|
||||
updated = 2025-02-21
|
||||
description = "Este tema incluye algunos shortcodes personalizados útiles que puedes utilizar para mejorar tus publicaciones. Puedes mostrar imágenes que se adapten a los temas claro y oscuro, dar formato a una sección de referencias con un aspecto profesional, y más."
|
||||
|
||||
[taxonomies]
|
||||
|
@ -11,7 +11,7 @@ tags = ["funcionalidad", "shortcodes"]
|
|||
toc = true
|
||||
toc_levels = 2
|
||||
quick_navigation_buttons = true
|
||||
add_src_to_code_block = true
|
||||
code_block_name_links = true
|
||||
mermaid = true
|
||||
social_media_card = "social_cards/es_blog_shortcodes.jpg"
|
||||
+++
|
||||
|
@ -190,28 +190,48 @@ Todos los otros shortcodes de imágenes pueden usar el ancho completo asignando
|
|||
|
||||
### Mostrar ruta o URL
|
||||
|
||||
Muestra una ruta o URL en el siguiente bloque de código encontrado. Si comienza con "http", se convertirá en un enlace. Particularmente útil cuando se usa junto con el [shortcode de texto remot](#texto-remoto).
|
||||
Puedes mostrar una ruta o URL para un bloque de código usando la sintaxis nativa de Zola:
|
||||
|
||||
{{ add_src_to_code_block(src="https://github.com/welpo/doteki/blob/main/.gitignore") }}
|
||||
|
||||
```.gitignore
|
||||
{{ remote_text(src="https://raw.githubusercontent.com/welpo/doteki/main/.gitignore") }}
|
||||
```
|
||||
|
||||
{{ admonition(type="warning", title="IMPORTANT", text="Esta característica requiere JavaScript. Para habilitarla, configura `add_src_to_code_block = true` en la sección `[extra]` de tu página, sección, o `config.toml`.") }}
|
||||
|
||||
#### Uso
|
||||
{{ aside(text="Requiere Zola 0.20.0 o superior.") }}
|
||||
|
||||
````
|
||||
{{/* add_src_to_code_block(src="https://github.com/welpo/doteki/blob/main/.gitignore") */}}
|
||||
```rust,name=src/main.rs
|
||||
fn main() {
|
||||
println!("¡Hola, mundo!");
|
||||
}
|
||||
```
|
||||
````
|
||||
|
||||
```.gitignore
|
||||
Esto renderiza:
|
||||
|
||||
```rust,name=src/main.rs
|
||||
fn main() {
|
||||
println!("¡Hola, mundo!");
|
||||
}
|
||||
```
|
||||
|
||||
Si estableces el `name` como una URL (es decir, comienza con `http` o `https`), puedes convertirlo en un enlace clickable. Esto es particularmente útil cuando se usa junto con el [shortcode de texto remoto](#texto-remoto).
|
||||
|
||||
{{ admonition(type="warning", title="JavaScript requerido", text="La función de URLs clickables requiere JavaScript. Para habilitarla, configura `code_block_name_links = true` en la sección `[extra]` de tu página, sección, o `config.toml`.") }}
|
||||
|
||||
```.gitignore,name=https://github.com/welpo/doteki/blob/main/.gitignore
|
||||
__pycache__/
|
||||
*coverage*
|
||||
.vscode/
|
||||
dist/
|
||||
```
|
||||
````
|
||||
|
||||
### Soporte de shortcode heredado
|
||||
|
||||
El shortcode `add_src_to_code_block` sigue funcionando por retrocompatibilidad, pero será descontinuado en una versión futura. Por favor, usa la sintaxis nativa de Zola:
|
||||
|
||||
```
|
||||
# Forma antigua (descontinuada):
|
||||
{{/* add_src_to_code_block(src="ruta/al/archivo.rs") */}}
|
||||
|
||||
# Forma nueva (recomendada):
|
||||
```rust,name=ruta/al/archivo.rs
|
||||
```
|
||||
|
||||
## Shortcodes de texto
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Custom shortcodes"
|
||||
date = 2023-02-19
|
||||
updated = 2025-02-19
|
||||
updated = 2025-02-21
|
||||
description = "This theme includes some useful custom shortcodes that you can use to enhance your posts. Whether you want to display images that adapt to light and dark themes, or format a professional-looking reference section, these custom shortcodes have got you covered."
|
||||
|
||||
[taxonomies]
|
||||
|
@ -11,7 +11,7 @@ tags = ["showcase", "shortcodes"]
|
|||
toc = true
|
||||
toc_levels = 2
|
||||
quick_navigation_buttons = true
|
||||
add_src_to_code_block = true
|
||||
code_block_name_links = true
|
||||
mermaid = true
|
||||
social_media_card = "social_cards/blog_shortcodes.jpg"
|
||||
+++
|
||||
|
@ -192,28 +192,48 @@ All other image shortcodes can be made into full-width by setting the optional p
|
|||
|
||||
### Show source or path
|
||||
|
||||
Display a path or URL on the next code block found. If it starts with "http", it will become a link. Particularly useful when used in conjunction with the [remote text shortcode](#remote-text).
|
||||
You can display a path or URL for a code block using Zola's native syntax:
|
||||
|
||||
{{ add_src_to_code_block(src="<https://github.com/welpo/doteki/blob/main/.gitignore>") }}
|
||||
|
||||
```.gitignore
|
||||
{{ remote_text(src="https://raw.githubusercontent.com/welpo/doteki/main/.gitignore") }}
|
||||
```
|
||||
|
||||
{{ admonition(type="warning", title="IMPORTANT", text="This feature requires JavaScript. To enable it, set `add_src_to_code_block = true` on the `[extra]` section of your page, section, or `config.toml`.") }}
|
||||
|
||||
#### Usage
|
||||
{{ aside(text="Requires Zola 0.20.0 or later.") }}
|
||||
|
||||
````
|
||||
{{/* add_src_to_code_block(src="https://github.com/welpo/doteki/blob/main/.gitignore") */}}
|
||||
```rust,name=src/main.rs
|
||||
fn main() {
|
||||
println!("Hello, world!");
|
||||
}
|
||||
```
|
||||
````
|
||||
|
||||
```.gitignore
|
||||
This renders:
|
||||
|
||||
```rust,name=src/main.rs
|
||||
fn main() {
|
||||
println!("Hello, world!");
|
||||
}
|
||||
```
|
||||
|
||||
If you set the `name` to a URL (i.e. it starts with `http` or `https`), you can turn it into a clickable link. This is particularly useful when used in conjunction with the [remote text shortcode](#remote-text).
|
||||
|
||||
{{ admonition(type="warning", title="JavaScript required", text="The clickable URL feature requires JavaScript. To enable it, set `code_block_name_links = true` on the `[extra]` section of your page, section, or `config.toml`.") }}
|
||||
|
||||
```.gitignore,name=https://github.com/welpo/doteki/blob/main/.gitignore
|
||||
__pycache__/
|
||||
*coverage*
|
||||
.vscode/
|
||||
dist/
|
||||
```
|
||||
````
|
||||
|
||||
### Legacy shortcode support
|
||||
|
||||
The `add_src_to_code_block` shortcode is still supported for backward compatibility but will be deprecated in a future release. Please use Zola's native syntax shown above instead:
|
||||
|
||||
```
|
||||
# Old way (deprecated):
|
||||
{{/* add_src_to_code_block(src="path/to/file.rs") */}}
|
||||
|
||||
# New way (preferred):
|
||||
```rust,name=path/to/file.rs
|
||||
```
|
||||
|
||||
## Text shortcodes
|
||||
|
||||
|
|
7
content/pages/_index.ar.md
Normal file
7
content/pages/_index.ar.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
+++
|
||||
render = false
|
||||
insert_anchor_links = "right"
|
||||
|
||||
[extra]
|
||||
hide_from_feed = true
|
||||
+++
|
40
content/pages/about/index.ar.md
Normal file
40
content/pages/about/index.ar.md
Normal file
|
@ -0,0 +1,40 @@
|
|||
+++
|
||||
title = "عني"
|
||||
template = "info-page.html"
|
||||
path = "/ar/about"
|
||||
|
||||
[extra]
|
||||
quick_navigation_buttons = true
|
||||
social_media_card = "social_cards/about.ar.jpg"
|
||||
+++
|
||||
|
||||
مرحبًا بكم في العرض التقديمي ل[**تابي**]، وهو قالب لـ[Zola]، مولد المواقع الثابتة السريع.
|
||||
|
||||
**تابي** هو من ابتكار أوسكار فرنانديز ([welpo] على GitHub)، وقد صُمم في البداية لموقعه الشخصي [osc.garden]. هو قالب بشكل حديث غني بالميزات يوفر إعدادات افتراضية منطقية وآمنة.
|
||||
|
||||
يمكنك العثور على وثائق تشرح طريقة إستخدام **تابي** في [المدونة] و[الأرشيف]، سوف تجد بهم مقالات تشرح القالب وتقدم لك نظرة عامة حوله.
|
||||
|
||||
## الميزات
|
||||
|
||||
يركز **تابي** على الاداء ويدعم [تعدد اللغات] أي انه يمكن لمدونتك دعم أكثر من لغة، ويمكنك [تخصيص مظهرها]، ويمكنك [تفعيل التعليقات بها] أي السماح للأخرين بالتعليق على منشوراتك. و **تابي** لا يجبر مدونتك على إستخدام جافاسكربت، حيث انها [إختيارية] ولكنك سوف تفقد المميزات التي تحتاج إليها.
|
||||
|
||||
## المساهمة
|
||||
|
||||
نحن نقدر المساهمات! نرحب بالتبليغ على الأخطاء، وتحسينات الترجمة أو الوثائق (بغض النظر عن حجمها)، واقتراحات الميزات... تحقق من [إرشادات المساهمة] لمعرفة كيفية المساعدة. شكرًا لك!
|
||||
|
||||
## الترخيص
|
||||
|
||||
الكود متاح بموجب [رخصة MIT].
|
||||
|
||||
[**تابي**]: https://github.com/welpo/tabi
|
||||
[Zola]: https://www.getzola.org
|
||||
[welpo]: https://github.com/welpo
|
||||
[osc.garden]: https://osc.garden
|
||||
[المدونة]: https://welpo.github.io/tabi/blog
|
||||
[الأرشيف]: https://welpo.github.io/tabi/archive
|
||||
[تعدد اللغات]: https://welpo.github.io/tabi/blog/faq-languages
|
||||
[تخصيص مظهرها]: https://welpo.github.io/tabi/blog/customise-tabi
|
||||
[تفعيل التعليقات بها]: https://welpo.github.io/tabi/blog/comments
|
||||
[إختيارية]: https://welpo.github.io/tabi/blog/javascript
|
||||
[إرشادات المساهمة]: https://github.com/welpo/tabi/blob/main/CONTRIBUTING.md
|
||||
[رخصة MIT]: https://choosealicense.com/licenses/mit
|
BIN
content/pages/about/social_cards/about.ar.jpg
Normal file
BIN
content/pages/about/social_cards/about.ar.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 56 KiB |
95
content/pages/privacy/index.ar.md
Normal file
95
content/pages/privacy/index.ar.md
Normal file
|
@ -0,0 +1,95 @@
|
|||
+++
|
||||
title = "سياسة الخصوصية"
|
||||
path = "/ar/privacy"
|
||||
date = 2023-10-31
|
||||
updated = 2024-05-12
|
||||
+++
|
||||
|
||||
هذه السياسة توضح كيف نقوم بجمع ومعالجة بياناتك على هذا الموقع.
|
||||
|
||||
{{ toc() }}
|
||||
|
||||
## ما البيانات التي نجمعها؟
|
||||
|
||||
### التصفح العام {#what-general}
|
||||
|
||||
أثناء تصفح الموقع، لا يتم جمع أي معلومات شخصية.
|
||||
|
||||
### التعليقات {#what-comments}
|
||||
|
||||
نحن لا نجمع أي بيانات عند إرسال تعليق على تدوينة، لكن GitHub يجمع البيانات لتوفير الخدمة، حيث انه يتم توفيرها من خلاله.
|
||||
|
||||
### التحليلات {#what-analytics}
|
||||
|
||||
لتحسين الموقع، يتم جمع البيانات غير الشخصية التالية:
|
||||
|
||||
- **المرجع**: المصدر الذي قادك إلى هذا الموقع.
|
||||
- **الرابط المطلوب**: الصفحة المحددة التي قمت بزيارتها.
|
||||
- **وكيل المستخدم**: يحدد المتصفح ونظام التشغيل الذي تستخدمه (مثل "Safari 17.0، Mac OS X").
|
||||
- **اسم البلد**: البلد الذي زرت الموقع منه، يتم تحديده بواسطة عنوان IP الخاص بك.
|
||||
- **حجم الشاشة**: أبعاد شاشة جهازك.
|
||||
- **الوقت**: الوقت الذي وصلت فيه إلى الموقع.
|
||||
- **جلسة التصفح**: رمز تعريف مؤقت يتم إنشاؤه من عنوان IP الخاص بك، ومعلومات المتصفح، ورقم عشوائي. يُستخدم هذا للتعرف على جلسة التصفح لمدة 8 ساعات. بعد ذلك، يتم حذف الرمز من الذاكرة ولا يُخزن في أي مكان.
|
||||
|
||||
نحن لا نتتبع الزوار عبر الجلسات، ولا نتتبع مدة بقائك في الموقع أو أين تذهب بعد مغادرتك.
|
||||
|
||||
## كيف نجمع هذه البيانات؟
|
||||
|
||||
### التعليقات {#how-comments}
|
||||
|
||||
يتم جمع البيانات المرتبطة بالتعليقات باستخدام [Giscus](https://giscus.app/)، وهي منصة تمكن من إضافة التعليقات، المبنية على GitHub.
|
||||
|
||||
### التحليلات {#how-analytics}
|
||||
|
||||
يتم جمع البيانات غير الشخصية باستخدام نسخة مستضافة ذاتيًا من [GoatCounter](https://www.goatcounter.com/)، وهي منصة مفتوحة المصدر لتحليلات الويب تركز على الخصوصية.
|
||||
|
||||
## كيف سنستخدم البيانات؟
|
||||
|
||||
تُستخدم البيانات المرسلة إلى GitHub لعرض تعليقك على الموقع.
|
||||
|
||||
تُستخدم البيانات غير الشخصية لإنشاء إحصائيات حول الموقع، مثل عدد الزوار يوميًا، أو الصفحات والمراجع الأكثر شعبية. تُستخدم هذه البيانات لتحسين هذا الموقع التجريبي وقالب تابي. يمكنك رؤية الإحصائيات الناتجة عن هذه البيانات على [صفحة الإحصائيات العامة](https://tabi-stats.osc.garden/).
|
||||
|
||||
جميع البيانات المجمعة متاحة للجمهور، سواء في شكل تعليقات أو إحصائيات.
|
||||
|
||||
نحن لا نستخدم البيانات لأي غرض آخر.
|
||||
|
||||
## كيف نقوم بتخزين البيانات؟
|
||||
|
||||
بيانات التعليقات لا تُخزن بواسطة Giscus، كما هو موضح في [سياسة الخصوصية الخاصة بهم](https://github.com/giscus/giscus/blob/main/PRIVACY-POLICY.md#what-data-do-we-collect). يتم تخزين البيانات على خوادم GitHub. راجع [سياسة الخصوصية الخاصة بGitHub](https://docs.github.com/en/site-policy/privacy-policies/github-privacy-statement).
|
||||
|
||||
يتم تخزين بيانات التحليلات على خادم مستضاف بواسطة [Vultr](https://www.vultr.com/). يقع الخادم في باريس، فرنسا.
|
||||
|
||||
## كم من الوقت سنقوم بتخزين البيانات؟
|
||||
|
||||
تُخزن التعليقات إلى أجل غير مسمى، أو حتى تطلب حذفها.
|
||||
|
||||
تُخزن باقي البيانات إلى أجل غير مسمى.
|
||||
|
||||
## ما هي حقوقك في حماية البيانات؟
|
||||
|
||||
اعتمادًا على المعالجة والأساس القانوني، هناك عدد من الخيارات المتاحة لك للحفاظ على السيطرة على بياناتك الشخصية:
|
||||
|
||||
- حق الوصول إلى بياناتك
|
||||
- حق تعديل بياناتك
|
||||
- حق الاعتراض على معالجة بياناتك الشخصية
|
||||
- حق تقييد معالجة بياناتك
|
||||
- حق حذف بياناتك
|
||||
- حق سحب موافقتك
|
||||
|
||||
إذا قدمت طلبًا، لدينا شهر واحد للرد عليك. إذا كنت ترغب في ممارسة أي من هذه الحقوق، يرجى الاتصال بنا باستخدام أيقونة البريد الإلكتروني في تذييل الموقع.
|
||||
|
||||
## الكوكيز
|
||||
|
||||
الموقع لا يستخدم الكوكيز.
|
||||
|
||||
## سياسات الخصوصية لمواقع أخرى
|
||||
|
||||
يحتوي هذا الموقع على روابط لمواقع أخرى. تنطبق سياسة الخصوصية هذه فقط على هذا الموقع، لذا إذا قمت بالنقر على رابط لموقع آخر، يجب عليك قراءة سياسة الخصوصية الخاصة بهم.
|
||||
|
||||
## التغييرات على سياسة الخصوصية
|
||||
|
||||
نحن نراجع هذه السياسة بانتظام ونضع أي تحديثات على هذه الصفحة. يمكنك التحقق من تاريخ تحديث هذه السياسة، بالإضافة إلى سجل التغييرات تحت عنوان الصفحة.
|
||||
|
||||
## كيف تتواصل معنا
|
||||
|
||||
إذا كانت لديك أي أسئلة حول سياسة الخصوصية هذه، أو البيانات التي نحتفظ بها عنك، أو إذا كنت ترغب في ممارسة أحد حقوق حماية البيانات الخاصة بك، فلا تتردد في الاتصال بنا باستخدام أيقونة البريد الإلكتروني في تذييل الموقع.
|
10
content/projects/_index.ar.md
Normal file
10
content/projects/_index.ar.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
+++
|
||||
title = "مشاريعي"
|
||||
sort_by = "weight"
|
||||
template = "cards.html"
|
||||
insert_anchor_links = "right"
|
||||
|
||||
[extra]
|
||||
show_reading_time = false
|
||||
quick_navigation_buttons = true
|
||||
+++
|
|
@ -10,7 +10,6 @@ tags = ["GitHub Actions", "automatització", "Python"]
|
|||
local_image = "projects/doteki/doteki_logo.webp"
|
||||
social_media_card = "social_cards/projects_doteki.jpg"
|
||||
canonical_url = "https://osc.garden/ca/projects/doteki/"
|
||||
add_src_to_code_block = true
|
||||
+++
|
||||
|
||||
**dōteki** actualitza el teu perfil de GitHub automàticament. Afegeix les teves últimes publicacions del blog, la música que escoltes o qualsevol altre contingut dinàmic mitjançant plugins.
|
||||
|
@ -23,16 +22,14 @@ add_src_to_code_block = true
|
|||
|
||||
1. Afegeix marcadors al teu README:
|
||||
|
||||
{{ add_src_to_code_block(src="README.md") }}
|
||||
```md
|
||||
```md,name=README.md
|
||||
<!-- blog start -->
|
||||
<!-- blog end -->
|
||||
```
|
||||
|
||||
2. Configura què hi va:
|
||||
|
||||
{{ add_src_to_code_block(src="doteki.toml") }}
|
||||
```toml
|
||||
```toml,name=doteki.toml
|
||||
[sections.blog]
|
||||
plugin = "feed"
|
||||
url = "https://osc.garden/atom.xml" # Substitueix amb el teu feed.
|
||||
|
|
|
@ -10,7 +10,6 @@ tags = ["GitHub Actions", "automatización", "Python"]
|
|||
local_image = "projects/doteki/doteki_logo.webp"
|
||||
social_media_card = "social_cards/projects_doteki.jpg"
|
||||
canonical_url = "https://osc.garden/es/projects/doteki/"
|
||||
add_src_to_code_block = true
|
||||
+++
|
||||
|
||||
**dōteki** actualiza tu perfil de GitHub automáticamente. Añade tus últimas publicaciones del blog, la música que escuchas o cualquier otro contenido dinámico mediante plugins.
|
||||
|
@ -23,16 +22,14 @@ add_src_to_code_block = true
|
|||
|
||||
1. Añade marcadores a tu README:
|
||||
|
||||
{{ add_src_to_code_block(src="README.md") }}
|
||||
```md
|
||||
```md,name=README.md
|
||||
<!-- blog start -->
|
||||
<!-- blog end -->
|
||||
```
|
||||
|
||||
2. Configura qué va ahí:
|
||||
|
||||
{{ add_src_to_code_block(src="doteki.toml") }}
|
||||
```toml
|
||||
```toml,name=doteki.toml
|
||||
[sections.blog]
|
||||
plugin = "feed"
|
||||
url = "https://osc.garden/atom.xml" # Reemplaza con tu feed.
|
||||
|
|
|
@ -10,7 +10,6 @@ tags = ["GitHub Actions", "automation", "Python"]
|
|||
local_image = "projects/doteki/doteki_logo.webp"
|
||||
social_media_card = "social_cards/projects_doteki.jpg"
|
||||
canonical_url = "https://osc.garden/projects/doteki/"
|
||||
add_src_to_code_block = true
|
||||
+++
|
||||
|
||||
**dōteki** updates your GitHub profile README automatically. Add your latest blog posts, music you're listening to, or any other dynamic content using plugins.
|
||||
|
@ -23,18 +22,14 @@ add_src_to_code_block = true
|
|||
|
||||
1. Add markers to your README:
|
||||
|
||||
{{ add_src_to_code_block(src="README.md") }}
|
||||
|
||||
```md
|
||||
```md,name=README.md
|
||||
<!-- blog start -->
|
||||
<!-- blog end -->
|
||||
```
|
||||
|
||||
2. Configure what goes there:
|
||||
|
||||
{{ add_src_to_code_block(src="doteki.toml") }}
|
||||
|
||||
```toml
|
||||
```toml,name=doteki.toml
|
||||
[sections.blog]
|
||||
plugin = "feed"
|
||||
url = "https://osc.garden/atom.xml" # Replace with your feed.
|
||||
|
|
46
content/projects/tabi/index.ar.md
Normal file
46
content/projects/tabi/index.ar.md
Normal file
|
@ -0,0 +1,46 @@
|
|||
+++
|
||||
title = "تابي"
|
||||
description = "سمة زولا عصرية غنية بالمميزات مع دعم متميز لتعدد اللغات"
|
||||
weight = 40
|
||||
|
||||
[taxonomies]
|
||||
tags = ["ويب", "جافا سكريبت"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/tabi/tabi.webp"
|
||||
+++
|
||||
|
||||
[**تابي**](https://github.com/welpo/tabi) هي سمة عصرية غنية بالمميزات لـ[Zola](https://www.getzola.org/)، منشئ مواقع ثابتة سريع.
|
||||
|
||||
{{ full_width_image(src="https://cdn.jsdelivr.net/gh/welpo/tabi@main/light_dark_screenshot.png", alt="تابي في الوضعين الفاتح والداكن") }}
|
||||
|
||||
#### [عرض على GitHub](https://github.com/welpo/tabi) • [عرض توضيحي وتوثيق](https://welpo.github.io/tabi/) {.centered-text}
|
||||
|
||||
## المميزات
|
||||
|
||||
- دعم كامل [للغة العربية والكتابة من اليمين إلى اليسار](https://welpo.github.io/tabi/blog/faq-languages/#how-do-i-set-a-default-language-for-my-site)
|
||||
- [دعم للسلاسل](https://welpo.github.io/tabi/blog/series/) لإنشاء محتوى متسلسل مثل الدروس والدورات
|
||||
- سمتان داكنة وفاتحة، مع التبديل التلقائي حسب إعدادات النظام
|
||||
- [دعم التعليقات](https://welpo.github.io/tabi/blog/comments/) باستخدام giscus أو utterances أو Hyvor Talk أو Isso
|
||||
- [دعم KaTeX](https://katex.org/) للمعادلات الرياضية
|
||||
- [دعم Mermaid](https://welpo.github.io/tabi/blog/shortcodes/#mermaid-diagrams) لإنشاء المخططات
|
||||
- [بحث محلي](https://welpo.github.io/tabi/blog/mastering-tabi-settings/#search) متعدد اللغات
|
||||
- تصميم متجاوب يعمل على جميع الأجهزة
|
||||
- [صفحة مشاريع](https://welpo.github.io/tabi/projects/) و[أرشيف](https://welpo.github.io/tabi/archive/)
|
||||
|
||||
## ممارسات التطوير
|
||||
|
||||
- **[الالتزامات التقليدية](https://www.conventionalcommits.org) و[Gitmoji](https://gitmoji.dev/)**: تتبع رسائل الالتزام تنسيقات موحدة لتحسين القراءة
|
||||
- **تتبع المشكلات**: لكل خطأ أو ميزة جديدة تذكرة مخصصة، مرتبطة بأي التزامات برمجية وطلبات سحب ذات صلة
|
||||
- **تعليقات شاملة**: يتم توثيق التذاكر بالصور ومقاطع الفيديو والأوصاف التفصيلية لتسهيل التواصل الفعال وحل المشكلات
|
||||
- **الإحالات المرجعية**: نربط جميع التذاكر بالتزامات الشفرة وطلبات السحب أو المشكلات ذات الصلة للتتبع الكامل
|
||||
|
||||
## تطور المشروع
|
||||
|
||||
تم تصميم **تابي** في الأصل لموقعي الشخصي، [osc.garden](https://osc.garden). على الرغم من أصولها للاستخدام الشخصي، تم تنفيذ أفضل الممارسات منذ البداية لضمان الجودة وقابلية الصيانة. ومنذ ذلك الحين نمت السمة لتجذب مجتمعًا نشطًا من المساهمين على GitHub.
|
||||
|
||||
## ابدأ رحلة الكتابة مع تابي
|
||||
|
||||
لديك شيء تريد قوله. ربما عن تجربتك في تعلم لغة جديدة، أو عن رحلتك في استكشاف [فن الفلامنكو](https://en.wikipedia.org/wiki/Palo_(flamenco))، أو عن كيف نجحت في حل مشكلة برمجية في مشروع مفتوح المصدر.
|
||||
|
||||
**تابي** توفر الأساس المثالي لمساحة كتابتك، مما يتيح لك التركيز على كلماتك بينما يهتم Zola وتابي بالجانب التقني. ادخل عالم التدوين مع نظام يجعل كل تدوينة متعة في الكتابة والقراءة. صوتك له قيمة—شاركه مع العالم.
|
|
@ -63,6 +63,27 @@ pre {
|
|||
font-size: 0.8rem; // Fits ~77 characters.
|
||||
}
|
||||
|
||||
// Supports both native Zola way of adding src, and old shortcode-based logic.
|
||||
// See: https://github.com/welpo/tabi/pull/489
|
||||
&::after,
|
||||
code .source-path {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
inset-inline-end: 1.3rem;
|
||||
padding-top: 0.3rem;
|
||||
padding-inline-end: 1.3rem;
|
||||
max-width: calc(100% - 14em);
|
||||
height: 0.9rem;
|
||||
overflow: hidden;
|
||||
content: attr(data-name);
|
||||
color: var(--hover-color);
|
||||
font-size: 0.65rem;
|
||||
text-align: end;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
code {
|
||||
display: block;
|
||||
border: 0rem;
|
||||
|
@ -89,23 +110,6 @@ pre {
|
|||
text-align: start;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.source-path {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
inset-inline-end: 1.3rem;
|
||||
padding-top: 0.3rem;
|
||||
padding-inline-end: 1.3rem;
|
||||
max-width: calc(100% - 14em);
|
||||
height: 0.9rem;
|
||||
overflow: hidden;
|
||||
color: var(--hover-color);
|
||||
font-size: 0.65rem;
|
||||
text-align: end;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -82,6 +82,44 @@ a {
|
|||
text-decoration: inherit;
|
||||
}
|
||||
|
||||
// External link styles with `external_links_class = "external"`.
|
||||
main {
|
||||
--external-link-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M11 5h-6v14h14v-6'/%3E%3Cpath d='M13 11l7 -7'/%3E%3Cpath d='M21 3h-6M21 3v6'/%3E%3C/g%3E%3C/svg%3E");
|
||||
a.external:not(:has(img, svg, video, picture, figure)) {
|
||||
display: inline-block;
|
||||
padding-inline-end: 0.9em;
|
||||
}
|
||||
|
||||
a.external:not(:has(img, svg, video, picture, figure))::after {
|
||||
-webkit-mask-image: var(--external-link-icon);
|
||||
-webkit-mask-size: 100% 100%;
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
mask-image: var(--external-link-icon);
|
||||
mask-size: 100% 100%;
|
||||
margin-inline-start: 0.2em;
|
||||
inset-inline-end: 0;
|
||||
background-color: currentColor;
|
||||
width: 0.8em;
|
||||
height: 0.8em;
|
||||
content: '';
|
||||
}
|
||||
|
||||
&:dir(rtl) a.external:not(:has(img, svg, video, picture, figure))::after {
|
||||
transform: translateY(-50%) rotate(-90deg);
|
||||
}
|
||||
|
||||
.meta a.external:not(:has(img, svg, video, picture, figure))::after {
|
||||
background-color: var(--meta-color);
|
||||
}
|
||||
|
||||
a.external:not(:has(img, svg, video, picture, figure)):hover::after {
|
||||
background-color: var(--hover-color);
|
||||
}
|
||||
}
|
||||
|
||||
a:hover {
|
||||
background-color: var(--primary-color);
|
||||
color: var(--hover-color);
|
||||
|
@ -91,7 +129,7 @@ a:hover rt {
|
|||
color: var(--text-color);
|
||||
}
|
||||
|
||||
a:not(.no-hover-padding):hover::after {
|
||||
a:not(.no-hover-padding):hover::before {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
|
@ -100,7 +138,7 @@ a:not(.no-hover-padding):hover::after {
|
|||
inset-inline-end: -0.15em;
|
||||
inset-inline-start: -0.15em;
|
||||
background-color: var(--primary-color);
|
||||
max-inline-size: 105%; // This fixes multi-line links (see #225)
|
||||
max-inline-size: 105%;
|
||||
content: "";
|
||||
}
|
||||
|
||||
|
@ -118,6 +156,11 @@ hr {
|
|||
height: 1px;
|
||||
}
|
||||
|
||||
.footnotes-list,
|
||||
.footnotes {
|
||||
text-align: start;
|
||||
}
|
||||
|
||||
.footnote-reference {
|
||||
font-size: 0.7rem;
|
||||
font-family: var(--serif-font);
|
||||
|
@ -142,7 +185,12 @@ hr {
|
|||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
.footnotes-list a[href^="#fr-"] {
|
||||
.footnotes-list a[href^="#fr-"],
|
||||
.footnotes a[href^="#fr-"] {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
.footnotes code {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
|
|
|
@ -14,13 +14,8 @@
|
|||
<meta charset="utf-8"/>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<!-- The base URL is assumed to be the first URL in the sitemap. -->
|
||||
<xsl:variable name="baseUrl" select="(sitemap:urlset/sitemap:url)[1]/sitemap:loc"/>
|
||||
<!-- Remove http[s]:// -->
|
||||
<xsl:variable name="baseUrlWithoutProtocol" select="substring-after($baseUrl, '://')"/>
|
||||
<!-- Remove trailing slash -->
|
||||
<xsl:variable name="clean_base_url" select="substring-before($baseUrlWithoutProtocol, '/')"/>
|
||||
<link rel="stylesheet" href="{$baseUrl}main.css"/>
|
||||
<xsl:variable name="baseUrl" select="/atom:feed/tabi:metadata/tabi:base_url"/>
|
||||
<link rel="stylesheet" href="{$baseUrl}/main.css"/>
|
||||
<link rel="stylesheet" href="{/atom:feed/atom:link[@rel='extra-stylesheet']/@href}" />
|
||||
|
||||
</head>
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
document.addEventListener("DOMContentLoaded", function() {
|
||||
document.querySelectorAll('.code-source').forEach(function(marker) {
|
||||
let sourceUrl = marker.getAttribute('data-source');
|
||||
let nextPre = marker.nextElementSibling;
|
||||
|
||||
if (nextPre && nextPre.tagName === 'PRE') {
|
||||
let codeElement = nextPre.querySelector('code');
|
||||
if (codeElement) {
|
||||
// Use a span element for the source path if it's not a link.
|
||||
let sourceElement = document.createElement(sourceUrl.startsWith('http') ? 'a' : 'span');
|
||||
sourceElement.textContent = sourceUrl;
|
||||
sourceElement.className = 'source-path';
|
||||
if (sourceUrl.startsWith('http')) {
|
||||
sourceElement.href = sourceUrl;
|
||||
}
|
||||
codeElement.prepend(sourceElement);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
1
static/js/addSrcToCodeBlock.min.js
vendored
1
static/js/addSrcToCodeBlock.min.js
vendored
|
@ -1 +0,0 @@
|
|||
document.addEventListener("DOMContentLoaded",function(){document.querySelectorAll(".code-source").forEach(function(t){var e,n=t.getAttribute("data-source"),t=t.nextElementSibling;t&&"PRE"===t.tagName&&(t=t.querySelector("code"))&&((e=document.createElement(n.startsWith("http")?"a":"span")).textContent=n,e.className="source-path",n.startsWith("http")&&(e.href=n),t.prepend(e))})});
|
36
static/js/codeBlockNameLinks.js
Normal file
36
static/js/codeBlockNameLinks.js
Normal file
|
@ -0,0 +1,36 @@
|
|||
document.addEventListener("DOMContentLoaded", function() {
|
||||
// Convert URLs in data-name to links.
|
||||
document.querySelectorAll('code[data-name]').forEach(function(code) {
|
||||
const name = code.getAttribute('data-name');
|
||||
if (name.startsWith('http')) {
|
||||
const link = document.createElement('a');
|
||||
link.href = name;
|
||||
link.className = 'source-path';
|
||||
link.textContent = name;
|
||||
code.insertBefore(link, code.firstChild);
|
||||
// Remove data-name to avoid overlap with Zola's native display.
|
||||
code.removeAttribute('data-name');
|
||||
code.parentElement?.removeAttribute('data-name');
|
||||
}
|
||||
});
|
||||
|
||||
// Legacy support for old shortcode. https://github.com/welpo/tabi/pull/489
|
||||
document.querySelectorAll('.code-source').forEach(function(marker) {
|
||||
const sourceUrl = marker.getAttribute('data-source');
|
||||
const nextPre = marker.nextElementSibling;
|
||||
if (nextPre?.tagName === 'PRE') {
|
||||
const code = nextPre.querySelector('code');
|
||||
if (code) {
|
||||
if (sourceUrl.startsWith('http')) {
|
||||
const link = document.createElement('a');
|
||||
link.href = sourceUrl;
|
||||
link.className = 'source-path';
|
||||
link.textContent = sourceUrl;
|
||||
code.insertBefore(link, code.firstChild);
|
||||
} else {
|
||||
code.setAttribute('data-name', sourceUrl);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
1
static/js/codeBlockNameLinks.min.js
vendored
Normal file
1
static/js/codeBlockNameLinks.min.js
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
document.addEventListener("DOMContentLoaded",function(){document.querySelectorAll("code[data-name]").forEach(function(e){var t,a=e.getAttribute("data-name");a.startsWith("http")&&((t=document.createElement("a")).href=a,t.className="source-path",t.textContent=a,e.insertBefore(t,e.firstChild),e.removeAttribute("data-name"),e.parentElement?.removeAttribute("data-name"))}),document.querySelectorAll(".code-source").forEach(function(e){var t,a=e.getAttribute("data-source");"PRE"===(e=e.nextElementSibling)?.tagName&&(e=e.querySelector("code"))&&(a.startsWith("http")?((t=document.createElement("a")).href=a,t.className="source-path",t.textContent=a,e.insertBefore(t,e.firstChild)):e.setAttribute("data-name",a))})});
|
|
@ -58,7 +58,7 @@
|
|||
{{ post.date | date(format="%d %b", locale=date_locale) }}
|
||||
</span>
|
||||
</div>
|
||||
<a href="{{ post.permalink }}" title="{{ post.title }}">{{ post.title }}</a>
|
||||
<a href="{{ post.permalink }}" title="{{ post.title }}">{{ post.title | markdown(inline=true) | safe }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
<?xml-stylesheet href="{{ get_url(path='/feed_style.xsl', trailing_slash=false) | safe }}" type="text/xsl"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="{{ lang }}">
|
||||
<tabi:metadata xmlns:tabi="https://github.com/welpo/tabi">
|
||||
<tabi:base_url>{{ config.base_url }}</tabi:base_url>
|
||||
<tabi:separator>
|
||||
{{ config.extra.separator | default(value="•") }}
|
||||
</tabi:separator>
|
||||
|
@ -71,6 +72,12 @@
|
|||
{%- if macros_settings::evaluate_setting_priority(setting="hide_from_feed", page=page, default_global_value=false) == "true" -%}
|
||||
{%- continue -%}
|
||||
{%- endif -%}
|
||||
{#- Skip if hide_from_main_feed is true and this is the main feed -#}
|
||||
{%- if macros_settings::evaluate_setting_priority(setting="hide_from_main_feed", page=page, default_global_value=false) == "true"
|
||||
and not section
|
||||
and not term -%}
|
||||
{%- continue -%}
|
||||
{%- endif -%}
|
||||
<entry xml:lang="{{ page.lang }}">
|
||||
<title>{{ page.title }}</title>
|
||||
<published>{{ page.date | date(format="%+") }}</published>
|
||||
|
|
|
@ -108,7 +108,7 @@ Current section extra: {% if current_section %}{{ current_section.extra | json_e
|
|||
<main>
|
||||
<article class="h-entry">
|
||||
<h1 class="p-name article-title">
|
||||
{{ page.title }}
|
||||
{{ page.title | markdown(inline=true) | safe }}
|
||||
</h1>
|
||||
<a class="u-url u-uid" href="{{ page.permalink | safe }}"></a>
|
||||
|
||||
|
@ -179,7 +179,7 @@ Current section extra: {% if current_section %}{{ current_section.extra | json_e
|
|||
</ul><ul class="dt-updated meta last-updated"><li>{{ updated_str }}</li>
|
||||
{#- Show link to remote changes if enabled -#}
|
||||
{%- if config.extra.remote_repository_url and macros_settings::evaluate_setting_priority(setting="show_remote_changes", page=page, default_global_value=true) == "true" -%}
|
||||
<li>{%- if previous_visible -%}{{ separator_with_class | safe }}{%- endif -%}<a href="{% include "partials/history_url.html" %}" {{ blank_target }} rel="{{ rel_attributes }}">{{ macros_translate::translate(key="see_changes", default="See changes", language_strings=language_strings) }}<small> <span class="arrow-corner">↗</span></small></a></li>
|
||||
<li>{%- if previous_visible -%}{{ separator_with_class | safe }}{%- endif -%}<a class="external" href="{% include "partials/history_url.html" %}" {{ blank_target }} rel="{{ rel_attributes }}">{{ macros_translate::translate(key="see_changes", default="See changes", language_strings=language_strings) }}</a></li>
|
||||
{%- endif -%}
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
@ -304,13 +304,13 @@ Current section extra: {% if current_section %}{{ current_section.extra | json_e
|
|||
<div>
|
||||
{%- if left_link and left_label and left_title -%}
|
||||
<a href="{{ left_link | safe }}" aria-label="{{ left_label }}" aria-describedby="left_title"><span class="arrow">←</span> {{ left_label }}</a>
|
||||
<p aria-hidden="true" id="left_title">{{ left_title | truncate(length=100, end="…") }}</p>
|
||||
<p aria-hidden="true" id="left_title">{{ left_title | truncate(length=100, end="…") | markdown(inline=true) | safe }}</p>
|
||||
{%- endif -%}
|
||||
</div>
|
||||
<div>
|
||||
{%- if right_link and right_label and right_title -%}
|
||||
<a href="{{ right_link | safe }}" aria-label="{{ right_label }}" aria-describedby="right_title">{{ right_label }} <span class="arrow">→</span></a>
|
||||
<p aria-hidden="true" id="right_title">{{ right_title | truncate(length=100, end="…") }}</p>
|
||||
<p aria-hidden="true" id="right_title">{{ right_title | truncate(length=100, end="…") | markdown(inline=true) | safe }}</p>
|
||||
{%- endif -%}
|
||||
</div>
|
||||
</nav>
|
||||
|
|
|
@ -38,10 +38,10 @@
|
|||
{% endif %}
|
||||
|
||||
<div class="card-info">
|
||||
<h2 class="card-title">{{ page.title }}</h2>
|
||||
<h2 class="card-title">{{ page.title | markdown(inline=true) | safe }}</h2>
|
||||
<div class="card-description">
|
||||
{% if page.description %}
|
||||
{{ page.description }}
|
||||
{{ page.description | markdown(inline=true) | safe }}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -62,9 +62,12 @@
|
|||
<script defer src="{{ get_url(path='js/copyCodeToClipboard.min.js', trailing_slash=false) | safe }}"></script>
|
||||
{%- endif -%}
|
||||
|
||||
{# JavaScript to use the "Show source or path" on code blocks shortcode: https://welpo.github.io/tabi/blog/shortcodes/#show-source-or-path #}
|
||||
{%- if macros_settings::evaluate_setting_priority(setting="add_src_to_code_block", page=page_s, section=section_s, default_global_value=false) == "true" -%}
|
||||
<script defer src="{{ get_url(path='js/addSrcToCodeBlock.min.js', trailing_slash=false) | safe }}"></script>
|
||||
{# JavaScript to make code block names clickable when they are URLs: https://welpo.github.io/tabi/blog/shortcodes/#show-source-or-path #}
|
||||
{# Note: "add_src_to_code_block" is deprecated in favor of "code_block_name_links". It will be removed in a future release. #}
|
||||
{# See https://github.com/welpo/tabi/pull/489 #}
|
||||
{%- if macros_settings::evaluate_setting_priority(setting="code_block_name_links", page=page_s, section=section_s, default_global_value=false) == "true"
|
||||
or macros_settings::evaluate_setting_priority(setting="add_src_to_code_block", page=page_s, section=section_s, default_global_value=false) == "true" -%}
|
||||
<script defer src="{{ get_url(path='js/codeBlockNameLinks.min.js', trailing_slash=false) | safe }}"></script>
|
||||
{%- endif -%}
|
||||
|
||||
{# Add backlinks to footnotes #}
|
||||
|
|
|
@ -87,9 +87,9 @@ show_remote_source = true # Defaults to true.
|
|||
# Can be set at page or section levels, following the hierarchy: page > section > config. See: https://welpo.github.io/tabi/blog/mastering-tabi-settings/#settings-hierarchy
|
||||
copy_button = true
|
||||
|
||||
# Loads the necessary JavaScript (~400 bytes) to use the "Show source or path" shortcode: https://welpo.github.io/tabi/blog/shortcodes/#show-source-or-path
|
||||
# Make code block names clickable if they are URLs (loads ~400 bytes of JavaScript).
|
||||
# Can be set at page or section levels, following the hierarchy: page > section > config. See: https://welpo.github.io/tabi/blog/mastering-tabi-settings/#settings-hierarchy
|
||||
add_src_to_code_block = false
|
||||
code_block_name_links = false
|
||||
|
||||
# Force left-to-right (LTR) direction for code blocks.
|
||||
# Set to false to allow code to follow the document's natural direction.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue