{"id":22981042,"url":"https://github.com/rubyworks/smeagol","last_synced_at":"2025-06-10T18:05:29.175Z","repository":{"id":56896240,"uuid":"916434","full_name":"rubyworks/smeagol","owner":"rubyworks","description":"Read-Only Gollum Server","archived":false,"fork":false,"pushed_at":"2015-02-27T17:58:37.000Z","size":752,"stargazers_count":92,"open_issues_count":13,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-24T19:48:11.046Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://rubyworks.github.com/smeagol","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubyworks.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-09-16T18:45:00.000Z","updated_at":"2021-12-03T08:58:23.000Z","dependencies_parsed_at":"2022-08-21T01:50:33.774Z","dependency_job_id":null,"html_url":"https://github.com/rubyworks/smeagol","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubyworks%2Fsmeagol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubyworks%2Fsmeagol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubyworks%2Fsmeagol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubyworks%2Fsmeagol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubyworks","download_url":"https://codeload.github.com/rubyworks/smeagol/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229773540,"owners_count":18122031,"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-12-15T01:46:50.046Z","updated_at":"2024-12-15T01:46:50.642Z","avatar_url":"https://github.com/rubyworks.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"Smeagol - A Read-Only Gollum Server\n===================================\n\n[Website](http://rubyworks.github.com/smeagol) |\n[Documentation](http://rubydoc.info/rubyworks/smeagol) |\n[Source Code](http://github.com/rubyworks/smeagol) |\n[Report Issue](http://github.com/rubyworks/smeagol/issues)\n\n\n**Smeagol is up for adoption if anyone finds it useful and would like to take over\nit's development. Please get in touch either via email or posting an issue.**\n\nSmeagol is a server that can run a read-only version of a\n[Gollum](http://github.com/github/gollum) wiki. This can be useful when you\nwant to maintain a standalone website, but you want to update it through\nthe Gollum wiki interface, e.g. via GitHub.\n\nSmeagol follows the rules of [Semantic Versioning](http://semver.org/) and uses\n[TomDoc](http://tomdoc.org/) for inline documentation.\n\n\n## STATUS\n\n[![Build Status](https://secure.travis-ci.org/rubyworks/smeagol.png)](http://travis-ci.org/rubyworks/smeagol)\n\nCurrently Smeagol's core functionaily works, but it needs some love to clean up\nsome rough spots.\n\n\n## INSTALLATION\n\nYou can install Smeagol with RubyGems:\n\n    $ [sudo] gem install smeagol\n\nAnd then, if you want code highlighting, follow the\n[Installation Guide](http://pygments.org/docs/installation) for Pygments.\n\nTa da! You're ready to go.\n\nOf course, the first thing you need to do is clone your Gollum wiki repo.\n\n    $ git clone git@github.com:user/user.github.com.git\n\n\n## USAGE\n\n### Previewing\n\nTo preview your site via smeagol, simply change directories to your Gollum repository\nand run `smeagol preview` from the command line:\n\n    $ cd /path/to/repo\n    $ smeagol preview\n\nThis will run a web server at `http://localhost:4567`. You can change the port\nby setting the `--port` or `-p` option on the command line.\n\n### Customizing\n\nOf course, you want to customize your site to suit your style. To do this you\nneed to add some Smeagol support files. Use the `init` command to have Smeagol\nput the default files in place.\n\n    $ cd path/to/wiki\n    $ smeagol init\n\nIn your wiki this will add a few files. One of these is `_config.yml` which you\nuse to configure Smeagol for your site. See CONFIGURATION below.\n\nThere will also be a file called `_layouts/page.mustache`. Using Mustache templating\nuse this file to create a custom page layout for your site. To learn more\nabout the variables available for use in this template see\nthe [Smeagol Wiki](http://github.com/rubyworks/smeagol/wiki).\n\nBe sure to add these files to your repo and commit them. (You can just check\nthese files in and push to the server. It will not effect you Gollum\nwiki in any way.)\n\n### Configuration\n\nIf you are familiar with Jekyll, the static site generator, you will notice \nthat Smeagol follows the same convensions fairly closely. This has been done\nto reduce congnative load for those of us who use both tools, and to simplify\ntransition to a static site should that ever needed.\n\nThe `_config.yml` file allows you to configure certain behaviors of Smeagol.\nAn example `_config.yml` file:\n\n    ---\n    port: 4000\n    host: 127.0.0.1\n    baseurl: \"\" # does not include hostname\n    sourceurl: http://github.com/trans\n\n    title: 7R4N5.C0D3\n    author: trans\n    description:\n      Trans Programming Blog\n\n    menu:\n    - title: Homepage\n      href: \"/\"\n    - title: RSS Feed\n      href: \"/rss.xml\"\n    - title: Projects\n      href: \"http://github.com/trans\"\n\nSee the API documentation for more details about each field.\n\n**NOTE** The `menu` entry will be probably be deprecated in favor of just\nediting templates.\n\n### Serving\n\nSmeagol can serve multiple Gollum repos simulataneously. To do this\ncreate a configuration file at `~/.smeagol/config.yml`. An example file\nlooks like this:\n\n    ---\n    port: 3000\n    auto_update: true\n    cache_enabled: true\n    repositories:\n      - path: ~/websites/acme/wiki\n        cname: acme.org\n        origin: 'git@github.com:acme/acme.wiki.git'\n        ref: master\n        bare: false\n        secret: X123\n\nThen to serve the listed repositories use:\n\n    $ smeagol serve\n\n### Updating\n\nThere are two ways to handle updates of the repository through Smeagol: \n*automatic updating* and *manual updating*.\n\nTo setup Smeagol to automatically update your repository in fixed intervals,\nsimply pass the `--auto-update` option in the `smeagol-serve` command and Smeagol\nwill automatically perform a `git pull origin master` on your repository once\nper day.\n\nTo perform a manual update, simply go to the `update` route, e.g. `http://localhost:4567/update`,\nand Smeagol will perform a git pull. Of course, change the URL appropriately\nfor your hostname and port.\n\n\n## ROADMAP\n\nThe most recent versions of Smeagol had focused on adding static site generation\nto the project. This goal has now been dropped. Static site generation, it turns \nout, is not an important goal for Smeagol becuase that can accomplished using\nother tools, particularly Jekyll, with only a modicum of extra work. In that\nlight, we are currently updating Smeagol's configuration defaults to be as\nsimilar to Jekyll's as possible. This will facilitate the transition to static\nshould that ever be required and more generally reduce the cognative load on\ndevelopers. This also means the Liquid templating engine will likely be supported\nin the future, as an alterntive to the current Mustache engine.\n\n\n## CONTRIBUTING\n\nHave a great idea for Smeagol? Awesome. Fork the repository and add a feature\nor fix a bug. There are a couple things we ask:\n\n* Create an appropriately named topic branch that contains your change.\n* Please try to provide tests for all code you check in.\n* Use an apprpriate commit tag, such as `:doc:`, `:test:`, etc.\n\nNote that Smeagol uses Citron and AE for testing. And admittedly this project\nis waterfalling too much at present. So if you would like to contribute, but\ndon't have any specific request, writing a few tests would be a great help.\n\n\n## COPYRIGHTS\n\nSmeagol is distributed under the terms of the **BSD-2-Clause** license.\n\n* Copyright 2012 Rubyworks\n* Copyright 2009 Ben Johnson\n\nPlease see LICENSE.txt file for details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubyworks%2Fsmeagol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frubyworks%2Fsmeagol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubyworks%2Fsmeagol/lists"}