Энэ төслийн тухай¶
Энэ бол ганц зохиогчийн хөтөлж, бичсэн cp-algorithms-ийн монгол хэл дээрх салбар (fork) юм. Одоогоор гадны хувь нэмэр оруулах ажлын урсгал байхгүй — хэрэв энэ өөрчлөгдвөл энэ хуудсыг шинэчилнэ. Ерөнхий (англи) эх сурвалжийн хувь нэмэр оруулах үйл явцын хувьд cp-algorithms-ийн CONTRIBUTING.md-г үзнэ үү.
Доорх тэмдэглэлүүд нь сайттай өөртэй нь ажиллах техникийн лавлагаа юм.
Шинэ өгүүлэл эхлүүлэх¶
Репозиторийн ARTICLE_TEMPLATE.md-г
src/<topic>/<slug>.md рүү хуулж, түүний толгойн тайлбар дахь зааврыг дага.
Өгүүллийн синтакс¶
Өгүүллүүд нь Markdown бөгөөд Material for MkDocs-ээр рендерлэгддэг.
- Математик томьёо: MathJax.
$$блокуудын өмнө болон дараа хоосон мөр үлдээ. - Кодын блок: Code blocks.
- Admonition: теорем, жишээ гэх мэтийн хувьд Admonitions.
- Таб: Content tabs.
- Хүснэгт: Data tables.
HTML гарчиг тохируулах¶
Анхны # header нь өгөгдмөлөөр HTML гарчиг болно. Үүнийг frontmatter-аар дарж бичнэ:
---
title: Alternative HTML Title
---
# Proof of $a^2 + b^2 = c^2$
Дахин чиглүүлэлт (redirect) зохицуулах¶
Хэрэв өгүүлэл нүүвэл хуучин зам дээр дахин чиглүүлэх зангуу үлдээ:
<meta http-equiv="refresh" content="0; url=../new-section/new-article.html">
# Article Name
This article has been moved to a [new location](new-section/new-article.md).
Зангуу холбоосыг хадгалах¶
Хэрэв хэсгийн гарчиг өөрчлөгдвөл хуучин холбоосууд ажилласаар байхын тулд гар аргаар зангуу нэм:
<div id="old-section-title"></div>
Өгүүллийн шошго¶
Агуулга нь CC BY-SA 4.0 бөгөөд эх сурвалжид хамаарах хамаарлыг хадгалах ёстой тул
өгүүлэл бүрийг Original эсвэл Translated гэж шошголсон байх ёстой:
-
Эх (Original) өгүүллүүд:
--- tags: - Original --- -
Орчуулсан / дасан зохицуулсан өгүүллүүд (cp-algorithms эсвэл e-maxx.ru-ээс):
--- tags: - Translated e_maxx_link: <original-link> ---e_maxx_linkнь e-maxx.ru URL-ийн сүүлийн зам сегмент юм, жишээ ньhttp://e-maxx.ru/algo/euler_function-ийн хувьдeuler_function-г ашигла.
Локал хөгжүүлэлт¶
git clone git@github.com:anartuvshinbayar/goy-algorithms.git && cd goy-algorithms
git submodule update --init --recursive # needed for the git-committers plugin
python3 -m venv .venv && source .venv/bin/activate
scripts/install-mkdocs.sh # requires pip
python3 -m mkdocs serve
[!NOTE] Бариа
mkdocsкомандын орондpython3 -m mkdocs ...-г ашигла. Хэрэв репо руу чиглэсэн локал зам чинь#тэмдэгт агуулж байвал venv-ийнmkdocsэхлүүлэгч скрипт эвдэрдэг (macOS түүний shebang мөрийг буруу задалдаг) —python3 -m mkdocsүүнийг бүрэн тойрч гардаг.
Нэмэлт плагинууд¶
-
Git Revision Date: өгөгдмөлөөр идэвхгүй (commit хийгээгүй өөрчлөлттэй үед алдаа гаргадаг). Дараахаар идэвхжүүл:
export MKDOCS_ENABLE_GIT_REVISION_DATE=True -
Git Committers: өгөгдмөлөөр идэвхгүй (GitHub token шаардлагатай). Дараахаар идэвхжүүл:
export MKDOCS_ENABLE_GIT_COMMITTERS=True export MKDOCS_GIT_COMMITTERS_APIKEY=your_token_here
Кодын хэсгүүдийг турших¶
Хэрэв өгүүлэлд C++ хэсэг байвал туршилтын харнесс задалж чадахаар түүнийг нэрлэ:
```{.cpp file=snippet-name}
// code here
```
Дараа нь test/-ээс extract_snippets.py-г ажиллуулж хэсгүүдийг толгой файлууд руу татаж, дараа нь
./test.sh-г ажиллуулж тэдгээрийг туршилтын тохиолдлуудын эсрэг эмхэтгэж ажиллуул.