Comments (8)
Back then, I chose the README as main documentation hub (Along the TEMPLATE.yml) for four reasons:
- It's easily Ctrl+F'able, or in less keyboard-terms, easily discoverable through means everyone knows
- It's part of every checkout and will always reflect the state your checkout is in
- It's harder to get out of date as developers simply see it more often. A wiki page is quickly forgotten. (Yet to find a non-dusty Github Wiki page myself)
- The user is guaranteed to have a copy of it available
A source of inspiration was the README of https://github.com/sinatra/sinatra, which may be longer than the bible (Haven't checked). Still, using Ctrl+F I can quickly find what I was looking for, both online and offline. Has been a few years so don't remember anymore, but I once saw a talk on YouTube where the talker explicitly used Sinatra as example.
This is not to dissuade anyone of proposing against these points, just what my reasons were back then.
from bindgen.
@Papierkorb all good reasons! Perhaps a table of contents at the top? Its great documentation so wanted to make sure its easily accessible and we can identify any places that need updating easily as well.
from bindgen.
Ah sure, a TOC would be splendid
from bindgen.
Added ToC to the README using a script from "github-markdown-toc" repository.
from bindgen.
For TEMPLATE.yml, to suit everyone's preferences it looks like we'd need three versions of it:
- Just the documentation, extracted into some standard documentation format (e.g. Markdown)
- TEMPLATE.yml, unchanged, as it is currently
- TEMPLATE.yml, containing only example config (no documentation, or at least not longer that 1-2 lines per section)
And again/also with the ToC added to the first one (or two) items from the list.
I am going to see how easy/convenient it would be to write a script that produces all this from ideally a single format (maybe from the current TEMPLATE.yml or similar).
(@kalinon if you had a preference/intention to work on this yourself, let me know of course.)
from bindgen.
I changed the title to more reflect what we are thinking. @docelic you are good, it was more of a thought i had. I will use github-markdown-toc for some of my other projects tho!
from bindgen.
I've tried converting the documentation from TEMPLATE.yml into Markdown. The results are good and I plan to add this as file CONFIGURATION.md
.
An example can be seen here:
https://github.com/docelic/bindgen/blob/master/CONFIGURATION.md
At least for now I've given up on trying to automate this as I think these things will rarely change, and "normal", elaborate documentation is a necessity for any project.
(We can still keep all the comments in TEMPLATE.yml of course; these ideas are not in conflict.)
from bindgen.
from bindgen.
Related Issues (20)
- Rebuilding Qt bindings for upcoming Crystal 1.0 release HOT 5
- Issues with container spec HOT 1
- [Question] Dealing with classes containing template arguments
- Does not work with LLVM/Clang 14 and multi-LLVM setup
- Fix builds for 0.7.0 HOT 6
- Update or remove the Contributors section in the README HOT 1
- Overloaded Qt signals HOT 3
- `find_clang` fails to find libraries HOT 1
- CrystalProc ignores Crystal-side type conversions HOT 4
- Issues wrapping namespaced classes HOT 1
- Stack overflow due to calling superclass method inside virtual override HOT 4
- Public instance properties HOT 1
- Potential premature collection of wrapped types
- Undefined reference to GC_throw_bad_alloc()
- Bindgen::Graph::Path edge cases
- Support nested anonymous types
- Destructors not called on GC-enabled instances HOT 3
- Support downcasting between Crystal wrapper types
- Some namespaced class hierarchies are not realizable
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 bindgen.