joesingo / mdss Goto Github PK
View Code? Open in Web Editor NEWA simple static site generator
A simple static site generator
Add an option default_context
that is used as a base for all page contexts
Export static files from content and template directories
Use static_filetypes
site config option to determine what is a static file
Create a very generic base template and associated static files (css, images)
Install as package data, and change template loading to:
See if there exists a way of combining loading methods in jinja. If not, create a custom loader called something like AggregateLoader
that aggregates templates found via different methods
Finalise PageInfo
format (add URL - anything else?)
Expose breadcrumbs and list of child pages in PageInfo
format
Also expose a recursive listing that includes children of children etc
If content
is left unset, default to the same directory that mdss_config.yml
was found in
Watch content and template dirs for for changes
Re-export site to a temporary directory
Use built into http server to serve
To allow re-use of context variables on different pages, allow a YAML file to be included.
Re-using variables was useful for maths notes -- can specify extra stylesheets, js for MathJax in one place and re-use on each page
as a shortcut to breadcrumbs[-1]
i.e. to override existing alphabetical ordering
Similar to how finds .git directory
Also give option to give path to site config
e.g. raising invalid page error, no content error etc.
Instead create MdssException base exception that others can inherit from -- then wrap command line script as
try:
# stuff
except MdssException as ex:
parser.error(ex)
or similar
Implement macros that replace
<foo arg="val">stuff</stuff>
to
foo("stuff", arg="val")
A useful built in would be to get path to static file when exported
create and document a simple template and stylesheet in a separate repository (probably just joesingo.co.uk theme)
Document how to use external template themes in mdss readme.
this will keep core mdss and theming separated, and simplifies template loading
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.