{"id":16096356,"url":"https://github.com/sio/wikigit","last_synced_at":"2025-07-24T20:35:50.953Z","repository":{"id":101312973,"uuid":"110438323","full_name":"sio/wikigit","owner":"sio","description":"Pelican plugin for creating a Wiki with page histories and diffs","archived":false,"fork":false,"pushed_at":"2017-11-12T17:49:30.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-11T20:49:54.738Z","etag":null,"topics":["git","pelican","plugin","wiki"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-12T14:16:33.000Z","updated_at":"2019-05-21T14:00:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"f215f52c-3347-4407-bc71-fc007f5af028","html_url":"https://github.com/sio/wikigit","commit_stats":{"total_commits":4,"total_committers":1,"mean_commits":4.0,"dds":0.0,"last_synced_commit":"6429ed2bf362517a2eb69def5c307020e248ea5a"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sio%2Fwikigit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sio%2Fwikigit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sio%2Fwikigit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sio%2Fwikigit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sio","download_url":"https://codeload.github.com/sio/wikigit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247398111,"owners_count":20932667,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","pelican","plugin","wiki"],"created_at":"2024-10-09T17:13:43.917Z","updated_at":"2025-04-05T20:29:36.105Z","avatar_url":"https://github.com/sio.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Project status\n\nAn idea. No implementation exists yet, not even a draft.\n\n\n# Description\n\nA static site generator for a simple wiki. Supports article versioning and\ndiffs based on git history. All texts should be written in Markdown (or\nreStructured Text).\n\n# Intended use case\n\nA small group of authors writes documentation intended for a larger audience of\nreaders.\n\nAuthors are assumed to be tech-savvy enough to write texts with plain text\neditor and manually apply markup (Markdown, reST, etc). Authors are to push the\ntexts into a Git repository with proper commit messages.\n\nWebsite administrator generates a static set of HTML pages based on the\ncontents of Git repo (or a subdirectory of a Git repo) and publishes these\npages on the network (with any HTTP server or simply in a shared folder).\n\nNo assumptions about readers skill set are made. They are to access the\npublished documentation with any modern web browser. Readers are assumed to be\ninterested to see the changes between page versions, so there must exist a way\nto show diffs in the web browser.\n\n\n# Features and implementation ideas\n\nBecause (as far as I know) no such software exists, this has to be written from\nscratch. Implementing yet another static site generator is an overkill for the\ntask, so I'm looking into extending the functionality of existing ones. I'm\nmost comfortable programming in Python, that's why this will probably be a\nplugin for [Pelican][1].\n\nThe following features are currently considered:\n\n### Page history with diffs\n\nThis is a raison d'être of this project. All pages should have the list of\nprevious versions with small descriptions of what has been changed (commit\nmessages). Every *older version* should be accessible, plus a *diff to current\nversion* and a *diff to previous* one. Generating other diffs between all\npossible combinations of page versions is considered excessive and will not be\nimplemented.\n\nThis will be the core functionality of new Pelican plugin.\n\n##### File hierarchy for generated HTML pages\n\nExisting Pelican output:\n```\noutput/path/to/article.html\nor\noutput/path/to/article/index.html\n```\n\nExtra output enabled by this plugin:\n```\noutput/path/to/article/\n                       history/index.html\n                       diff/commit1-to-current/index.html\n                       diff/commit1-to-previous/index.html\n                       diff/commit2-to-current/index.html\n                       diff/commit2-to-previous/index.html\n                       ...\n```\n\nAll generated URLs are meant to be \"clean\" (ending in directory name with a\ntrailing slash). Alternative behavior might be enabled via configuration\nvariable but this is planned as a low priority task.\n\n### Recent changes\n\nGenerating a site-wide list of recent changes seems useful. The list in\nquestion should contain a sensible number of recent commits with links to\nproper diffs. The number should be defined by a plugin variable and be\nconfigurable via the `pelicanconf.py`.\n\nThis will be the extra functionality of new Pelican plugin.\n\n### Orphaned pages\n\nThere should exist a way to list pages which cannot be accessed by a sequence\nof hyperlinks from the main page.\n\nThis is the task for website administrator, not for authors or users. This will\nnot be included in the Pelican plugin. Another tool should be found for this\npurpose, such tool almost certainly exists already. Its usage should be\nincluded in the project documentation.\n\n### Namespaces\n\nNamespaces are a popular way to divide the wiki into segments by subject,\nintended audience, etc. Pelican already offers tags and categories for this\npurpose. No extra functionality is required.\n\n### Wiki index, TOC for pages\n\nAlthough this is not planned as a part of plugin functionality, generating page\nindex and tables of contents for individual pages is an important wiki feature.\nI'm sure there are plugins for Pelican for this purpose, they just need to be\nfound and documented.\n\n### Internal links\n\nConnecting pages via internal hyperlinks is supported in all wiki engines.\nPelican offers {filename} shortcuts for internal links. That's enough for a\nstart. May be there exists a plugin which adds support for proper wiki-style\nlinks.\n\n### PDF export\n\nExporting pages to PDF makes sharing and printing of the documentation much\neasier. I'll need to look into possible options for pre-generating PDF versions\nof each article (only the latest version, no history or diffs here).\n\nThis functionality will not be included in the plugin.\n\n### Search\n\nStatic sites do not offer *\"real\"* search, and this wiki implementation will\nnot be different. Wiki index plus external search tools (like Google) will have\nto be enough.\n\n\n# Contributing\n\nThis project is in the earliest stage of development, so it's difficult to\nimagine it will attract any contributors. If you like my idea and are willing\nto help, please contact me. I promise to behave responsibly and to treat all\ncontributors with respect.\n\n\n# License and copyright\nCopyright © 2017 Vitaly Potyarkin\n```\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n```\n\n\n[1]: https://github.com/getpelican/pelican\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsio%2Fwikigit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsio%2Fwikigit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsio%2Fwikigit/lists"}