TODO.txt in mill-0.1 vs TODO.txt in mill-0.3
- old
+ new
@@ -1,38 +1,61 @@
-- resolve confusion between content-generation in #load vs. #final_content
- + who does what?
- + replacement/modification of HTML elements (image sizing, etc.) only happens in #load
- + maybe #final_content should have option to fully qualify URIs, etc., to handle feed content
+- initialize site by setting ivars directly, not by passing params to super's initialize()
+- create alternate sites (beta, final, etc.) by subclassing site, and changing @output or @location
+
+- rework resource URI usage
+ - 'uri' attribute should be canonical
+ - 'output_file' should be derived from @site.output_dir + uri
+ - URIs should be fully qualified
+ - start with '/'
+ - have extension according to file type
+ - referencing URIs should follow server rules (e.g., / -> /index.html)
+ - #shorten_uris should only apply to writing final files
+
+- combine @input_file & @content?
+ - if @content.kind_of?(Path): copy
+ - else: write as string
+
+- rename Resource #load to #import
+ - uses path argument instead of @input_file
+ - sets @content to path
+ - sets @date to mtime of path
+ - subclasses should:
+ - call super
+ - subclasses may:
+ - assigned @content
+ - change URI
+
+- rename Resource #build to #process
+
+- formalize widget creation & access
+ - any object that responds to #to_html
+ - doesn't have to be specific class (e.g., Mill::Widget)
+ - object that is used across site
+ - possibly with different states or parameters (eg, navigation)
+ - built from current html_fragment use
+ - eg:
+ - navigation
+ - buy buttons
+ - Google Analytics bug
+ - link to resource (<a ...>)
+ - sidebars
+ - strings (existing String extensions)
+
+- create bin/mill tool to replace Rake
+
- split Resource#date into Resource#published & Resource#updated
+ add <published> element to feed
+ #published should be stated date (e.g., from header)
+ #updated should be mtime of source file
-- refactor MIME type usage
- + allow specified type as regexp or glob (use File.fnmatch?)
- + convert to MIME::Type object(s)
-
- make Navigator into more generic Collection
+ include Enumerable
- make Resource::External for external links?
+ add on import of HTML (by examining href/src/etc attributes)
-- Rationalize resource URI usage:
- + #shorten_uris should only apply to writing final files.
- + In original content/etc., URIs should be more flexible.
- + A #convert_uris method should convert all references to proper type.
+- save compressed versions of files
+ - write compressed versions along with non-compressed
+ - serve compressed versions if asked by client
-- Compress/minify Javascript, CSS, and HTML
- + https://remino.net/rails-html-css-js-gzip-compression/
- + http://sass-lang.com/documentation/file.SASS_REFERENCE.html#_16
- + JS: https://github.com/lautis/uglifier
- + HTML: https://github.com/paolochiodi/htmlcompressor
- + CSS: https://github.com/matthiassiegel/cssminify
-
-- Write compressed versions along with non-compressed
- + Modify SimpleServer to use compressed versions if asked by client
-
-- Add MailChimp signup form generator to HTMLHelpers.
-
-- Add Google Analytics bug generator to HTMLHelpers and Mill setup.
+- add MailChimp signup form generator to HTMLHelpers
\ No newline at end of file