Kerangka dokumentasi untuk ASP, dari pengguna hingga kontributor.
Memerlukan Python 3.10
Untuk menginstal Clindoc, Anda dapat mengkloningnya dari repositori git:
git clone https://github.com/Owrel/clindoc.git
Kemudian navigasikan ke direktori Clindoc:
cd clindoc
Terakhir, instal paket dengan menjalankan:
pip install .
Untuk melihat semua opsi yang tersedia untuk Clindoc, Anda dapat menjalankan:
clindoc -h
Clindoc memungkinkan Anda membuat dokumentasi khusus dengan menentukan opsi berbeda.
Misalnya, diberikan struktur folder seperti:
sudoku
├── encoding
│ └── sudoku.lp
└── input.lp
Anda dapat membuat dokumentasi untuk folder sudoku dengan perintah berikut (dengan asumsi Anda berada di direktori clindoc/examples/sudoku):
clindoc
Arahan adalah komentar khusus, yang diidentifikasi sebagai berikut:
%@directive(param_1,...,param_n)
atau dengan deskripsi opsional
%@directive(param_1,...,param_n) -> Description
CATATAN
Berikut ekspresi regex terkait (dengan grup bernama):
* @ * (?P< tag_name > [ a - z A - Z ] + ) * ( (?P< parameters > [ ^ - > ] * ) ) * ( - > * (?P< description > [ ^ \ n ] * ) ) ?
Dimungkinkan untuk membagi pengkodean berdasarkan bagian, untuk melakukannya, Anda dapat menambahkan direktif section/1
, yang mengambil nama bagian sebagai parameter. Misalnya seperti ini:
%@section(Constraints) -> List all of the integrity constraints
:- . ..
:- . ..
Dimungkinkan untuk memberikan definisi variabel yang digunakan untuk pemahaman kode yang lebih baik, direktif var
mengambil parameter unik dari sebuah variabel (dalam huruf kapital), misalnya
%@var(X) -> X refer the the x axis position
Dimungkinkan juga untuk memberikan definisi pada predikat, dengan kata lain, apa arti predikat, di mana direktif predicate
mengambil 2 argumen: tanda tangan (berfungsi sebagai pengidentifikasi) dan variabel default. Misalnya (dikeluarkan dari contoh sudoku):
%@predicate(sudoku/3,sudoku(X,Y,V) ) -> The cell (`X`, `Y`) has value `V` with `0
dimungkinkan juga untuk mengomentari baris tertentu untuk menambahkan penjelasan tentang apa yang dilakukan baris tertentu, misalnya (dikeluarkan dari contoh sudoku):
%- Can't repeat values per row
:- sudoku( X , Y , V ), sudoku( X '' , Y , V ), X ! = X '' .
Inilah semua opsi yang tersedia:
Clindoc - Generate documentation for ASP files
options:
-h, --help show this help message and exit
Global Clindoc parameters:
--project_name PROJECT_NAME, -p PROJECT_NAME
Name of the project
--src_dir SRC_DIR, -s SRC_DIR
Directory containing the LP files from which to generate the documentation
--description DESCRIPTION, --desc DESCRIPTION
Description of the project
--doc-dir DOC_DIR, -d DOC_DIR
The folder where the documentation in rst format will be generated. If not specified, it will default to [src-dir]/docs/)
--out-dir OUT_DIR, -b OUT_DIR
Directory where Sphinx will output the generated documentation (if not specified, defaults to [src-dir]/docs/build)
--builder BUILDER Sphinx output format parameter (refer to parameter builder sphinx. Can be any builder supported by Sphinx)
--clean (flag) remove [doc-dir] and [out-dir] before running. Please be sure that you saved any hand-made modification
--no-sphinx-build (flag,debug) skip Sphinx build
--no-rst-build (flag,debug) skip rst build section
--conf-path CONF_PATH
Path to a configuration file (json format). It can be created from the --dump-conf [path_to_conf] command. Any parameters entered in the command line will be ignored.
--dump-conf DUMP_CONF
Path of a file where the configuration will be dumped. The json file will include all of the configuration you've entered in the command line. It can be used later as default configuration using --path-conf [path_to_conf]
-v, --version Print the version and exit
User Documentation parameters:
--userdoc.exclude (flag) component will be excluded from the documentation
Contributor Documentation parameters:
--contributordoc.exclude
(flag) component will be excluded from the documentation
--contributordoc.group-by CONTRIBUTORDOC.GROUP_BY
How the contributor documentation will group the different elements. "section" or "type"
--contributordoc.hide-uncommented
(flag) hide non-commented or non-defined var, rules...
--contributordoc.hide-code
(flag) hide source code
Dependency graph parameters:
--dependencygraph.exclude
(flag) component will be excluded from the documentation
--dependencygraph.format DEPENDENCYGRAPH.FORMAT
Format of the graphs
Source files parameters:
--source.exclude (flag) component will be excluded from the documentation
--source.exclude-file [SOURCE.EXCLUDE_FILE ...]
source file(s) that will be excluded from source documentation section
KRR@UP - https://github.com/krr-up
Clindoc juga dapat digunakan dalam skrip python dengan mengimpor modul Clindoc dan menyediakan parameter yang diinginkan.
import os
from clindoc import Clindoc
print ( os . getcwd ()) # /path/to/clindoc
c = Clindoc ({ 'src_dir' : 'examples/mapf' })
c . build_documentation ()
Parameter yang terdapat dalam dict sama dengan opsi yang tersedia di baris perintah. Namun karakter - harus diganti dengan _ dan . harus diganti dengan sub direktori. Misalnya baris perintah berikut:
clindoc --contributordoc.hide-code
Akan menghasilkan python:
c = Clindoc ({ 'contributordoc' :
{ 'hide_code' : True }
})
c . build_documentation ()
Hal ini memungkinkan lebih banyak fleksibilitas dan otomatisasi saat membuat dokumentasi Anda, karena dapat diintegrasikan ke dalam skrip python dan proses otomatisasi yang ada.
File "test.py" berisi contoh berbagai parameter yang dapat digunakan.
Universitas Potsdam | Solusi Kalium