{"id":13555278,"url":"https://github.com/minad/olelo","last_synced_at":"2025-04-03T08:30:51.604Z","repository":{"id":492576,"uuid":"119007","full_name":"minad/olelo","owner":"minad","description":"Wiki with git backend","archived":false,"fork":true,"pushed_at":"2017-02-05T23:36:30.000Z","size":24767,"stargazers_count":241,"open_issues_count":7,"forks_count":43,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-11-04T04:31:24.495Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"sr/git-wiki","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/minad.png","metadata":{"files":{"readme":"README.creole","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":"2009-02-01T00:22:17.000Z","updated_at":"2023-04-26T18:15:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/minad/olelo","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minad%2Folelo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minad%2Folelo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minad%2Folelo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minad%2Folelo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/minad","download_url":"https://codeload.github.com/minad/olelo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246965449,"owners_count":20861869,"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":[],"created_at":"2024-08-01T12:03:07.530Z","updated_at":"2025-04-03T08:30:46.593Z","avatar_url":"https://github.com/minad.png","language":"JavaScript","readme":"= Ōlelo Wiki\n\n[[http://rubygems.org/gems/olelo|{{https://badge.fury.io/rb/olelo.png|Gem}}]]\n[[https://travis-ci.org/minad/olelo|{{https://secure.travis-ci.org/minad/olelo.png?branch=master|Build Status}}]]\n[[https://gemnasium.com/minad/olelo|{{https://gemnasium.com/minad/olelo.png?travis|Dependency Status}}]]\n[[https://codeclimate.com/github/minad/olelo|{{https://codeclimate.com/github/minad/moneta.png|Code Climate}}]]\n\nŌlelo is a wiki that stores pages in a [[http://git-scm.org/|Git]] repository, supports many markup styles and has an extensible, hackable architecture!\nIf you want to see a demo installation go to http://www.gitwiki.org/.\n\n== Features\n\nŌlelo implements a plugin system. A lot of the features are implemented as plugins and can be activated or deactivated as you wish.\n\nCore features:\n* Edit, move or delete pages\n* Page attribute editor\n* Support for hierarchical wikis (directory structure)\n* File upload\n* History, commit and diff view\n* Locales, currently supported languages Czech, English, French, German\n\nFeatures, implemented by plugins:\n* Support for many markup languages (Creole, Markdown, Textile, ...)\n* RSS/Atom changelog for whole wiki or pages\n* Section editing for Creole and Markdown markup\n* Embedded LaTeX formulas (Rendered as image or using [[http://mathjax.org/|MathJax]]\n* Syntax highlighted embedded code blocks\n* Image resizing, SVG to PNG/JPEG conversion\n* Auto-generated table of contents\n* Wiki syntax can be extended with tags (gist, math, footnotes, ...)\n* Editor preview\n* View pages as S5 presentation\n* Privacy features: Access control lists, Private wiki which needs login, readonly wiki\n\n== Quick start\n\nThe best way to install Ōlelo is via 'gem'.\n\n{{{\n$ gem install olelo\n}}}\n\nGo to a git repository via command line and start the Ōlelo webserver.\n\n{{{\n$ olelo\n}}}\n\nPoint your web browser at http://localhost:8080/. This is all you have to do, now you are good to go to use your wiki!\n\n== Installation from source\n\nInstallation from source is especially useful if you want to do development or use the newest features.\n\nClone the git repository:\n\n{{{\ngit clone git://github.com/minad/olelo.git\n}}}\n\nNow change to the Ōlelo source directory and use Bundler to install the dependencies.\n\n{{{\n$ cd olelo\n$ bundle install\n}}}\n\nStart the Ōlelo webserver from the Ōlelo source directory.\n\n{{{\n$ bin/olelo\n}}}\n\n== Deployment\n\nFor production purposes, I recommend that you deploy the wiki with [[http://unicorn.bogomips.org|Unicorn]]. You should use the rackup configuration from the Ōlelo source or gem directory.\n\n{{{\n$ unicorn path-to/config.ru\n}}}\n\nUnicorn is a very flexible ruby application server and Ōlelo runs very well on it. You can adapt the number of Unicorn workers depending on the load you expect. It is a good idea to observe the Unicorn workers as described in https://github.com/blog/519-unicorn-god and kill missbehaving workers if necessary. You can call this snippet in a cronjob which terminates all workers gracefully that need more than 100M.\n\n{{{\n#!/bin/bash\nps -e -www -o pid,rss,command | grep '[u]nicorn worker' | while read -r -a a; do\n        pid=${a[0]}\n        mem=${a[1]}\n        [[ \"$mem\" -gt 100000 ]] \u0026\u0026 kill -s QUIT $pid\ndone\n}}}\n\n== Configuration\n\nFor deployment you might want to tweak some settings. Ōlelo reads the files 'config/config.yml.default' and 'config/config.yml' in that order. So just copy the default configuration 'config/config.yml.default' to 'config/config.yml' and make your modifications. If you installed Ōlelo as gem this is not a good idea since you don't want to fiddle in the gem directory. For this purpose the environment variable '$OLELO_CONFIG' exists which\ncan point to the configuration file that you want to use.\n\n{{{\nexport OLELO_CONFIG=/home/olelo/olelo_config.yml\n}}}\n\nYou can also use the '$OLELO_CONFIG' environment variable if you want to run multiple Ōlelo instances with different configurations, for example to serve different pages from different repositories.\n\n== Setting up a private wiki using Apache\n\nAssuming the wiki server is running on localhost:5000 (e.g. unicorn), we can redirect Apache requests by adding the following\nlines to your virtual host. This works also with https.\n\n{{{\n# Private wiki\nProxyPass /wiki http://localhost:5000\nProxyPassReverse /wiki http://localhost:5000\nProxyPreserveHost On\nProxyRequests Off\nRequestHeader set X-Forwarded-Proto https\n\u003cProxy *\u003e\n  Order deny,allow\n  Allow from all\n\u003c/Proxy\u003e\n}}}\n\nIn your Ōlelo 'config.yml' you should set the following options:\n\n{{{\nbase_path: '/wiki'\n\n# Enable the private wiki plugin\ndisabled_plugins:\n  - security/readonly_wiki\n  #- security/private_wiki\n  - editor/recaptcha\n\nauthentication:\n  enable_signup: false\n}}}\n\n== Dependencies\n\nIf you installed Ōlelo as gem or used Bundler you don't really have to care about the dependencies. The standard installation provides the core dependencies and a good selection of optional dependencies.\n\nCore dependencies:\n* [[http://www.git-scm.com|Git]]\n* [[http://slim-lang.com/|Slim template language]]\n* [[http://libgit2.github.com/|Rugged git library]]\n* [[http://rack.github.com/|Rack]]\n* [[https://github.com/minad/mimemagic/|MimeMagic]]\n\nSome dependencies are optional, for example depending on the markup you want to use.\n* [[https://github.com/minad/creole|Creole markup library]]\n* [[https://github.com/vmg/redcarpet|Redcarpet Markdown library]]\n* [[http://redcloth.org/|RedCloth Textile markup library]]\n* [[http://www.imagemagick.org/|ImageMagick for image resizing]]\n* [[http://nokogiri.org/|Nokogiri for auto-generated table of contents]]\n* [[https://github.com/jayferd/rouge|Rouge for syntax highlighting of code blocks]]\n* [[https://github.com/minad/moneta/|Moneta Storage Interface]]\n\n== Development\n\n=== Important concepts\n\n* Plugin architecture\n* Aspects under 'plugins/aspects' which provide different 'views' for a page\n* Filters under 'plugins/filters' which make it possible to build up aspects from a filter chain.\n  These aspects are configured under 'config/aspects.rb'\n* Tags are provided by the 'plugins/tags/main.rb' plugin and can be integrated in a filter chain.\n  They look like html tags and can be used to extend the wiki syntax.\n\n=== Tipps\n\n* Execute 'rake --tasks' to see the available development tasks\n* Activate development mode by setting the option 'production: false' in 'config/config.yml'\n* Increase the log verbosity by setting 'log.level: DEBUG' in 'config/config.yml'\n* Do not hesitate to create an issue at the [[https://github.com/minad/olelo/issues|issue tracker]]\n\n== Authors\n\nGit-Wiki was originally developed by Simon Rozet. The development of Ōlelo to its current state was done by Daniel Mendler and contributors. The current code base doesn't have much in common with the original Git-Wiki proof-of-concept.\n\nContributors:\n* Alex Eagle\n* Alex Wall\n* Hrvoje\n* Korthaerd\n* Luca Greco\n* Pavel Suchmann\n* Raffael Schmid\n\n== License\n\nŌlelo is released under the MIT license.\n","funding_links":[],"categories":["Wikis","JavaScript","others"],"sub_categories":["Error Monitoring","Localization","文档生成器"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminad%2Folelo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fminad%2Folelo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminad%2Folelo/lists"}