Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,6 @@ trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false

[*.yml]
indent_size = 2
57 changes: 57 additions & 0 deletions .github/workflows/jekyll-gh-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Deploy Jekyll with GitHub Pages

on:
pull_request: # TEMPORARY !!!
push:
branches: ["master"]
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: "pages"
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Install dependencies
run: |
docker run --rm \
--user $(id -u):$(id -g) \
-v "${{ github.workspace }}:/srv/jekyll" \
-w /srv/jekyll \
-e BUNDLE_PATH=/srv/jekyll/vendor/bundle \
jekyll/jekyll:4.2.2 \
bundle install

- name: Build site
run: |
docker run --rm \
--user $(id -u):$(id -g) \
-v "${{ github.workspace }}:/srv/jekyll" \
-w /srv/jekyll \
-e BUNDLE_PATH=/srv/jekyll/vendor/bundle \
jekyll/jekyll:4.2.2 \
bundle exec jekyll build -d ./_site

- name: Upload artifact
uses: actions/upload-pages-artifact@v4

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,8 @@ Thumbs.db
.DS_Store

# po4a .mo files
*.mo
*.mo

# Jekyll
/.jekyll-cache/
/_site/
Empty file removed .nojekyll
Empty file.
12 changes: 12 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
source "https://rubygems.org"

gem "jekyll", "~> 4.2.2"
gem "minima", "~> 2.5.2"
gem "webrick", "~> 1.8"

group :jekyll_plugins do
gem "jekyll-seo-tag", "~> 2.8.0"
gem "jekyll-optional-front-matter", "~> 0.3.2"
gem "jekyll-readme-index", "~> 0.3.0"
gem "jekyll-relative-links", "~> 0.7.0"
end
88 changes: 88 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.8)
public_suffix (>= 2.0.2, < 8.0)
colorator (1.1.0)
concurrent-ruby (1.3.6)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
eventmachine (1.2.7)
ffi (1.17.2-x86_64-linux-musl)
forwardable-extended (2.6.0)
http_parser.rb (0.8.0)
i18n (1.14.8)
concurrent-ruby (~> 1.0)
jekyll (4.2.2)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 1.0)
jekyll-sass-converter (~> 2.0)
jekyll-watch (~> 2.0)
kramdown (~> 2.3)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
mercenary (~> 0.4.0)
pathutil (~> 0.9)
rouge (~> 3.0)
safe_yaml (~> 1.0)
terminal-table (~> 2.0)
jekyll-feed (0.17.0)
jekyll (>= 3.7, < 5.0)
jekyll-optional-front-matter (0.3.2)
jekyll (>= 3.0, < 5.0)
jekyll-readme-index (0.3.0)
jekyll (>= 3.0, < 5.0)
jekyll-relative-links (0.7.0)
jekyll (>= 3.3, < 5.0)
jekyll-sass-converter (2.2.0)
sassc (> 2.0.1, < 3.0)
jekyll-seo-tag (2.8.0)
jekyll (>= 3.8, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
kramdown (2.5.1)
rexml (>= 3.3.9)
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.4)
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
minima (2.5.2)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (6.0.2)
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
rexml (3.4.4)
rouge (3.30.0)
safe_yaml (1.0.5)
sassc (2.4.0)
ffi (~> 1.9)
terminal-table (2.0.0)
unicode-display_width (~> 1.1, >= 1.1.1)
unicode-display_width (1.8.0)
webrick (1.9.2)

PLATFORMS
x86_64-linux-musl

DEPENDENCIES
jekyll (~> 4.2.2)
jekyll-optional-front-matter (~> 0.3.2)
jekyll-readme-index (~> 0.3.0)
jekyll-relative-links (~> 0.7.0)
jekyll-seo-tag (~> 2.8.0)
minima (~> 2.5.2)
webrick (~> 1.8)

BUNDLED WITH
2.3.25
7 changes: 7 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
serve:
docker run --rm -it \
-p 4000:4000 \
-v $(PWD):/srv/jekyll \
--name yiisoft-docs-dev \
jekyll/jekyll:4.2.2 \
jekyll serve --host 0.0.0.0 --livereload
10 changes: 10 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
defaults:
- scope:
path: ""
Copy link

Copilot AI Dec 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The render_with_liquid: false configuration has been removed from _config.yml. However, this setting was likely intentional to prevent Jekyll/Liquid from processing Markdown files that contain Twig syntax (which uses similar {{ }} and {% %} delimiters). Removing this setting means Jekyll will now try to process all Liquid-like syntax in the documentation.

While the PR adds {% raw %} tags to one specific code block in template-engines.md, there are multiple other Twig code blocks in the same file (lines 19-43, 49-55, 75-87, 90-99) that also contain Liquid-like syntax but are NOT wrapped in {% raw %} tags. These will now be processed by Jekyll and potentially cause build errors or incorrect rendering.

Either the render_with_liquid: false setting should be kept, or ALL Twig code blocks throughout the documentation need to be wrapped with {% raw %}/{% endraw %} tags.

Suggested change
path: ""
path: ""
values:
render_with_liquid: false

Copilot uses AI. Check for mistakes.
values:
layout: "default"
render_with_liquid: false
baseurl: "/docs"
theme: minima
relative_links:
enabled: true
28 changes: 28 additions & 0 deletions _layouts/default.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<!DOCTYPE html>
<html lang="{{ page.lang | default: site.lang | default: " en" }}">

{%- include head.html -%}

<body>

{%- include header.html -%}

<main class="page-content" aria-label="Content">
<div class="wrapper">
{{ content }}
</div>
</main>

{%- include footer.html -%}

<script type="module">
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
mermaid.initialize({startOnLoad: false});
mermaid.run({
querySelector: 'code.language-mermaid'
});
</script>

</body>

</html>
23 changes: 19 additions & 4 deletions _translations/guide/po/es/start_workflow.md.po
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2025-10-19 11:32+0000\n"
"POT-Creation-Date: 2025-12-20 13:19+0000\n"
"PO-Revision-Date: 2025-09-04 11:19+0500\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
Expand Down Expand Up @@ -40,7 +40,7 @@ msgstr ""

#. type: Plain text
#: ../../guide/en/start/workflow.md
msgid "The installed application has only the homepage, which displays when you access the URL `http://localhost/`. It shares a common layout that you can reuse on further pages."
msgid "The installed application contains only one page, accessible at `http://localhost/`. It shares a common layout that you can reuse on further pages."
msgstr ""

#. type: Plain text
Expand Down Expand Up @@ -133,9 +133,24 @@ msgstr ""
msgid "The following diagram shows how an application handles a request."
msgstr ""

#. type: Plain text
#. type: Fenced code block (mermaid)
#: ../../guide/en/start/workflow.md
msgid "![Request Lifecycle](img/request-lifecycle.svg)"
#, no-wrap
msgid ""
"flowchart LR\n"
" user[User's client] --> index\n"
" index[index.php] --> DI[Initialize Dependency Container]\n"
" config[configs] -.-> DI\n"
" DI --> RequestFactory[RequestFactory]\n"
" RequestFactory -->|Request| app[Application]\n"
" app -->|Request| middleware[Middleware]\n"
" middleware -->|Request| router[Router]\n"
" router -->|Request| action[Action Handler]\n"
" action -->|Response| emitter[SapiEmitter]\n"
" router -->|Response| emitter\n"
" middleware -->|Response| emitter\n"
" app -->|Response| emitter\n"
" emitter --> user\n"
msgstr ""

#. type: Bullet: '1. '
Expand Down
23 changes: 19 additions & 4 deletions _translations/guide/po/id/start_workflow.md.po
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2025-10-19 11:32+0000\n"
"POT-Creation-Date: 2025-12-20 13:19+0000\n"
"PO-Revision-Date: 2025-09-04 11:19+0500\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
Expand Down Expand Up @@ -39,7 +39,7 @@ msgstr ""

#. type: Plain text
#: ../../guide/en/start/workflow.md
msgid "The installed application has only the homepage, which displays when you access the URL `http://localhost/`. It shares a common layout that you can reuse on further pages."
msgid "The installed application contains only one page, accessible at `http://localhost/`. It shares a common layout that you can reuse on further pages."
msgstr ""

#. type: Plain text
Expand Down Expand Up @@ -132,9 +132,24 @@ msgstr ""
msgid "The following diagram shows how an application handles a request."
msgstr ""

#. type: Plain text
#. type: Fenced code block (mermaid)
#: ../../guide/en/start/workflow.md
msgid "![Request Lifecycle](img/request-lifecycle.svg)"
#, no-wrap
msgid ""
"flowchart LR\n"
" user[User's client] --> index\n"
" index[index.php] --> DI[Initialize Dependency Container]\n"
" config[configs] -.-> DI\n"
" DI --> RequestFactory[RequestFactory]\n"
" RequestFactory -->|Request| app[Application]\n"
" app -->|Request| middleware[Middleware]\n"
" middleware -->|Request| router[Router]\n"
" router -->|Request| action[Action Handler]\n"
" action -->|Response| emitter[SapiEmitter]\n"
" router -->|Response| emitter\n"
" middleware -->|Response| emitter\n"
" app -->|Response| emitter\n"
" emitter --> user\n"
msgstr ""

#. type: Bullet: '1. '
Expand Down
23 changes: 19 additions & 4 deletions _translations/guide/po/ru/start_workflow.md.po
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2025-10-19 11:32+0000\n"
"POT-Creation-Date: 2025-12-20 13:19+0000\n"
"PO-Revision-Date: 2025-09-04 11:19+0500\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
Expand Down Expand Up @@ -41,7 +41,7 @@ msgstr "Определение псевдонимов <span id=\"defining-aliase

#. type: Plain text
#: ../../guide/en/start/workflow.md
msgid "The installed application has only the homepage, which displays when you access the URL `http://localhost/`. It shares a common layout that you can reuse on further pages."
msgid "The installed application contains only one page, accessible at `http://localhost/`. It shares a common layout that you can reuse on further pages."
msgstr ""

#. type: Plain text
Expand Down Expand Up @@ -135,9 +135,24 @@ msgstr "Полезные ссылки <span id=\"references\"></span>"
msgid "The following diagram shows how an application handles a request."
msgstr ""

#. type: Plain text
#. type: Fenced code block (mermaid)
#: ../../guide/en/start/workflow.md
msgid "![Request Lifecycle](img/request-lifecycle.svg)"
#, no-wrap
msgid ""
"flowchart LR\n"
" user[User's client] --> index\n"
" index[index.php] --> DI[Initialize Dependency Container]\n"
" config[configs] -.-> DI\n"
" DI --> RequestFactory[RequestFactory]\n"
" RequestFactory -->|Request| app[Application]\n"
" app -->|Request| middleware[Middleware]\n"
" middleware -->|Request| router[Router]\n"
" router -->|Request| action[Action Handler]\n"
" action -->|Response| emitter[SapiEmitter]\n"
" router -->|Response| emitter\n"
" middleware -->|Response| emitter\n"
" app -->|Response| emitter\n"
" emitter --> user\n"
msgstr ""

#. type: Bullet: '1. '
Expand Down
Loading
Loading