-
Notifications
You must be signed in to change notification settings - Fork 9
11. Welcome Contributions
James231 edited this page Jun 9, 2020
·
2 revisions
Below are a list of features/changes which are yet to be implemented but would be very welcome. If you make one of these changes please open a PR and wait for it to be reviewed. Other changes not listed here are also welcome.
Change | What needs to be done |
---|---|
Template Element Names, allow Upper case. | Upper case characters are not currently allowed in Template Element tag names due to out-of-the-box settings/limitations of the HTML Adgility Pack. But this might actually be easy to fix. |
Allow Multiple Page Templates. | Currently every page in the documentation uses the same Page.html file as a page template. Instead we could allow multiple page templates, and specify which one to use at the start of each input file. |
'assets' directory. | Provide an 'assets' directory for static assets like .js and .css files. And a way to insert links to these files in pages and templates. |
Change @ChildContent; to <ChildContent/>
|
Change the @ChildContent; which gets replaced in Templates to instead use a HTML tag as content will only be inserted alongside HTML tags, not in CSS or JavaScript. Methods Generator.BuildFile and TemplateManager.InjectTemplates need changing. |
Change @SubFolder.Recursive; to HTML tag. |
For the same reason as above. See SpecialTagManager.GetHtmlToReplaceForAllFoldersTag . |
Show warnings. | The console app could display warnings when things are wrong. E.g. when using a template name which is not entirely lowercase. |
Enable use of Command Line Arguments. | For example to provide the project directory, or directory for each of the Input, Output and Template folders. Or to switch between different templates. |
<MarkdownOnly> and <HtmlOnly> tags. |
These tags could be added so the content within them only gets added to the final HTML if the page is a Markdown or HTML page respecively. For example, you may use them to apply certain styling only to Markdown files. |
Global Varables. | Allow tags for <variable name="vname" value="vvalue"/> to be added to the top of page/template files which simply insert the value in that file when you use @Var.vname . For small changes which need to be made regularily (e.g. link prefixes which need to be changed when deploying to a new server). |
<ForeachSubFolder> and <ForeachPage> changes. |
Change these tags to allow additional content in between them which doesn't get repeated. E.g. If in a sidebar SubFolder menu items should be contained in one list (i.e. wrapped in <ul> tags) and SubPages all contained in a different list, this is currently not possible. Might be as simple as changing .ChildNodes to .Depedencies() in the right place. |
More Templates | It would be nice to have a few more example templates. Especially one with a dark theme. Or maybe adding a dark theme toggle to the default template could work. |
Unit Tests | A XUnit tests project would be welcome. |
If you have other ideas or want clarification you are welcome to contact me and discuss by submitting a form on my website: jam-es.com. Or you can open an issue.
Enjoying using Documentation Templater? Make sure you ⭐ the repo!!!