กรอบงานเอกสารสำหรับ ASP จากผู้ใช้ถึงผู้สนับสนุน
ต้องใช้ Python 3.10
หากต้องการติดตั้ง Clindoc คุณสามารถโคลนได้จากที่เก็บ git:
git clone https://github.com/Owrel/clindoc.git
จากนั้นไปที่ไดเร็กทอรี Clindoc:
cd clindoc
สุดท้ายให้ติดตั้งแพ็คเกจโดยการรัน:
pip install .
หากต้องการดูตัวเลือกทั้งหมดที่มีอยู่สำหรับ Clindoc คุณสามารถเรียกใช้:
clindoc -h
Clindoc อนุญาตให้คุณสร้างเอกสารที่กำหนดเองโดยการระบุตัวเลือกต่างๆ
ตัวอย่างเช่น กำหนดโครงสร้างโฟลเดอร์ดังนี้:
sudoku
├── encoding
│ └── sudoku.lp
└── input.lp
คุณสามารถสร้างเอกสารประกอบสำหรับโฟลเดอร์ Sudoku ด้วยคำสั่งต่อไปนี้ (สมมติว่าคุณอยู่ในไดเรกทอรี clindoc/examples/sudoku):
clindoc
คำสั่งเป็นความคิดเห็นพิเศษซึ่งมีการระบุดังนี้:
%@directive(param_1,...,param_n)
หรือมีคำอธิบายเพิ่มเติม
%@directive(param_1,...,param_n) -> Description
บันทึก
นี่คือนิพจน์ regex ที่เกี่ยวข้อง (พร้อมกลุ่มที่มีชื่อ):
* @ * (?P< tag_name > [ a - z A - Z ] + ) * ( (?P< parameters > [ ^ - > ] * ) ) * ( - > * (?P< description > [ ^ \ n ] * ) ) ?
เป็นไปได้ที่จะแยกการเข้ารหัสตามส่วนเพื่อทำเช่นนั้นคุณสามารถเพิ่ม section/1
ซึ่งใช้เป็นพารามิเตอร์ชื่อของส่วน ตัวอย่างเช่น:
%@section(Constraints) -> List all of the integrity constraints
:- . ..
:- . ..
เป็นไปได้ที่จะให้คำจำกัดความของตัวแปรที่ใช้เพื่อให้เข้าใจโค้ดได้ดีขึ้น คำสั่ง var
จะใช้พารามิเตอร์เฉพาะของตัวแปร (ตัวพิมพ์ใหญ่) เป็นต้น
%@var(X) -> X refer the the x axis position
นอกจากนี้ยังสามารถให้คำนิยามแก่เพรดิเคตได้ กล่าวอีกนัยหนึ่งคือ ความหมายของเพรดิเคต โดยที่คำสั่ง predicate
รับ 2 อาร์กิวเมนต์: ลายเซ็นต์ (ทำงานเป็นตัวระบุ) และตัวแปรเริ่มต้น ตัวอย่างเช่น (ออกมาจากตัวอย่างซูโดกุ):
%@predicate(sudoku/3,sudoku(X,Y,V) ) -> The cell (`X`, `Y`) has value `V` with `0
นอกจากนี้ยังเป็นไปได้ที่จะแสดงความคิดเห็นในบรรทัดใดบรรทัดหนึ่งเพื่อเพิ่มคำอธิบายว่าบรรทัดใดกำลังทำอยู่ เป็นต้น (ออกตามตัวอย่างซูโดกุ):
%- Can't repeat values per row
:- sudoku( X , Y , V ), sudoku( X '' , Y , V ), X ! = X '' .
นี่คือตัวเลือกทั้งหมดที่มี:
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 ยังสามารถใช้ในสคริปต์ python ได้โดยการนำเข้าโมดูล Clindoc และจัดเตรียมพารามิเตอร์ที่ต้องการ
import os
from clindoc import Clindoc
print ( os . getcwd ()) # /path/to/clindoc
c = Clindoc ({ 'src_dir' : 'examples/mapf' })
c . build_documentation ()
พารามิเตอร์ที่อยู่ใน dict เหมือนกับตัวเลือกที่มีอยู่ในบรรทัดคำสั่ง อย่างไรก็ตาม อักขระ - ต้องถูกแทนที่ด้วย _ และ ควรถูกแทนที่ด้วยไดเร็กทอรีย่อย ตัวอย่างเช่น บรรทัดคำสั่งต่อไปนี้:
clindoc --contributordoc.hide-code
จะส่งผลให้หลาม:
c = Clindoc ({ 'contributordoc' :
{ 'hide_code' : True }
})
c . build_documentation ()
ซึ่งช่วยให้มีความยืดหยุ่นและเป็นอัตโนมัติมากขึ้นเมื่อสร้างเอกสารของคุณ เนื่องจากสามารถรวมเข้ากับสคริปต์ Python และกระบวนการอัตโนมัติที่คุณมีอยู่ได้
ไฟล์ "test.py" มีตัวอย่างพารามิเตอร์ต่างๆ ที่ hat สามารถใช้ได้
มหาวิทยาลัยพอทสดัม | โพแทสโก โซลูชั่นส์