Founder & CEO at Calibre
benschwarz / bonsai Goto Github PK
View Code? Open in Web Editor NEWA tiny static web site generator
Home Page: http://tinytree.info/
License: MIT License
A tiny static web site generator
Home Page: http://tinytree.info/
License: MIT License
children is not sorted currently.
.sort_by{|p| p.disk_path }
should be added to lib/bonsai/page.rb:105
There is a conflict when installing the bonsai gem. Bonsai requires tilt ~> 0.9 in order to have mustache support, however recent sinatra versions require a newer version of tilt.
I would suggest dropping mustache, since it's no longer supported in tilt, and going with liquid as the default. If that's too unpalatable, then you should require sinatra ~> 1.0.b.
I'm sad to see this project fall into disrepair. I wanted to use it for a website, but unfortunately I have to turn it down in favor of nanoc due to lack of support.
With mustache 0.10.0 and bonsai 1.3.0, I am getting the error:
/bonsai-1.3.0/lib/bonsai/page.rb:117:in `==': undefined method `permalink' for #<Mustache::Context:0x00000102ff0128> (NoMethodError)
I tried removing all references to {{permalink}} in my templates, so I don't think it's something I'm just invoking incorrectly. The call stack is:
PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/bonsai-1.3.0/lib/bonsai/page.rb:117:in `==': undefined method `permalink' for #<Mustache::Context:0x00000102ff0128> (NoMethodError)
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/mustache-0.10.0/lib/mustache/context.rb:87:in `block in fetch'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/mustache-0.10.0/lib/mustache/context.rb:85:in `each'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/mustache-0.10.0/lib/mustache/context.rb:85:in `fetch'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/mustache-0.10.0/lib/mustache/context.rb:67:in `[]'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/mustache-0.10.0/lib/mustache/template.rb:45:in `block in render'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/mustache-0.10.0/lib/mustache/template.rb:45:in `map'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/mustache-0.10.0/lib/mustache/template.rb:45:in `render'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/mustache-0.10.0/lib/mustache/template.rb:44:in `render'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/mustache-0.10.0/lib/mustache.rb:340:in `render'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/mustache-0.10.0/lib/mustache/context.rb:31:in `partial'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/mustache-0.10.0/lib/mustache/template.rb:40:in `render'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/mustache-0.10.0/lib/mustache/template.rb:44:in `render'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/mustache-0.10.0/lib/mustache.rb:340:in `render'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/mustache-0.10.0/lib/mustache/context.rb:31:in `partial'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/mustache-0.10.0/lib/mustache/template.rb:40:in `render'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/mustache-0.10.0/lib/mustache/template.rb:44:in `render'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/mustache-0.10.0/lib/mustache.rb:336:in `render'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/tilt-0.8/lib/tilt.rb:697:in `evaluate'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/tilt-0.8/lib/tilt.rb:131:in `render'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/bonsai-1.3.0/lib/bonsai/page.rb:121:in `render'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/bonsai-1.3.0/lib/bonsai/exporter.rb:45:in `block in write_index'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/bonsai-1.3.0/lib/bonsai/exporter.rb:45:in `open'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/bonsai-1.3.0/lib/bonsai/exporter.rb:45:in `write_index'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/bonsai-1.3.0/lib/bonsai/exporter.rb:23:in `publish!'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/bonsai-1.3.0/bin/bonsai:56:in `block (2 levels) in <top (required)>'
from PATH_TO_RUBY/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/optparse.rb:1302:in `call'
from PATH_TO_RUBY/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/optparse.rb:1302:in `block in parse_in_order'
from PATH_TO_RUBY/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/optparse.rb:1258:in `catch'
from PATH_TO_RUBY/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/optparse.rb:1258:in `parse_in_order'
from PATH_TO_RUBY/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/optparse.rb:1252:in `order!'
from PATH_TO_RUBY/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/optparse.rb:1343:in `permute!'
from PATH_TO_RUBY/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/optparse.rb:1364:in `parse!'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/gems/bonsai-1.3.0/bin/bonsai:74:in `<top (required)>'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/bin/bonsai:19:in `load'
from PATH_TO_RUBY/gems/ruby-1.9.1-p378/bin/bonsai:19:in `<main>'
Something in page.rb is ignoring filetype when looking at filename to assess hierarchy, so that images, for example, named "1.jpg" will be copied to the output directory as "jpg" and can't be served properly.
Which will cause a server redirect to /permalink/
when using a published site.
I get the following error whenever I try to use bonsai from the commandline:
/Library/Ruby/Site/1.8/rubygems.rb:233:in `activate': can't activate rack (= 1.1.0, runtime) for ["bonsai-1.3.1"], already activated rack-1.2.1 for ["sinatra-0.9.4", "bonsai-1.3.1"] (Gem::LoadError)
from /Library/Ruby/Site/1.8/rubygems.rb:249:in `activate'
from /Library/Ruby/Site/1.8/rubygems.rb:248:in `each'
from /Library/Ruby/Site/1.8/rubygems.rb:248:in `activate'
from /Library/Ruby/Site/1.8/rubygems.rb:1082:in `gem'
from /usr/bin/bonsai:18
Using Mac OS X 10.6.4, Ruby 1.87
.
after having some trouble during install therubyracer and the tilt dependency issue got the stuff working, but now the --report function will not work.
% bonsai -r
Copying page assets
/usr/lib64/ruby/gems/1.8/gems/bonsai-1.3.2/lib/bonsai/exporter.rb:115:in `generate_css': uninitialized constant Less::SyntaxError (NameError)
from /usr/lib64/ruby/gems/1.8/gems/bonsai-1.3.2/lib/bonsai/exporter.rb:92:in `copy_public'
from /usr/lib64/ruby/gems/1.8/gems/bonsai-1.3.2/lib/bonsai/exporter.rb:21:in `publish!'
from /usr/lib64/ruby/gems/1.8/gems/bonsai-1.3.2/bin/bonsai:58
from /usr/lib64/ruby/1.8/optparse.rb:1298:in `call'
from /usr/lib64/ruby/1.8/optparse.rb:1298:in `parse_in_order'
from /usr/lib64/ruby/1.8/optparse.rb:1254:in `catch'
from /usr/lib64/ruby/1.8/optparse.rb:1254:in `parse_in_order'
from /usr/lib64/ruby/1.8/optparse.rb:1248:in `order!'
from /usr/lib64/ruby/1.8/optparse.rb:1339:in `permute!'
from /usr/lib64/ruby/1.8/optparse.rb:1360:in `parse!'
from /usr/lib64/ruby/gems/1.8/gems/bonsai-1.3.2/bin/bonsai:76
from /usr/bin/bonsai:19:in `load'
from /usr/bin/bonsai:19
I'm not sure this is an "issue" as such, but I was wondering if anyone is using Cucumber and/or Webrat for testing static sites generated with Bonsai?
Stu
$ gem -v
1.8.10
$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.3.0]
$ gem install bonsai
Fetching: rack-protection-1.2.0.gem (100%)
Fetching: tilt-1.3.3.gem (100%)
Fetching: sinatra-1.3.2.gem (100%)
Fetching: builder-3.0.0.gem (100%)
Fetching: watch-0.1.0.gem (100%)
Fetching: launchy-2.1.0.gem (100%)
Fetching: activesupport-3.2.6.gem (100%)
Fetching: sass-3.1.20.gem (100%)
Fetching: bonsai-1.4.6.gem (100%)
ERROR: Error installing bonsai:
bonsai requires bonsai (>= 0)
gem install bonsai --ignore-dependencies # works fine
gem install bonsai # works fine once bonsai is installed
$ bonsai --plant bonsai-test
/Users/danielheath/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/requirement.rb:41: stack level too deep (SystemStackError)
It looks as though bonsai is requiring bonsai (infinite recursion)
I've been giving Bonsai a try and found there wasn't a clear 'preferred way' to do something, so I thought I'd ask what you thought.
I've been using Coffeescript for awhile now, and it seems like the best way to go, but I don't really want anything dynamic for it other than generating the static .js files.
Nor do I want it showing up in the navigation.
Should it go under public/js (like LessCSS files do)?
Hi there,
I have created a scss
folder in the public
folder, but when I run bonsai --repot
the scss
folder gets copied in output
as it is and doesn't compile.
I'm getting this when I run bonsai --repot
:
Copying page assets
CSS Syntax error
Undefined variable: "$space".
Copying public files
Compressing javascript and stylesheets
Writing index
Writing pages
Writing page - /index/
Writing page - /contatto/
Writing page - /lavori/
Writing page - /tecniche/maple/
Writing page - /tecniche/fig/
Writing page - /tecniche/
Writing page - /tecniche/magic/
Writing sitemap
Writing ABOUT-THIS-SITE
Maybe the CSS Syntax error
has something to do with this?
I'm pretty sure that the Sass is ok, I got it from here
Thanks for any help.
The variables in the array include all files in the folder e.g. images. how can also the files of subfolders be included e.g. of images/summer. this would help to organize a large stock.
ruby -v ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]
Building native extensions. This could take a while... ERROR: Error installing bonsai: ERROR: Failed to build gem native extension. current directory: /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby -r ./siteconf20200113-779-1uovf7c.rb extconf.rb mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/include/ruby.h
The directory names in the content tree are transformed into navigational links on the generated pages. While the URL-encoding for the actual URLs is done correctly, the link text is lacking the umlaut glyphs. Instead there are two blanks, which indicates that there is something wrong with the UTF-8 transcoding.
LANG=en_US.UTF-8 is set for the shell.
I really like Bonsai and i would like to add mustache templates to it, although I know Tilt doesn't suport it. How do I have to proceed? Do I need to fork your project?. Do you think it's a bad idea? Is there anything against using it in parallel but separated from tilt. Sorry github and gem newbie here this will be the first fork for me, I don't know ethics or etiquette of doing it.
Whenever I cultivate, the server looks for my css files inside of ROOT/content/css. Shouldn't this be looking for CSS inside the ROOT/public/docs/css or ROOT/output/docs/css?
$ bonsai --cultivate
盆栽
bonsai, tiny and beautiful
Copying public files
Copying page assets
Copying public files
Copying page assets
>> Thin web server (v1.2.5 codename This Is Not A Web Server)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:5000, CTRL+C to stop
!! Unexpected error while processing request: page 'css/base.css' not found at '/Users/test/Sites/rails/test/content'
!! Unexpected error while processing request: page 'css/base.css' not found at '/Users/test/Sites/rails/test/content'
I don't understand the logic behind storing css & js dirs inside a docs directory as well.
"docs" is commonly used for documentation (ie: rdocs etc), while "css" & "js" are commonly used at the root of the server.
Is it an implementation issue, or just your preference?
Currently a magic file's metadata contains a 'name' property, its simply the basename of a file.
I haven't used this yet. I'm changing it to be name - titlecased.
It would be great if there was an option to use a relative path (not starting with /) instead of absolute paths for links to other pages or references to JS or CSS. Right now, I'm absolute (/) paths to my CSS and JS files, but that only works if the site is installed under a well known root. Or am I missing something?
It should contain
.DS_Store
output/*
bonsai -r
Copying page assets
Copying public files
Compressing javascript and stylesheets
/var/lib/gems/1.9.1/gems/yui-compressor-0.12.0/lib/yui/compressor.rb:96:in `rescue in block in compress': compression failed: No such file or directory - java -jar /var/lib/gems/1.9.1/gems/yui-compressor-0.12.0/lib/yui/../yuicompressor-2.4.8.jar --type css --charset utf-8 /tmp/yui_compress20151228-2842-1st3mu8 (YUI::Compressor::RuntimeError)
from /var/lib/gems/1.9.1/gems/yui-compressor-0.12.0/lib/yui/compressor.rb:99:in `block in compress'
from /var/lib/gems/1.9.1/gems/yui-compressor-0.12.0/lib/yui/compressor.rb:141:in `streamify'
from /var/lib/gems/1.9.1/gems/yui-compressor-0.12.0/lib/yui/compressor.rb:86:in `compress'
from /var/lib/gems/1.9.1/gems/bonsai-1.4.9/lib/bonsai/exporter.rb:50:in `block (2 levels) in compress_asset_path'
from /var/lib/gems/1.9.1/gems/bonsai-1.4.9/lib/bonsai/exporter.rb:49:in `open'
from /var/lib/gems/1.9.1/gems/bonsai-1.4.9/lib/bonsai/exporter.rb:49:in `block in compress_asset_path'
from /var/lib/gems/1.9.1/gems/bonsai-1.4.9/lib/bonsai/exporter.rb:47:in `each'
from /var/lib/gems/1.9.1/gems/bonsai-1.4.9/lib/bonsai/exporter.rb:47:in `compress_asset_path'
from /var/lib/gems/1.9.1/gems/bonsai-1.4.9/lib/bonsai/exporter.rb:42:in `compress_assets'
from /var/lib/gems/1.9.1/gems/bonsai-1.4.9/lib/bonsai/exporter.rb:23:in `publish!'
from /var/lib/gems/1.9.1/gems/bonsai-1.4.9/bin/bonsai:56:in `block (2 levels) in <top (required)>'
from /usr/lib/ruby/1.9.1/optparse.rb:1391:in `call'
from /usr/lib/ruby/1.9.1/optparse.rb:1391:in `block in parse_in_order'
from /usr/lib/ruby/1.9.1/optparse.rb:1347:in `catch'
from /usr/lib/ruby/1.9.1/optparse.rb:1347:in `parse_in_order'
from /usr/lib/ruby/1.9.1/optparse.rb:1341:in `order!'
from /usr/lib/ruby/1.9.1/optparse.rb:1432:in `permute!'
from /usr/lib/ruby/1.9.1/optparse.rb:1453:in `parse!'
from /var/lib/gems/1.9.1/gems/bonsai-1.4.9/bin/bonsai:80:in `<top (required)>'
from /usr/local/bin/bonsai:23:in `load'
from /usr/local/bin/bonsai:23:in `<main>'
Hi, it kinda looks like this project is dead, but I thought you and those looking at this project should know that the version of the YUI Compressor used has issues with media queries. This means that when you bonsai --cultivate everything looks peachy keen, but when you go to bonsai --repot the YUI Compressor breaks your fancy responsive website.
See http://yuilibrary.com/projects/yuicompressor/ticket/2527986 for an explanation.
TL;DR YUI Compressor needs to be updated.
Self explanatory.
I have a binary, there is no man page.
The index page should only exist as /index.html. Right now, Bonsai generates /index.html AND /index/index.html. Both are put into the sitemap.xml as well. This is bad for all sorts of reasons.
http://github.com/benschwarz/bonsai/blob/master/lib/bonsai/sitemap.rb#L16 was identified as the source for it going into the sitemap (checking === '/index' is wrong, as permalinks have trailing slashes now).
Just found out about Bonsai, and is trying it out, but I found this issue:
How do you access the variables in the site.yml file inside your templates/partials ?
Haven't got the time to carefully study the code atm, but I couldn't get it after a quick glance.
Want to have an own array with MyVarsDrop.rb on indexlevel (next to site.yml)
class MyVarsDrop < Liquid::Drop
def array
[1,2,3,4,5,6,7]
end
end
but cant call it in my liquid files ( tried {{array}} and {{MyVarsDrop}}
I know Tilt supports CoffeeScript, but Bonsai doesn't compile it like it does SASS. Could this be implemented?
Link in "Built with Bonsai" in footer of default page points to www.tinytree.info instead of tinytree.info, and ends up showing an error.
Dear Ben, just pointing this out to say thank you for Bonsai. You choose where to fix the "Issue"
I tried installing bonsai using sudo gem install bonsai
but it seems to be having some problems resolving its dependencies.
On first run it complained it was "Unable to resolve dependencies: bonsai requires tilt (~> 0.9.0)". So I manually installed tilt 0.9.0. After that I tried installing bonsai again and it said it was "Unable to resolve dependencies: sinatra requires tilt (< 2.0, >= 1.2.2)".
At this stage I removed tilt 0.9.0 and installed 1.3.3 but bonsai’s installation insisted I needed 0.9.0. In order for bonsai’s installation to go through I ended up having to have both versions of tilt installed but then bonsai can’t run because it’s "Unable to activate sinatra-1.2.6, because tilt-0.9 conflicts with tilt (< 2.0, >= 1.2.2)":
/usr/local/lib/ruby/site_ruby/1.8/rubygems/specification.rb:1615:in`raise_if_conflicts': Unable to activate sinatra-1.2.6, because tilt-0.9 conflicts with tilt (< 2.0, >= 1.2.2) (Gem::LoadError)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/specification.rb:738:in `activate'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/specification.rb:764:in`activate_dependencies'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/specification.rb:758:in `each'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/specification.rb:758:in`activate_dependencies'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/specification.rb:742:in `activate'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:1211:in`gem'
from /usr/local/bin/bonsai:18
FYI:
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10.8.0]
$ gem --version
1.8.10
I apologise if this is an issue specific to my dev environment but I just can’t seem to find a way around it.
/index.html should be written
/index/index.html should not be written
If a folder in content contains unicode characters, it fails to match in Page.find
on this line of code:
disk_path = Dir["#{path}/*#{search_path}/*.yml"]
I'm not sure how to fix it, but it seems Dir
is a bit allergic to this sort of thing.
Example (using bonsai's support content with added folder):
1.9.2-p318 :127 > pp Dir["spec/support/content/*"]
["spec/support/content/1.about-us",
"spec/support/content/10.many-pages",
"spec/support/content/2.products",
"spec/support/content/3.unicode-æøå",
"spec/support/content/index",
"spec/support/content/legals",
"spec/support/content/render"]
1.9.2-p318 :128 > Dir["spec/support/content/*unicode-æøå"]
=> []
1.9.2-p318 :129 > Dir["spec/support/content/*about-us"]
=> ["spec/support/content/1.about-us"]
Since Navigation
relies on the the converted foldernames, it means there is no way to have a page with a unicode title.
It seems Ruby has these notorious unicode issues, so perhaps a solution would be, to add a manual override of the default behaviour for extracting navigation items. E.g. in the case of the presence of a specially named .yml
file, read the name and title from from that file, instead of inferring it from the parent foldername?
If a top level directory has spaces in its name, the {{slug}} also has spaces.
Got this output when updating the gem..
1.9.1 on OS X.
Installing ri documentation for bonsai-1.1.4...
Unrecognized directive 'headline' in lib/bonsai/templates/content/1.varieties/1.fig/default.yml
Unrecognized directive 'headline' in lib/bonsai/templates/content/1.varieties/2.maple/default.ymlUnrecognized directive 'body' in lib/bonsai/templates/content/1.varieties/1.fig/default.yml
Unrecognized directive 'body' in lib/bonsai/templates/content/1.varieties/2.maple/default.yml
Unrecognized directive 'headline' in lib/bonsai/templates/content/2.cultivation/default.ymlUnrecognized directive 'headline' in lib/bonsai/templates/content/1.varieties/products.yml
Unrecognized directive 'body' in lib/bonsai/templates/content/2.cultivation/default.yml
Unrecognized directive 'headline' in lib/bonsai/templates/content/3.history/default.ymlUnrecognized directive 'headline' in lib/bonsai/templates/content/index/default.yml
Unrecognized directive 'body' in lib/bonsai/templates/content/3.history/default.ymlUnrecognized directive 'body' in lib/bonsai/templates/content/index/default.yml
Unrecognized directive 'site_name' in lib/bonsai/templates/site.yml
Unrecognized directive 'url' in lib/bonsai/templates/site.yml
Unrecognized directive 'copyright' in lib/bonsai/templates/site.yml
Building YARD (yri) index for bonsai-1.1.4...
ERROR: While generating documentation for bonsai-1.1.4
... MESSAGE: No such file or directory - Could not find extra file: README.rdoc
... YARDDOC args: -c -n --quiet lib - LICENSE README.md
(continuing with the rest of the installation)
Installing RDoc documentation for bonsai-1.1.4...
Unrecognized directive 'headline' in lib/bonsai/templates/content/1.varieties/1.fig/default.yml
Unrecognized directive 'body' in lib/bonsai/templates/content/1.varieties/1.fig/default.yml
Unrecognized directive 'headline' in lib/bonsai/templates/content/1.varieties/2.maple/default.yml
Unrecognized directive 'body' in lib/bonsai/templates/content/1.varieties/2.maple/default.yml
Unrecognized directive 'headline' in lib/bonsai/templates/content/1.varieties/products.yml
Unrecognized directive 'headline' in lib/bonsai/templates/content/2.cultivation/default.yml
Unrecognized directive 'body' in lib/bonsai/templates/content/2.cultivation/default.ymlUnrecognized directive 'headline' in lib/bonsai/templates/content/3.history/default.yml
Unrecognized directive 'body' in lib/bonsai/templates/content/3.history/default.yml
Unrecognized directive 'headline' in lib/bonsai/templates/content/index/default.yml
Unrecognized directive 'body' in lib/bonsai/templates/content/index/default.yml
Unrecognized directive 'site_name' in lib/bonsai/templates/site.yml
Unrecognized directive 'url' in lib/bonsai/templates/site.yml
Unrecognized directive 'copyright' in lib/bonsai/templates/site.yml
When attempting to install via:
gem install bonsai --source http://gemcutter.org
The command line kicks back the following error:
ERROR: While executing gem ... (ArgumentError)
Illformed requirement ["#YAML::Syck::DefaultKey:0x102feb6d8 1.0"]
This is more of a suggestion for a feature I guess than an issue.
I've started out using Bonsai but have quickly realised that I want to be able to add some sass mixins to make life a little bit easier when working with cross browser compatibility.
The most commonly used library for doing this is Compass but a new and possibly sexier upcoming one called Bourbon is another alternative. Like most things here there are probably another ten that exist and I've never heard of.
What I'm asking is, would it be possible to have some way of using one of these things without totally skewing Bonsai to one really specific niche? Both of the ones I've mentioned come in a gem form so I wonder if it might be possible to have some optional way of including them, so people can choose to use them or not, or if there's some way that one could specify a flag for the development server that might let you use their files.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.