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