{"id":13819936,"url":"https://github.com/benschwarz/bonsai","last_synced_at":"2025-04-13T02:16:34.054Z","repository":{"id":741589,"uuid":"392480","full_name":"benschwarz/bonsai","owner":"benschwarz","description":"A tiny static web site generator","archived":false,"fork":false,"pushed_at":"2014-01-21T23:10:39.000Z","size":6590,"stargazers_count":297,"open_issues_count":9,"forks_count":38,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-04-13T02:15:58.453Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://tinytree.info/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/benschwarz.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES","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-12-02T06:41:11.000Z","updated_at":"2025-03-23T14:15:13.000Z","dependencies_parsed_at":"2022-08-16T10:45:26.047Z","dependency_job_id":null,"html_url":"https://github.com/benschwarz/bonsai","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benschwarz%2Fbonsai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benschwarz%2Fbonsai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benschwarz%2Fbonsai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benschwarz%2Fbonsai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benschwarz","download_url":"https://codeload.github.com/benschwarz/bonsai/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248654105,"owners_count":21140237,"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-04T08:00:55.122Z","updated_at":"2025-04-13T02:16:34.024Z","avatar_url":"https://github.com/benschwarz.png","language":"Ruby","funding_links":[],"categories":["Happy Exploring 🤘","Ruby"],"sub_categories":[],"readme":"# bonsai\n\n![Build status](https://secure.travis-ci.org/benschwarz/bonsai.png?branch=master \"Build status\")\n\nBonsai is a static web site generator, it uses the best tools available for site construction and adheres to best web practices.\n\n## What it does\n\n  * Provides a tiny HTML5, [liquid](http://liquidmarkup.org/) driven template set.\n  * Implies a simple structure to get started faster.\n  * An inbuilt server for development. No setup required.\n  * Tasks to export the site to `output`. Upload the contents of `output`. Job done.\n  * Access to page hierarchy through `children`, `siblings`, `ancestors` and `navigation`.\n  * Generates `sitemap.xml` ready for search engines to spider your site.\n  * Generates `robots.txt` to be friendly to search engines.  \n  \n## Getting started\n\n  * Install bonsai \n\n    `gem install bonsai`\n\n  * Run the generator\n\n    `bonsai --plant [NAME]`\n\nType `bonsai --help` for any help with commands\n\n## Presentation\n\n* Introducing Bonsai - at Melbourne Ruby, January 2010\n\n  * [Video](http://vimeo.com/9537550) (with slides)\n  * [Slides](http://www.slideshare.net/benschwarz/introducing-bonsai)\n\n\n## Development server\n\nUnlike other static generators, bonsai provides you with a built in web server. Once you've generated the necessary files (generator included) you can simply start developing. Type `bonsai --cultivate` in the root of the generated site, a web server (rack, with thin) will start up. \n\nIt will also watch for when you save files - taking care of processing your [sass](http://sass-lang.com/) files - kind of like [autotest](http://www.zenspider.com/ZSS/Products/ZenTest/).\n\n## Production server\n\nThis is the cool part. Drop a bonsai generated site under pretty much anything. Apache, Nginx, Lighttpd - I don't care.\n\nThe generator will provide you with a .htaccess file that will turn on gzip/deflate compression for static assets as well as set long standing http caching timestamps and etags.\n\n### Deployment\n  * Run `bonsai --repot`\n  * Upload the contents of `site-root/output` to your production server\n    * For example: `rsync -ave ssh ./output/ tinytree.info:/var/www/tinytree.info`\n    \n## Ruby implementations\n\nBonsai runs under a number of Ruby implementations, MRI (1.8.7, 1.9.1, 1.9.2, 1.9.3), RBX (1.8 mode), JRuby (1.8 mode, 1.9 mode). Check [travis](http://travis-ci.org/#!/benschwarz/bonsai) to see the specifics. \n\n## Have you used this for a real job? \n\nYes. I built (and content filled) a web site with around 160 pages in 5 days.\n\nWhen I found something that didn't quite work, was too slow or perhaps not even possible I wrote a spec and implemented it later. Better software from real requirements. (I used every feature I implemented)\n\n## Links\n\n  * [Tilt](http://github.com/rtomayko/tilt)\n  * [SASS](http://sass-lang.com/)\n  * [YUI CSS/Javascript compressor](http://developer.yahoo.com/yui/compressor/)\n\n\n## Thanks\n  \n  * [Anthony Kolber](http://github.com/kolber) for writing, then rewriting [Stacey](http://github.com/kolber/stacey) from scratch. We spent many hours talking about best practice and software UX.\n  * [Lincoln Stoll](http://github.com/lstoll) for reminding me to use the tools that I know best\n  \n## Credits\n  * [Rohit Arondekar](http://github.com/rohit)\n  * [Justin Ridgewell](git://github.com/somedumbme91)\n  * [Ralph von der Heyden](http://github.com/ralph)\n  * [David Goodlad](http://github.com/dgoodlad)\n  * [Philip Harrison](http://github.com/Harrison)\n\n## Note on Patches/Pull Requests\n \n* Fork the project.\n* Make your feature addition or bug fix.\n* Add tests for it. This is important so I don't break it in a\n  future version unintentionally.\n* Commit, do not mess with rakefile, version, or history.\n  (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)\n* Send me a pull request. Bonus points for topic branches.  \n\n## Copyright\n\nCopyright (c) 2010 Ben Schwarz. See LICENSE for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenschwarz%2Fbonsai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenschwarz%2Fbonsai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenschwarz%2Fbonsai/lists"}