jarrett / ichiban Goto Github PK
View Code? Open in Web Editor NEWA scriptable static-site compiler with the full power of Ruby.
License: MIT License
A scriptable static-site compiler with the full power of Ruby.
License: MIT License
It refers to the wrong class name.
Guard doesn't support 1.9.3. Although Guard suggests Ruby 2.2.2, most of Ichiban was developed on 2.1.0, and it still works there as far as we can tell. So Ichiban should either fail or warn if running on Ruby < 2.1.0.
We don't use it anymore.
It's not currently testing all code paths. Consider using SimpleCov.
Background: To compile JavaScript, we shell out to UglifyJS2.
Issue: If the UglifyJS2 executable is not in the $PATH
, compilation fails ungracefully.
Solution: Check if UglifyJS2 exists based on exit status of:
type uglifyjs >/dev/null 2>&1
Then check that the version is at least 2.4.10:
uglifyjs --version
Possible bug reported by a user.
When compilation fails with "RuntimeError: Layout does not exist," the backtrace should list the offending HTML file.
Probably should be solved along with #13.
Consider using ActiveSupport::BacktraceCleaner
.
Steps to reproduce: Create an HTML file. mkdir
and git mv
HTML file to new directory. You should see a blue deletion message and a green compilation message. Instead, it's a blue deletion message and an error that the destination directory doesn't exist.
Should automatically reload config.rb and recompile all.
Currently, Ichiban generates a source map and provide its URL in the minified JS file. However, Ichiban does not automatically copy the original files into the compiled folder. It should. This is necessary in order for the in-browser debugger to download the files identified in the source map. As it stands, source mapping is broken unless you manually copy the original JS files into compiled/js
.
AssetCompiler is built as if it will know how to compile all compilable assets, e.g. SCSS. Yet we do our EJS in a separate class. That's a mistake.
EJSCompiler is fairly complex. So it probably shouldn't be rolled into AssetCompiler. Thus, our policy should be that AssetCompiler only handles files that need no transformation. SCSS compilation would be moved to its own class.
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.