Let me explain what was inside my head as I start this:
There are a bunch of templates that defined some basic views, like a list-view, a card-view or some grid-view. And the content files will be in another folder. Every file contains some data and define the template for the render. The structure of the files will be the structure of the output html files.
And there it is. Still under development!
pip install justic
python -m justic example
python -m http.server --directory example/build
The content are simple python files with a specific structure. There are three important sections:
- JUSTIC (__JUSTIC__)
- For settings for the Justic class. This will be inherited to the sub directory.
- META (__META__)
- Parameters for the current instance, like the template name or build file.
- OTHERS
- All other capitalized variable will be passed to the template.
All Parameters:
__JUSTIC__ = {
'remove_build_prefix': 'content',
'default_template': 'index.html',
'dirs': {
'root': '.',
'build': 'build',
'templates': 'templates',
}
'funcs': {
...
}
}
__META__ = {
'target': 'content',
'targets': ['content'],
'static': 'static',
'template': 'foo.html',
'current': ''
'render': True,
'build': ...
}
TITLE = 'Foo'
SITEURL = ''
CONTENT = {
...
}
Virtual environment windows:
python -m venv venv venv\Scripts\activate
Virtual environment linux:
python3 -m venv venv source venv/bin/activate
Setup project:
python -m pip install --upgrade pip wheel setuptools coverage pytest flake8 pylint tox python -m pip install -e .
Run single test with code coverage:
coverage run --source=justic -m pytest coverage report -m
Run test for multiple python versions:
tox -p auto
Check syntax:
python -m flake8 justic python -m pylint --rcfile=setup.cfg justic
Create package Jenkins will do it:
git tag -a 0.1.7 -m "version 0.1.7" git push --follow-tags
No Jenkins?:
python -m pip install --upgrade twine python setup.py sdist bdist_wheel python -m twine check dist/* python -m twine upload dist/*
- copy static don't work for sub directory
- improve test