Package: pynfact
Pynfact is a simple static website generator oriented to chronological
content, like blogs or websites with historic and sequential data.  It
allows integration with external scripts, comment engines such as
Disqus, TalkYard, etc., or Google Analytics…  Theming and
configuration is possible by editing Jinja2 templates.Purpose:A blog-oriented static website generatorLatest version:1.3.2(2020-08-05)FeaturesInput formats: Markdown and reStructuredTextOutput format: HTML5Configuration: Jinja2 templatesLocale supportCode syntax highlightingAtom/RSS feed generationCategories and tagsTag cloudArticles and pagesRequirementsdocutils(docutils >= 0.1.4):Python Documentation Utilities.feedgen(feedgen >= 0.9.0):Feed Generator (Atom, RSS, Podcasts).python-dateutil(python-dateutil>= 2.0):Extensions to the standard Python datetime module.Jinja2(jinja2 >= 2.7):A small but fast and easy to use stand-alone template engine written
in pure Python.Markdown(markdown >= 3.0.0):Python implementation of Markdown.Pygments(pygments >= 1.0):Syntax highlighting package written in Python.PyYAML(pyyaml >=5.1):YAML parser and emitter for Python.Unidecode(unidecode >= 0.4.9):ASCII transliterations of Unicode text.InstallationRun:$ pip install pynfact(If your default version of Python is 2.x, maybe you need to typepip3instead ofpip)UsageThe interaction is done by command line.  Only a few commands are
needed:pynfact--init=<myblog>: Create a folder with all needed contentGo to that directory:cd <myblog>Configure settings inconfig.yml, title, name, language…pynfact--build: Generates the static contentpynfact--serve=localhost: Serves locally to test the results
(by default atlocalhost:4000)More details at theGitHub project Wiki, and at theQucikstart
guide.Recent changesPerform tests and upgraded torelease candidateversion (1.3.1rc2)Parsing read the content input files just once, and not several timesLogging errors now can be redirected tostderr,stdoutand not
only to a file, using the command line--log(or-l)Refactor document parser and metadata gatheringPerform tests and upgraded tobetaversion (1.3.1b1)Add reStructuredText support (docutils)Validate  input metadata (titles, and dates if required) inMetaUpdatesetup.pyto fix missing dependencyPyYAMLCLI interface withargparserand more modularizedImprove code readability to comply withPEP 8andPEP 257Generate pages slugs as posts, i.e, from the title, not the filenameAdd logging support usingloggingPut every page in the same directory:pagesDeploy as Python package at PyPI:https://pypi.org/project/pynfact/Add Esperanto locale (eo)SimplifyBuilderclass constructor, now takes a configuration
dictionary, sorted semanticallyReplacepyatomforfeedgento generate RSS/Atom syndication
feedsRefer toCHANGELOGfile for more details.Why this name?Granted it will be used on the “web”, the word “log” in Latin may be
translated asINdicem FACTorum, henceInFactor-nFactto be
more easily pronounceable when prepending the prefixpy-, an indicator
of the programming language where it has been developed.Also,pyblog,pyblic,pyweblogand many other cool names were
already taken.ContributingBugsThis project is still in development, so there are probably lots of bugs
that need to be fixed before deploying a stable release.  If you find a
bug, please, report it at theGitHub issue tracker.LicensePynFact!is distributed under theMIT License.  Read theLICENSEfile embeeded in this project for more information.