-
Notifications
You must be signed in to change notification settings - Fork 415
Node_Editor documentation #46
Comments
Hi ! I have seen a lot of project using the markdown language. Github natively display that kind of documents. They are faster and easier to write than native HTML documents. Also, they can be easily transformed into HTML format thanks to tools (like dillinger.io, but I think non navigator-based tools exist). I would recommend to create a "documentation" folder with a set of markdown files. |
@groud, the issue here is that when people download this plugin to use with Unity, they should have access to offline documentation. Markdown needs some sort of engine to be rendered. It would render well here on GitHub, but not locally. It also doesn't support text colors or alignment, and all the images are downloaded from the internet (you can't embed them directly like in PDF). |
You are right on some points. However, Markdown and HTML are two languages that can access local images, no Internet access is needed to include image (a folder next to the source file is enough). What I would suggest, is to use the md language to compile a HTML documentation. Which will be used as github pages, but also as a offline HTML documentation (As a compiled Javadoc, which does not need Internet access). |
That's actually what Node.js and React does, so it surely is viable. But it would need some sort of automation to rebuild the HTML files when one of the MD files is updated. Or @Seneral would have to do it by hand once a week or so. :D master branch: /docs would contain all the individual Markdown files When creating Release distributions (what people would directly download), it would have the HTML files instead of the Markdown ones for the documentation, so it could be read off-line. |
Yes, that's seems perfect to me ! :) |
I actually started already to create the HTML Documentation. I first passed it through a auto creator from the PDF format which resulted in an absolute mess:( |
I know that MD has some limitations (I have to admit it is not meant to create very fancy looking documents). But well, several compilators are able to include html code into the MD language, so that you can create more interesting shapes. However, the most important thing is that MD is far easier to maintain than HTML (No missing , or, inconsistent HTML tags usage, etc... ). It is readable, and does not take long time to update. As the documentation is usually a tedious job, I usually prefer to keep such it simple. ^^ |
Reference: Example: |
Thanks, I'll take a look at that later when I come back! |
I just added the html aswell as odt source file for the documentation in fc180bc. |
Cool! |
Probably not. I kept it because you we're mentioning to keep it as a print above;) |
I just found this: mkdocs |
That looks really great, no need to build conplex html sites and concerning about the style anymore:D But that means yet another conversion.... I might take a look at doing that if I find sone free time |
I can handle that if you want :) |
Cool, thank you! :) I guess automation could lift alot of work off here, atleast by replacing the simple tags like b, i, u, etc. with their MK counterparts;) |
See #59 |
Looking good so far:) Might be better to make a seperate branch though to work on the documentation (additionally to the gh pages one which hosts the online documentation). I can setup that tomorrow if thats ok. |
Well, I do not think we really need a separated branch for the doc, as it is supposed to evolve with the software (It is not a different version, like the "master" and "develop" are supposed to be) However, the main question here is how we distribute the documentation. However, I'll stick to the majority opinion. ^^ |
Hum, I just find out that the Github wiki is in fact a git repository. |
👍 👍 |
Nice indeed! But as I said, I wont be able to do anything of this. If you want to do this, I'm sure @Baste-RainGames can make you a contributor so you can create branches and the wiki;) |
Other themes can be found there: |
Oh nice, didn't see that! |
Btw, setting this live on gh-pages when we merged develop into master as alot of the documentation is dependant on the changes we made since the last (first) release... |
So, after long silence, I think we should prepare for making them go live. I made some adjustements and included most recent changes but I don't know exactly if we came to a conclusion where to put the docs - gihub pages, the repo wiki or readthedocs? |
Updated to include develop changes compared to gh-pages documentation. Refer to #46 for more information.
So, the online documentation is now updated with the mkdocs version which is also up-to-date with the develop branch:) |
The Documentation is a good beginning sofar. Though i´m having problems to actually understand the overall Framework Structure. it might be good if you´d add some sort of graphical overview referencing the different parts. |
That's what 'Framework Overview' is supposed to do, but as you see it's not really developed yet... |
Have a good concept by now, might post a first version soon:) |
hmm, honestly this overview didnt help me much but that might be because it lacks the context and an explanation. right now its also kinda hard to make suggestions since i didnt grasp the concept of the internals sofar. Maybe i can give you some better feedback as soon as i´ve got an better overview over the framework :) |
Yeah I understand you... Thanks for your feedback:) I'll try to write a line or two for each class for a quick overview, maybe I can even somehow integrate it with the graphic... |
How about this?
The description would be the next thing to improve but for the starting I think it's ok. But I need feedback from people not familar with the framework structure;) |
OK, i just read through the description, looked at the diagram/overview and tried to make sense of everthing. I also already took a look into the sourcecode itself so i might be a little more knowlegable than a truly fresh developer. anyway, basically the overview is not bad but it doenst really serve the developer to understand your system more. it works out quite ok if you read the whole description while closely looking at the overview and trying to make sense of it but i think we can improve on that. I guess the biggest problem i had myself was that the connections inbetween those classes weren't clear. So a suggestion i would give you is to try to cluster those classes a little bit more by their purposes. CoreBasically i would rename "framework" to Core since i have the feeling that those classes are more or the less the Core of the whole Node_Editor. These Classes represent the Nodes and therefore are kind of the most imporatant part and should get this attention. Core ExtenderThe assembly fetch name is kind of missleading/ meaningless. It kind of answers the question "how" but not "why" and as a Developer you usually try to want to know the reason "why" something exists and "what" it does but not "how" it does something. Canvas managementHere goes everthing that is managing the Canvas. Saving SystemI guess this cluster is self-explanatory. Also i guess this cluster would extend on the Canvas management? API"NodeEditor User" seems a little bit confusing as people would likely search for something called "API" as you mentioned in the description. Also i would give the user some more explanation which aspects of the NodeEditor are modifiable from this API sofar this overview already helped me quite far but for the sake of new developers i'd like to improve it a little more with you :). |
Some great ideas, seems you have much more experience with this, thank you roni:) Core and CoreExtender seem really solid, don't think I can add something;) Regarding Canvas Management&SavingSystem: Regarding the API, I think only So as Hope that makes sense. So, I propose these changed 'clusters': |
Sounds good sofar. Also it would be nice to create a description for each of those clusters and use this overview as starting point within the documentation. |
No, they ARE the NodeEditorUser;) As I tried to explain previously, it is a script that makes use of the API in some way (EditorWindow and RTNodeEditor fully, RTCanvasCalculator basic). Initial Description:
Explanation in my last comment:
Need a better way to describe them, I see;) Or most probably the word 'User' is irritating... |
Well then i'd rename them to "API usage example" or something like that. |
Due to the repo transfer the new link to the online documentation is now |
New documentation page: |
PDF shouldn't be the only format of distribution for the documentation.
It's hard to edit (only the one - you - with the source file can edit it) and it lacks version control because it is a binary file type.
I think a good alternate way would be to have GitHub pages set up, with the documentation in HTML. The PDF files in this repository would be a "print" of those files.
The text was updated successfully, but these errors were encountered: