This commit is contained in:
2026-06-16 11:05:24 +05:00
parent fe3f683bfc
commit c487e3c583
10 changed files with 253 additions and 41 deletions
+16
View File
@@ -0,0 +1,16 @@
*.md
.cache
.vscode
node_modules/
docker-compose.yml
**/Dockerfile
.git*
#source
#.npmrc
.eslintrc.json
#./package*.json
yarn.lock
config/
Jenkinsfile*
ecosystem.config.js
.env*
-23
View File
@@ -1,23 +0,0 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
# Required
version: 2
build:
os: "ubuntu-22.04"
tools:
python: "3.8"
python:
install:
- requirements: mkdocs/requirements.txt
mkdocs:
configuration: mkdocs.yml
# Optionally set the version of Python and requirements required to build your docs
#python:
# version: "3.8"
# install:
# - requirements: mkdocs/requirements.txt
Vendored
+65
View File
@@ -0,0 +1,65 @@
node {
cleanWs()
checkout scm
docker_tag = 'latest'
projectname ='doc'
packagejson = readJSON file: 'package.json'
docker_tag = packagejson['version']
projectname = packagejson['name']
image_name = 'dhub.lex.lan:5001/doc/' + projectname;
image_doc = image_name + ':' + docker_tag;
image_doc_latest = image_name + ':latest';
}
pipeline {
agent {
label 'jenkins-node-01'
}
options {
timestamps()
buildDiscarder logRotator(artifactDaysToKeepStr: '', artifactNumToKeepStr: '', daysToKeepStr: '', numToKeepStr: '5')
ansiColor('xterm')
}
stages {
stage('Check') {
steps {
echo 'Checking..'
sh label: '', script: 'docker --version'
//sh "printenv | sort"
}
}
stage('Docker build') {
steps {
echo 'Docker build....'
sh label: '', script: 'docker build -f ./docker/Dockerfile --build-arg docker_registry=dhub.lex.lan:5000 -t ' + image_doc + ' .'
}
}
stage('Docker tag latest') {
steps {
sh label: 'tag image_doc latest', script: 'docker tag ' + image_doc + ' ' + image_doc_latest
}
}
stage('docker push'){
steps {
script {
docker.withRegistry('http://dhub.lex.lan:5001/', '6173afa3-27b0-4357-8b97-9d1ee071784c') {
docker.image(image_doc).push()
docker.image(image_doc_latest).push()
}
}
}
}
// stage('docker cleanup'){
// steps {
// sh label: '', script: 'docker rmi ' + image_doc
// sh label: '', script: 'docker rmi ' + image_doc_latest
// }
// }
}
}
+40
View File
@@ -0,0 +1,40 @@
FROM alpine:3.20 AS builder
ENV PYTHONUNBUFFERED=1
RUN apk add --no-cache \
ca-certificates \
bash \
git \
openssh-client \
python3 \
python3-dev \
py3-pip \
build-base \
weasyprint
RUN python -m venv /src/env
ENV PATH="/src/env/bin:$PATH"
WORKDIR /src
COPY requirements.txt /src/
RUN pip install --upgrade pip && \
pip install -r /src/requirements.txt && \
rm -rf /tmp/* /var/cache/apk/*
FROM builder as makestatic
COPY docs /src/docs/
COPY zensical.toml /src/
RUN cp -r /src/mkdocs.yml /src/ 2>/dev/null || true
RUN cp -r /src/custom_theme /src/overrides 2>/dev/null || true
RUN cd /src && zensical build --config-file zensical.toml
FROM nginx:alpine
COPY docker/default.conf /etc/nginx/conf.d/default.conf
COPY --from=makestatic /src/site /sites/app.lexema.ru/docs
EXPOSE 80
+23
View File
@@ -0,0 +1,23 @@
server {
listen 80;
# location / {
root /sites/app.lexema.ru/docs;
# }
#expires $expires;
client_max_body_size 500M;
gzip on;
gzip_comp_level 4;
gzip_types text/html text/plain text/css application/javascript;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
}
+5
View File
@@ -0,0 +1,5 @@
{
"name": "ecm-user-manuals",
"version": "0.0.1",
"description": "ecm-user-manuals doc"
}
+13 -18
View File
@@ -1,26 +1,21 @@
Для разработки и проверки документации можно использовать команды
* mkdocs serve (с созданием pdf файлов)
* mkdocs serve -f dev.yml (без создания pdf файлов)
* mkdocs build -f admin-manuals.yml (с созданием pdf файла с инструкциями для администратора)
Перед запуском надо установить mkdocs и его расширения. Сделать это можно при помощи команды, запущенной в папке mkdocs
```
pip install -r requirements.txt
```
# Разработка документации (Zensical)
Чтобы включить увеличение изображения, необходимо добавить . Если не работает (а это происходит при работе плагина img2fig), то использовать html-вариант. Автоматический конвертер первого варианта во второй (zoom.py) есть в bitedo-doc и документации ERP.
```
а) ![Рис 1](examplel.png)
б) <img alt="Рис 1" src="examplel.png" class="zoom"/>
```
## Локальная разработка с live-превью
В случае ошибки **no library called "cairo" was found** необходимо скачать библиотеки:
**Zensical** имеет встроенный dev-сервер с **live-reload** — это полноценная и более быстрая замена старой команде `mkdocs serve`.
https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer
### Как запустить
https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases
1. Установите Zensical:
Если при запуске команды **mkdocs serve -f dev.yml** появляется ошибка что данная команда не определена, то в переменнах средах укажите путь: **C:\Users\User\AppData\Roaming\Python\Python310\Scripts**
```bash
pip install zensical
Перейдите в корень проекта и запустите dev-сервер:
333
zensical serve
Или явно указав конфигурационный файл:
zensical serve --config-file zensical.toml
+26
View File
@@ -0,0 +1,26 @@
Для разработки и проверки документации можно использовать команды
* mkdocs serve (с созданием pdf файлов)
* mkdocs serve -f dev.yml (без создания pdf файлов)
* mkdocs build -f admin-manuals.yml (с созданием pdf файла с инструкциями для администратора)
Перед запуском надо установить mkdocs и его расширения. Сделать это можно при помощи команды, запущенной в папке mkdocs
```
pip install -r requirements.txt
```
Чтобы включить увеличение изображения, необходимо добавить . Если не работает (а это происходит при работе плагина img2fig), то использовать html-вариант. Автоматический конвертер первого варианта во второй (zoom.py) есть в bitedo-doc и документации ERP.
```
а) ![Рис 1](examplel.png)
б) <img alt="Рис 1" src="examplel.png" class="zoom"/>
```
В случае ошибки **no library called "cairo" was found** необходимо скачать библиотеки:
https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer
https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases
Если при запуске команды **mkdocs serve -f dev.yml** появляется ошибка что данная команда не определена, то в переменнах средах укажите путь: **C:\Users\User\AppData\Roaming\Python\Python310\Scripts**
333
+9
View File
@@ -0,0 +1,9 @@
zensical
mkdocs-glightbox==0.4.0
weasyprint==52.5
mkdocs-with-pdf
pymdown-extensions
mkdocs-literate-nav
mkdocs-section-index
mkdocs-include-markdown-plugin
mkdocs-video
+56
View File
@@ -0,0 +1,56 @@
[project]
site_name = "Руководство администратора Lexema-ECM"
site_description = "Официальная документация по администрированию системы Lexema-ECM"
site_author = "ООО \"Лексема\""
docs_dir = "docs"
site_dir = "site"
[project.theme]
name = "material"
variant = "classic"
palette.primary = "green"
palette.accent = "orange"
features = [
"navigation.instant",
"navigation.top",
"navigation.tracking",
"toc.follow",
"toc.integrate",
"navigation.tabs.sticky",
"search.suggest",
"header.autohide",
"navigation.path",
]
[project.markdown_extensions]
toc = { separator = "_", permalink = "#" }
attr_list = {}
admonition = {}
sane_lists = {}
def_list = {}
[project.markdown_extensions.pymdownx.highlight]
[project.markdown_extensions.pymdownx.superfences]
[project.markdown_extensions.pymdownx.details]
[project.markdown_extensions.pymdownx.tabbed]
alternate_style = true
[project.markdown_extensions.pymdownx.tasklist]
custom_checkbox = true
[project.plugins]
glightbox = { zoomable = true }
search = { lang = ["ru", "en"] }
"section-index" = {}
"include-markdown" = {}
"literate-nav" = { nav_file = "SUMMARY.md" }
"mkdocs-video" = {}
extra_css = ["css/extra.css"]
extra_javascript = ["javascripts/extra.js"]
copyright = "© ООО \"Лексема\""