Make Projects Documentation a fabulous experience #19162
Replies: 6 comments 8 replies
-
Markdown and some form of Doxygen/Javadoc style annotations are pretty widespread conventions in several languages already, improving the flow for editing those does sound nice. |
Beta Was this translation helpful? Give feedback.
-
You got it, that's exactly that ! thank you |
Beta Was this translation helpful? Give feedback.
-
In the absence of specific actionable suggestions for improving the experiencing of writing project documentation I'm going to convert this to a discussion. As someone who writes a lot of markdown documentation in Zed about Zed, I'd be very excited for suggestions on how to improve that process. Thanks for reporting. |
Beta Was this translation helpful? Give feedback.
-
This for Markdown, and support for adjustable line heights/image/hiding link syntax of e.g. Markdown when cursor isn't directly over it would be great for editing documentation, even without doing anything else. And just good in general - that would open up so many possibilities. Basically the equivalent of Obsidian's Live Preview mode. I think a good deal of people would move over to Zed for their PKM/Zettelkasten systems if Markdown and other formats could be written and read nicely without a dual view of source/preview. |
Beta Was this translation helpful? Give feedback.
-
I'm trying to get some form of highlighting for my comments. I would be very happy with In the C++ world, a lot of the current tools seem outdated (Dare I say it? Doxygen included). I would be happy with using whatever the IDE provided for a quick and easy solution. |
Beta Was this translation helpful? Give feedback.
-
One aspect I think is important but clearly was omitted in my presentation (I'll add it right away), is the fact that auto-documentation tools seem to rely on comments and/or docstrings (python concept) while it may be good, it can actually turn into such a clutter to the code (IMO). What could make the accessible doc a great experience is the fact that the dev may be more inclined to not clutter the code with big comment blocks or docstrings (python concept). Indeed, why the need of big special comment blocks or strings when we have Treesiter and if the switch between code and docs is just a keypress away. I don't know if a tool already exist that could just mirror the source code structure into a pre-structured empty documentation. For example, let's imagine the following project file structure :
foo.py code : CONST_FOO:int = 123
class Foo:
def __init__(s, value:int):
s.value = value
def increment(s) -> int:
s.value += 1
return s.value
def find( pattern:str, text:str ) -> str:
return text.find(pattern) main.py code : from lib import foo
def main() -> None:
a = foo.Foo(1)
b = a.increment()
print(f"hello {b.value} times")
if __name__ == "__main__" :
main() Now Zed could automatically create (at least) pre filled doc files for each libraries, where some dotfiles like which here would give the following file hierarchy :
While editing the documentation could be done with a markup language like markDown or reST for some portion, overall html pages stucture would be automatically generated and noneditable by the dev, like the outline of the current doc page. If no documentation tools generic enough do exist to build these structures without relying on special comments or docstrings, Treesitter would be the obvious tool to use for a custom solution. A visit to python docs and one of its module documentation are great example good documentation structure, IMHO. |
Beta Was this translation helpful? Give feedback.
-
Check for existing issues
Describe the feature
Concept
There are existing projects that scans other project and auto-build a documentation, my suggestion is to pick one of them (or more tedious, create one) and use it in a fully integrated way.
However, that is not all, the main concept that led me here, is that opening and editing the documentation of a library, function, class and methods that we are currently working on be accessible with just a combination of modifiers+(key || mouse button) press.
would it open a editing popup, or appear in a split is to be determined.
For the documentation formatting language, I suggest Markdown or reST (less widespread, but better features specs).
For the "doc editor window", it should offer IMO a wysiwyg mode by default with the focused line/paragraph being raw Markdown, and also offer a raw Markdown mode.
More details about the kind of documentation structure to pursue (IMO) in this post
Benefits
Not only it would favor a good documentation, a thing still often neglected. but it would also promote :
If applicable, add mockups / screenshots to help present your vision of the feature
No response
Beta Was this translation helpful? Give feedback.
All reactions