forked from varia/varia.website
.. | ||
__init__.py | ||
actions.py | ||
content_adapter.py | ||
git_wrapper.py | ||
README.rst | ||
registration.py | ||
utils.py |
Use Git commit to determine page date ====================================== If the blog content is managed by git repo, this plugin will set articles' and pages' ``metadata['date']`` according to git commit. This plugin depends on python package ``gitpython``, install:: pip install gitpython The date is determined via the following logic: * if a file is not tracked by Git, or a file is staged but never committed - metadata['date'] = filesystem time - metadata['modified'] = filesystem time * if a file is tracked, but no changes in staging area or working directory - metadata['date'] = first commit time - metadata['modified'] = last commit time * if a file is tracked, and has changes in stage area or working directory - metadata['date'] = first commit time - metadata['modified'] = filesystem time When this module is enabled, ``date`` and ``modified`` will be determined by Git status; no need to manually set in article/page metadata. And operations like copy and move will not affect the generated results. If you don't want a given article or page to use the Git time, set the metadata to ``gittime: off`` to disable it. Other options ------------- ### GIT_HISTORY_FOLLOWS_RENAME (default True) You can also set GIT_HISTORY_FOLLOWS_RENAME to True in your pelican config to make the plugin follow file renames i.e. ensure the creation date matches the original file creation date, not the date is was renamed. ### GIT_GENERATE_PERMALINK (default False) Use in combination with permalink plugin to generate permalinks using the original commit sha ### GIT_SHA_METADATA (default True) Adds sha of current and oldest commit to metadata ### GIT_FILETIME_FROM_GIT (default True) Enable filetime from git behaviour Content specific options ------------------------ Adding metadata `gittime` = False will prevent the plugin trying to setting filetime for this content. Adding metadata `git_permalink` = False will prevent the plugin from adding permalink for this content. FAQ --- ### Q. I get a GitCommandError: 'git rev-list ...' when I run the plugin. What's up? Be sure to use the correct gitpython module for your distros git binary. Using the GIT_HISTORY_FOLLOWS_RENAME option to True may also make your problem go away as it uses a different method to find commits.