Yes they are early versions. Draupnir structure have two versions one “full” with all the bells and whistles and other “minimal” with just two important structures: lib
and project.odin
. That will be the minimum structure required by Gungnir to create a project based documentation, althought it will support only one file or only one package directory if you dont want to follow Draupnir’s structure.
Ok I improved the Readme a little more. Thanks for the feedback.
Why use Draupnir Templates?
These templates have in common the project.odin
file and the lib
directory. These are the core structures that a Draupnir template requires. Following this convention, many tools can have a common standard and help the community understand quicker and better Odin codebases. For example the Gungnir
tool can assume the codebase contains at minimum a project.odin
file and a lib
directory and start searching for files to document inside the lib
directory. This convention simplifies many decisions and make tools more thoughtful and friendly.
Where this convention comes from?
This convention takes inspiration and ideas from battle tested projects found in other languages and tools such as:
project.odin
This file is used for commands or other project related procedures. By default is an alias of lib/lib.odin
main procedure. But can be modified as a special build, different from lib.odin
. Is used mainly to identify the directory as an odin
project. However can be used as the main file of the project instead of lib.odin
.
lib/
A directory that holds your application source code. It’s required by the Draupnir template convention.
lib/lib.odin
This file is were the main procedure code is stored or just be a library of procedures, enums, types, constants for the project.odin
file to use. It’s optional to be named lib.odin
since the only requirement is the lib
directory.
Full Template
This project template have all the bells and whistles of a complete project: Readmes, Changelogs, dependency directory, docs, private directores, and other directories and files. Normally used in complex applications and command line apps.
When to Use?
Use this template if you want a complete project from the start. It provides a good and strong structure for big applications to grow. It includes the run
script that enables the -collection:project=.
param, and can build debug
and release
versions of both project.odin
and lib
.
Minimal Template
This project template have only the minimum directories and files needed for Gungnir (lib
and project.odin
), so it can generate documentation. Also contains common files such as: .gitignore
, .editorconfig
and a sample README.md
and test
directory.
When to Use?
Use this template if you want a lean starting point with just a lib
and project.odin
directories.
Ideal for experiments, simple applications or want to tailor the structure at will. It includes the run
script that enables the -collection:project=.
param, and can build debug
and release
versions of both project.odin
and lib
.
Blank Template
This project template only contains: lib/
, project.odin
, .gitignore
and README.md
.
It’s the most lean possible template compatible with Gungnir. Besides the lib
and project.odin
directories
is up to you to set the contents and structure of the project.