Warning, /frameworks/kapidox/notes.txt is written in an unsupported language. File is not indexed.
0001 On the server every single KDE repo is downloaded.
0002
0003 SEE BELOW FOR THE REAL EXAMPLE (EASY, FULL EXAMPLE)
0004
0005 default Doxygen configuration:
0006 DOTFILE_DIRS = docs/dot
0007
0008 Frameworks
0009
0010 need to consider platform/type stuff for frameworks as well as tier (platform is generally applicable, but type?)
0011
0012 KArchive/config.kapidox:
0013 public_source_dirs:
0014 - src
0015 group: Frameworks
0016 subgroup: tier 1 # actually omit; use tier from metainfo.yaml as special case for frameworks
0017
0018 frameworks-docs:
0019 group: Frameworks
0020 group_info:
0021 maintainer: dfaure
0022 description: "whatever short description we have about Frameworks"
0023 allowed_subgroups:
0024 - Tier 1
0025 - Tier 2
0026 - Tier 3
0027 - Tier 4
0028 - Porting Aids
0029
0030 Easy
0031
0032 config.kapidox:
0033 # info is taken from metainfo.yaml, CMakeLists.txt etc if available, but can be overridden here
0034 public_source_dirs:
0035 - src/lib
0036 private_source_dirs:
0037 - src/app
0038
0039 Full example
0040 config.kapidox:
0041 # info is taken from metainfo.yaml, CMakeLists.txt etc if available, but can be overridden here
0042 name: <user-visible name, including caps> # eg: KArchive
0043 maintainer: <identity username> # or list of usernames
0044 description: <one-line description>
0045 group: <name> # optional; eg: frameworks
0046 subgroup: <subgroup> # optional; eg: tier 1
0047 public_source_dirs:
0048 - src/lib
0049 examples_code_dirs: # Doxygen EXAMPLES key; default docs/examples
0050 - doc/examples
0051 extra_doc_dirs: # default ./docs
0052 - doc
0053 private_source_dirs:
0054 - src/app
0055 main_page: # defaults to README.md
0056 doxygen_overrides:
0057 | # some text in doxygen config format (using yaml's block text feature)
0058 | FOO = bar
0059 group_info: # only in one member of the group; doxygen will be run in this repo for the group top-level pages
0060 group: <name> # defaults to top-level group info
0061 maintainer: <identity username> # maintainer of group as a whole (eg: dfaure for frameworks)
0062 description: <one-line description>
0063 allowed_subgroups:
0064 - tier 1
0065 - tier 2
0066 subprojects:
0067 name:
0068 main_page: src/some_project/README.md
0069 public_source_dirs:
0070 - src/some_project
0071 # any keys valid at top level (except group_info); anything not specified will default to top-level value
0072 other_name:
0073 # as above
0074
0075 if config.kapidox is missing, repo is ignored
0076
0077 a "project" is generated for the top-level data in config.kapidox and for each subproject:
0078 in "public" mode (api.kde.org):
0079 private_source_dirs is ignored
0080 if a project does not have public_source_dirs, it is ignored (but group_info is still used if present)
0081 in "private" mode:
0082 public_source_dirs is ignored
0083 private_source_dirs is added to Doxygen INPUT
0084 extra_doc_dirs is added to Doxygen INPUT
0085
0086
0087
0088 Reflection
0089 Each git repo /product contains a yaml file:
0090
0091 metainfo.yaml / projectinfo.yaml:
0092 maintainer: <identity username>
0093 description: <one-line description>
0094 release: <true|false>
0095 deprecated: <true|false>
0096 group: <name> # eg: frameworks/tier1
0097 subprojects:
0098 - name:
0099 all the keys you can do outside to override
0100 documentation:
0101 group_documentation_dirs:
0102 - docs
0103 public_libraries: # runs separate doxygen instances on these dirs; group will default to this repo name
0104 - name: <name of the lib> #optional, default to framework
0105 description: #optional, default to the one above
0106 lib doc: <>
0107 lib example: <>
0108 dirs: #where to run
0109 - directory1
0110 - directory2
0111 - name: <name of the other lib> #optional, default to framework
0112 dirs:
0113 - directory1
0114 - directory2
0115 public_library_dirs: # these will be documented on api.kde.org -- empty by default
0116 - src
0117 - libs/my_public_lib
0118 private_code_dirs: # these will be documented only when running in internal mode -- full repo by default
0119 - src
0120
0121
0122
0123
0124 layouts:
0125 frameworks:
0126 each lib own repo:
0127 src/
0128 docs/
0129 examples/
0130 README.md
0131 metainfo.yml
0132 separate doc repo with group docs
0133 calligra(?):
0134 core repo including group docs + public libraries:
0135 doc_for_scripting/ (md files?)
0136 src/
0137 examples/
0138 app repos
0139 amarok:
0140 one repo with:
0141 public lib for plugins to link against
0142 user manual
0143 extra docs for how to write plugins
0144 application code (+ private libraries?)
0145 Kate:
0146 need some way to document writing syntax files
0147 KDiagram
0148
0149 one repo with 2 independent libs, KChart & KGantt
0150
0151 src/KChart
0152
0153 src/KGantt
0154
0155
0156
0157 kapidox reads all repositories to find the metainfo.yaml files to organize the documentation pages.
0158
0159 Needs:
0160 The doc of
0161
0162 each product
0163
0164 each group
0165
0166 all kde products
0167
0168 ....are build with the same script
0169
0170
0171
0172 Current script info sources:
0173 the repo/dir name is used
0174 parses project() command from CMakeLists.txt to figure out name of project ("fancyname" - the one displayed to the user)
0175