summaryrefslogtreecommitdiff
path: root/python-gendoc.spec
blob: 5fca54eeaee64035c406460a563d4e8ec0af2761 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
%global _empty_manifest_terminate_build 0
Name:		python-GenDoc
Version:	1.0.1
Release:	1
Summary:	Generate a Markdown Documentation file from a Python Repository with DocStrings.
License:	MIT License
URL:		https://github.com/http-samc/GenDoc
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/ed/af/27e1dca271d950ba168419e164e46cbb405642f4d8e49114fa0511869113/GenDoc-1.0.1.tar.gz
BuildArch:	noarch


%description
|Flag(s)|Value|Description|
|  ---  |  ---  | --- |
|`--help`, `-h`|`{None}`|Show a help dialog|
|`--name`, `--n`|`{str}`|**Project Name** (included in Docs) (not included if not provided)|
|`--version`, `--v`|`{str}`|**Version Number** (included in Docs) (_Project Name_ required to use) (not included if not provided)|
|`--files`, `--f`|`{str} {str (opt)} ...`|PATH to specific files you want to include in the Doc generation (separate by a single space if adding multiple files) (only pulls from these files) (defaults to all `.py` files in the current directory)|
|`--dir`, `--d`|`{str}`|PATH to the parent directory of the codebase (defaults to all `.py` files in the current directory)|
|`--output`, `--o`|`{str}`|PATH to the output Markdown file (defaults to DOCS.md in current directory)|
|`--emptyFunc`, `--e`|`"{str}"`|Message for function without a DocString (enter multiple words surrounded by "Quotes") (accepts markdown syntax) (defaults to "*No documentation provided.*")|
|`--classSections`, `--cs`|`{None}`|Add collapseable sections for classes (not generated if not called)|
|`--methodSections`, `--ms`|`{None}`|Add collapseable sections for class methods (not generated if not called)|
|`--funcSections`, `--fs`|`{None}`|Add collapseable sections for functions (not generated if not called)|
|`--fileHeaders`, `--fh`|`{None}`|Add file name & relative path above it's classes and functions (creates GitHub-safe clickable link) (not generated if not called)|
|`--codeFence`, `--cf`|`{None}`|Surround all DocStrings in a Python markdown code fence (not generated if not called)|
### Notes:
- Use either `--files` or `--dir`, never both
  - `--dir` is used to change the directory and then scrape all files within it
  - `--files` is used to specify specific files to scrape (not the entire directory)
  - If you'd like to scrape specific files in a separate directory, simply use `--files` with their absolute PATHs
- Anytime a PATH is requested, it does **not** need to be in the current directory, **both** relative and absolute PATHs are accepted
- If you'd like to exclude any functions that do **not** have their own DocString, you can use the `--emptyfunc` flag and pass in the value **`0`**
- The current default behavior is to exclude any files that do **not** contain any functions or classes
- Clickable links generated with `--fileHeaders` might break if you are using a different directory with the `--dir` flag or placing `DOCS.md` in a different directory with the `--output` flag
- If you aren't using markdown-styled DocStrings, passing the `--codeFence` flag will help auto-emphasize Python keywords, such as str, int, class, etc.
## Future Development
**GenDoc** was developed to be a simple, plug-and-play package. However, due to the level of styling customization required for many projects' documentation, an additional html-based API is being developed so developers can use their own external stylesheets.

%package -n python3-GenDoc
Summary:	Generate a Markdown Documentation file from a Python Repository with DocStrings.
Provides:	python-GenDoc
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-GenDoc
|Flag(s)|Value|Description|
|  ---  |  ---  | --- |
|`--help`, `-h`|`{None}`|Show a help dialog|
|`--name`, `--n`|`{str}`|**Project Name** (included in Docs) (not included if not provided)|
|`--version`, `--v`|`{str}`|**Version Number** (included in Docs) (_Project Name_ required to use) (not included if not provided)|
|`--files`, `--f`|`{str} {str (opt)} ...`|PATH to specific files you want to include in the Doc generation (separate by a single space if adding multiple files) (only pulls from these files) (defaults to all `.py` files in the current directory)|
|`--dir`, `--d`|`{str}`|PATH to the parent directory of the codebase (defaults to all `.py` files in the current directory)|
|`--output`, `--o`|`{str}`|PATH to the output Markdown file (defaults to DOCS.md in current directory)|
|`--emptyFunc`, `--e`|`"{str}"`|Message for function without a DocString (enter multiple words surrounded by "Quotes") (accepts markdown syntax) (defaults to "*No documentation provided.*")|
|`--classSections`, `--cs`|`{None}`|Add collapseable sections for classes (not generated if not called)|
|`--methodSections`, `--ms`|`{None}`|Add collapseable sections for class methods (not generated if not called)|
|`--funcSections`, `--fs`|`{None}`|Add collapseable sections for functions (not generated if not called)|
|`--fileHeaders`, `--fh`|`{None}`|Add file name & relative path above it's classes and functions (creates GitHub-safe clickable link) (not generated if not called)|
|`--codeFence`, `--cf`|`{None}`|Surround all DocStrings in a Python markdown code fence (not generated if not called)|
### Notes:
- Use either `--files` or `--dir`, never both
  - `--dir` is used to change the directory and then scrape all files within it
  - `--files` is used to specify specific files to scrape (not the entire directory)
  - If you'd like to scrape specific files in a separate directory, simply use `--files` with their absolute PATHs
- Anytime a PATH is requested, it does **not** need to be in the current directory, **both** relative and absolute PATHs are accepted
- If you'd like to exclude any functions that do **not** have their own DocString, you can use the `--emptyfunc` flag and pass in the value **`0`**
- The current default behavior is to exclude any files that do **not** contain any functions or classes
- Clickable links generated with `--fileHeaders` might break if you are using a different directory with the `--dir` flag or placing `DOCS.md` in a different directory with the `--output` flag
- If you aren't using markdown-styled DocStrings, passing the `--codeFence` flag will help auto-emphasize Python keywords, such as str, int, class, etc.
## Future Development
**GenDoc** was developed to be a simple, plug-and-play package. However, due to the level of styling customization required for many projects' documentation, an additional html-based API is being developed so developers can use their own external stylesheets.

%package help
Summary:	Development documents and examples for GenDoc
Provides:	python3-GenDoc-doc
%description help
|Flag(s)|Value|Description|
|  ---  |  ---  | --- |
|`--help`, `-h`|`{None}`|Show a help dialog|
|`--name`, `--n`|`{str}`|**Project Name** (included in Docs) (not included if not provided)|
|`--version`, `--v`|`{str}`|**Version Number** (included in Docs) (_Project Name_ required to use) (not included if not provided)|
|`--files`, `--f`|`{str} {str (opt)} ...`|PATH to specific files you want to include in the Doc generation (separate by a single space if adding multiple files) (only pulls from these files) (defaults to all `.py` files in the current directory)|
|`--dir`, `--d`|`{str}`|PATH to the parent directory of the codebase (defaults to all `.py` files in the current directory)|
|`--output`, `--o`|`{str}`|PATH to the output Markdown file (defaults to DOCS.md in current directory)|
|`--emptyFunc`, `--e`|`"{str}"`|Message for function without a DocString (enter multiple words surrounded by "Quotes") (accepts markdown syntax) (defaults to "*No documentation provided.*")|
|`--classSections`, `--cs`|`{None}`|Add collapseable sections for classes (not generated if not called)|
|`--methodSections`, `--ms`|`{None}`|Add collapseable sections for class methods (not generated if not called)|
|`--funcSections`, `--fs`|`{None}`|Add collapseable sections for functions (not generated if not called)|
|`--fileHeaders`, `--fh`|`{None}`|Add file name & relative path above it's classes and functions (creates GitHub-safe clickable link) (not generated if not called)|
|`--codeFence`, `--cf`|`{None}`|Surround all DocStrings in a Python markdown code fence (not generated if not called)|
### Notes:
- Use either `--files` or `--dir`, never both
  - `--dir` is used to change the directory and then scrape all files within it
  - `--files` is used to specify specific files to scrape (not the entire directory)
  - If you'd like to scrape specific files in a separate directory, simply use `--files` with their absolute PATHs
- Anytime a PATH is requested, it does **not** need to be in the current directory, **both** relative and absolute PATHs are accepted
- If you'd like to exclude any functions that do **not** have their own DocString, you can use the `--emptyfunc` flag and pass in the value **`0`**
- The current default behavior is to exclude any files that do **not** contain any functions or classes
- Clickable links generated with `--fileHeaders` might break if you are using a different directory with the `--dir` flag or placing `DOCS.md` in a different directory with the `--output` flag
- If you aren't using markdown-styled DocStrings, passing the `--codeFence` flag will help auto-emphasize Python keywords, such as str, int, class, etc.
## Future Development
**GenDoc** was developed to be a simple, plug-and-play package. However, due to the level of styling customization required for many projects' documentation, an additional html-based API is being developed so developers can use their own external stylesheets.

%prep
%autosetup -n GenDoc-1.0.1

%build
%py3_build

%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
	find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
	find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
	find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
	find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
	find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .

%files -n python3-GenDoc -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Thu Jun 08 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.1-1
- Package Spec generated