Comments (4)
I like option 2. I think I speak for other breathe users when I say I don't use any other features in all the tools besides generating nice web docs from my doxygen. A lot of examples and user projects online I've looked at use the bare bones default output breathe/sphinx anyway. There's not many 'robust' layout designers for sphinx and Exhale already brings a lot to the table in this sphere because it creates separate pages.
Being able to customize even the .rts outputs just slightly would make this the Exhale/Breathe/Sphinx/Doxygen stack for documentation imo.
from exhale.
Currently no. You just mean at the dump at the bottom, not the hierarchy part right?
The main hurdle with that is Sphinx will emit warnings for every page not included in a toctree. So even though it's still linked in the hierarchy.....Sphinx doesn't understand this.
Presumably you have a larger code base? If so the number of warnings incurred will equal the number of files + directories :/
I will reresearch if there's a way to suppress these warnings. Sphinx 2.0 may have enabled this? Not sure :/
from exhale.
I do not need it to display Files in the project when I already have a file hierarchy tree. #65 (comment)
I have on paper a writer API for consumers which would allow you to write your own python code as a hook that exhale would use, but quite a lot needs to happen before that can become a reality. I'm currently finishing a thesis from hell...so that has priority unfortunately.
I don't think I can get around the "document not included in any toctree" warning, but I see two options
Option 1
Add a config variable "excludeFromUnabridged": ["file", "dir", ...]
(open to different / clearer name choices btw). So list all kinds that you want excluded from the unabridged api.
Instead of putting those in the unabridged_api.rst
, I think we can get away with generating an orphan.rst
page and put all of the toctree
for the file pages exhale generates there. The result being that instead of a warning for every file / directory not included, we should get just one warning about orphan.rst
not being included in any toctree.
Option 2
Since files and directories specifically are the problem here, we could change the layout of unabridged api altogether. For things like functions / enums, it is advantageous for them to show up on the library root page. It makes it easy to find things that don't show up in the class hierarchy. But for files and directories specifically, we can add a layer of indirection here. The difference would be currently we have something like this
Functions
=========
...
[begin snip]
Directories
===========
...
Files
=====
...
[end snip]
We can take the [begin snip]
up to [end snip]
and dump them into a layout.rst
document. Then at the bottom of the unabridged api, we can do
Layout
======
.. toctree::
:max-depth: 1
layout.rst
It'll give a short listing at the bottom of the unabridged API still, but it will be just two bullet points
Layout
- Directories
- Files
- No warnings about "document not included in toctree".
- Much cleaner presentation, I agree that dumping all the directories / files isn't really helpful given the file hierarchy on the same page.
Default title of Layout
up for debate (can also add a config option to customize it).
What are people's thoughts? I like (2) better because I'd rather not deliberately introduce warnings, and will be easier to implement (read: I can roll that out quickly). (1) is better left for 1.x with the writer API I think (but again, that's a ways off...).
from exhale.
However we could also just do option 1 for now as a hotfix until option 2 is complete. Then mark option 1 flag as deprecated when it builds.
from exhale.
Related Issues (20)
- Operator>>, <<, -> overloading bug HOT 4
- Unable to resolve function HOT 1
- Warnings caused by missing newlines in exhale output HOT 3
- LaTeX in \f$ swallows \n newlines HOT 2
- Allow root file to be excluded and set filename of hierarchy files HOT 1
- Replace collapsible list JavaScript with details/summary HOT 1
- Does it work for C projects? HOT 1
- Module Index Error 404 page HOT 1
- Exhale seems to eat asterisk-chars '*' HOT 1
- Exhale does not find functions with weird data types
- Hard-coded 'Class' and 'Classes' even for C
- Allow fully qualified enum, class, structs titles
- Fixup packaging requirements HOT 8
- Windows path length issues HOT 4
- no coverage uploaded for master HOT 1
- KeyError: 'concept' when listing nodes to console HOT 1
- Problem with Sphinx 7
- Github action fails HOT 4
- You broke test_python.yaml you foo
- Fortran support may be broken HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from exhale.