feat: добавление docusaurus #1

Merged
arswarog merged 5 commits from docusaurus into master 2026-06-15 10:02:02 +03:00
2 changed files with 36 additions and 1 deletions
Showing only changes of commit a1e08889a8 - Show all commits
+4
View File
@@ -50,6 +50,10 @@ runs:
cp -r "${{ inputs.docs-path }}" "${DOCUSAURUS_DIR}/docs" cp -r "${{ inputs.docs-path }}" "${DOCUSAURUS_DIR}/docs"
cp "${{ github.workspace }}/.docuservix.yml" "${DOCUSAURUS_DIR}" cp "${{ github.workspace }}/.docuservix.yml" "${DOCUSAURUS_DIR}"
- name: Prepare docs
shell: bash
working-directory: ${{ github.action_path }}/docusaurus
run: node scripts/prepare-docs.mjs
- name: Install Docusaurus dependencies - name: Install Docusaurus dependencies
shell: bash shell: bash
+31
View File
@@ -0,0 +1,31 @@
import fs from 'fs';
import path from 'path';
const docsDir = path.resolve(import.meta.dirname, '..', process.argv[2] || 'docs');
pinIndexToTop();
/**
* Гарантирует наличие sidebar_position: 0 в front matter файла index.md
*/
function pinIndexToTop() {
const indexPath = path.join(docsDir, 'index.md');
if (!fs.existsSync(indexPath)) return;
let content = fs.readFileSync(indexPath, 'utf8');
if (content.startsWith('---\n')) {
const endIdx = content.indexOf('\n---\n', 4);
if (endIdx === -1) return;
const frontMatter = content.slice(4, endIdx);
if (/^sidebar_position\s*:/m.test(frontMatter)) return;
content = '---\nsidebar_position: 0\n' + frontMatter + '\n---\n' + content.slice(endIdx + 5);
} else {
content = '---\nsidebar_position: 0\n---\n' + content;
}
fs.writeFileSync(indexPath, content);
console.log('prepare-docs: pinned index.md to sidebar top');
}