new
This commit is contained in:
@@ -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*
|
||||||
@@ -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
@@ -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
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "ecm-user-manuals",
|
||||||
|
"version": "0.0.1",
|
||||||
|
"description": "ecm-user-manuals doc"
|
||||||
|
}
|
||||||
@@ -1,26 +1,21 @@
|
|||||||
Для разработки и проверки документации можно использовать команды
|
|
||||||
* mkdocs serve (с созданием pdf файлов)
|
|
||||||
* mkdocs serve -f dev.yml (без создания pdf файлов)
|
|
||||||
* mkdocs build -f admin-manuals.yml (с созданием pdf файла с инструкциями для администратора)
|
|
||||||
|
|
||||||
Перед запуском надо установить mkdocs и его расширения. Сделать это можно при помощи команды, запущенной в папке mkdocs
|
# Разработка документации (Zensical)
|
||||||
```
|
|
||||||
pip install -r requirements.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
Чтобы включить увеличение изображения, необходимо добавить . Если не работает (а это происходит при работе плагина img2fig), то использовать html-вариант. Автоматический конвертер первого варианта во второй (zoom.py) есть в bitedo-doc и документации ERP.
|
## Локальная разработка с live-превью
|
||||||
```
|
|
||||||
а) 
|
|
||||||
б) <img alt="Рис 1" src="examplel.png" class="zoom"/>
|
|
||||||
```
|
|
||||||
|
|
||||||
В случае ошибки **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
|
||||||
@@ -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.
|
||||||
|
```
|
||||||
|
а) 
|
||||||
|
б) <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
|
||||||
@@ -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
|
||||||
@@ -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 = "© ООО \"Лексема\""
|
||||||
Reference in New Issue
Block a user