{"id":13557205,"url":"https://github.com/cooper/wikifier","last_synced_at":"2025-04-03T11:31:23.837Z","repository":{"id":6811643,"uuid":"8059576","full_name":"cooper/wikifier","owner":"cooper","description":"(SUPERSEDED BY QUIKI) a file-based wiki engine with a clean and productive source language","archived":false,"fork":false,"pushed_at":"2020-12-09T08:52:16.000Z","size":2081,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-04T07:35:44.527Z","etag":null,"topics":["file-based","language","parsing","perl","wiki","wiki-engine","wiki-page","wikifier"],"latest_commit_sha":null,"homepage":"https://wikifier.mitchellcooper.me","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cooper.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}},"created_at":"2013-02-06T20:38:14.000Z","updated_at":"2024-05-31T17:16:28.000Z","dependencies_parsed_at":"2022-08-26T06:01:52.800Z","dependency_job_id":null,"html_url":"https://github.com/cooper/wikifier","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cooper%2Fwikifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cooper%2Fwikifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cooper%2Fwikifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cooper%2Fwikifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cooper","download_url":"https://codeload.github.com/cooper/wikifier/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246992974,"owners_count":20865915,"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":["file-based","language","parsing","perl","wiki","wiki-engine","wiki-page","wikifier"],"created_at":"2024-08-01T12:04:12.934Z","updated_at":"2025-04-03T11:31:18.803Z","avatar_url":"https://github.com/cooper.png","language":"Perl","funding_links":[],"categories":["Perl","language"],"sub_categories":[],"readme":"# SUPERSEDED BY QUIKI\n\nPlease use [quiki](https://github.com/cooper/quiki) instead, a more comprehensive\nwiki suite based on the wikifier concept.\n\n# wikifier\n\nwikifier is a file-based wiki engine.\n\n## Example\n\n```\n@page.title:    wikifier;\n@page.author:   Mitchell Cooper;\n\n@category.wiki;\n@category.software;\n\ninfobox {\n    image {\n        file: wikifier-logo.png;\n    };\n    Type:           [[ Wiki engine | wp: Wiki software ]];\n    Established:    February 2013;\n    Author:         [[ Mitchell Cooper | https://github.com/cooper ]];\n    Website:        [[ wikifier on GitHub | https://github.com/cooper/wikifier ]];\n}\n\nsec {\n    wikifier is a wiki engine. It is unique because it is completely\n    file-based. There are no databases. Yet, it offers page caching, image\n    sizing, session management/authentication, and lots of other things that\n    fancy wikis use databases for.\n\n    history {\n        February 2013:  The first commit of wikifier is published.;\n        December 2013:  [[ wp: Nelson Mandela ]] passes away.;\n        February 2014:  [[ wp: Ebola virus ]] spreads across West Africa.;\n        July 2015:      [[ wp: NASA ]] takes a close-up photo of Pluto.;\n    }\n}\n\nsec [Components] {\n    wikifier is split up into several packages. They are listed below, with\n    each subsequent one built atop the previous.\n\n    sec [Wikifier] {\n        Responsible for parsing and other low-level functions. While typically\n        not used directly, this package provides the most basic implementation\n        of the wikifier language.\n    }\n\n    sec [Wikifier::Page] {\n        An object representing a single page. This package provides a\n        programming interface for working with a single wikifier page. The\n        included [c]wikifier[/c] executable uses this to read a page file and\n        output HTML.\n    }\n\n    sec [Wikifier::Wiki] {\n        A full wiki suite, capable of managing a diverse collection of content.\n        Features page categories, templates, image generation, revision\n        tracking, and much more. This package provides a programming interface\n        that can be used directly from a web server script, but running a\n        standalone wikiserver is preferred.\n    }\n\n    sec [Wikifier::Server] {\n\n        imagebox {\n            file:   wikiserver-logo.png;\n            width:  200px;\n            desc:   Wikifier::Server logo;\n        }\n\n        The included [c]wikiserver[/c] executable runs an instance of\n        Wikifier::Server. A single wikiserver can manage any number of wikis.\n        It monitors source files for changes and generates content immediately\n        as it is modified. The result is a faster page load time since the\n        content has been pregenerated.\n\n        wikiservers do not deliver the content directly to the user. Instead,\n        frontends connect to and communicate with them. These frontends, in\n        turn, make it possible to view and manage wikifier wikis from the web.\n        This makes it easy to incorporate wikifier into almost any web\n        server without having to use disgusting Perl HTTPd modules, and it\n        allows the wikiserver to perform scheduled operations independently of\n        the web server.\n    }\n}\n\nsec [Frontends] {\n    These frontends connect to a wikiserver and deliver content to end users.\n    \n    sec [quiki] {\n        [[ quiki | https://github.com/cooper/quiki ]] is a standalone web server\n        for wikifier. Because it is designed specifically for wikifier, it is by\n        far the easiest option to get a wiki up and running in a few simple\n        steps. It can be incorporated into an existing web environment using a\n        reverse proxy.\n    }\n    \n    sec [adminifier] {\n        [[ adminifier | https://github.com/cooper/adminifier ]] is a web-based\n        administrative panel to manage wikifier wikis. It is written in PHP and\n        therefore runs on a variety of web servers.\n    }\n}\n\nsec [Interfaces] {\n    These programming interfaces can be used to incorporate wikifier into\n    other web servers.\n    \n    list {\n        [[ go-wikiclient | https://github.com/cooper/go-wikiclient ]] -\n            Go programming interface;\n        [[ php-wikiclient | https://github.com/cooper/php-wikiclient ]] -\n            PHP programming interface;\n    }\n}\n```\n\n## Getting started\n\n[quiki](https://github.com/cooper/quiki) is currently the easiest way to get a\nwikifier wiki up and running.\n\nwikifier dependencies can be installed with\n```\ncpanm GD Git::Wrapper HTTP::Date HTML::Strip HTML::Entities JSON::XS URI::Escape\n```\n\n## Documentation\n\nGeneral\n* [Language](doc/language.md)           - wikifier language specification\n* [Configuration](doc/configuration.md) - wikifier configuration\n* [Blocks](doc/blocks.md)               - wikifier built-in block types\n* [Models](doc/models.md)               - wikifier templates\n* [Styling](doc/styling.md)             - wikifier + CSS\n* [Markdown](doc/markdown.md)           - wikifier + Markdown\n\nTechnical\n* [Parsing](doc/technical/parsing.md)       - wikifier parsing stages\n* [Components](doc/technical/components.md) - wikifier programming interfaces\n* [Page](doc/technical/page.md) - Wikifier::Page API\n* [Wiki](doc/technical/wiki.md) - Wikifier::Wiki API\n* [Commands](doc/technical/server-commands.md) - wikiserver commands\n\n## Contact\n\nGo to `#k` on `irc.notroll.net`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcooper%2Fwikifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcooper%2Fwikifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcooper%2Fwikifier/lists"}