wiki2htmlはlivedoor wikiのような記法で書かれた テキストファイルをHTMLに変換するツールです。以下の方針に従って開発しています。
- できるだけ多くのエラーを発見する
- 設定ファイルによる記法の変更可能性
- HTMLが生成されるまでの時間は遅くない
| commit 917538814d304a01b750db8c84d3fe0e08c9e435 | |
| Author: noriaki watanabe <[email protected]> | |
| Date: Thu Mar 22 09:12:22 2012 +0900 | |
| initial commit | |
| diff --git a/src/unit.rb b/src/unit.rb | |
| new file mode 100644 | |
| index 0000000..e69de29 |
wiki2htmlはlivedoor wikiのような記法で書かれた テキストファイルをHTMLに変換するツールです。以下の方針に従って開発しています。
| module Concern | |
| def self.extended(base) | |
| base.instance_variable_set("@dependencies", []) | |
| end | |
| def append_features(base) | |
| if base.instance_variable_defined?("@dependencies") | |
| base.instance_variable_get("@dependencies") << self | |
| else | |
| super | |
| @dependencies.each {|dep| base.send(:include, dep)} |
| class Class | |
| def class_attribute name | |
| class_eval <<-RUBY, __FILE__, __LINE__ + 1 | |
| def self.#{name}() nil end | |
| def self.#{name}=(val) | |
| singleton_class.class_eval { | |
| undef_method :#{name} | |
| define_method(:#{name}) { val } | |
| } | |
| val |
| require 'erb' | |
| class ERB | |
| def self.call(source) | |
| new(source, nil, nil, '@output_buffer').src | |
| end | |
| end | |
| class Template | |
| def initialize(source, path) | |
| @path = path | |
| @source = source |
| class Node | |
| attr_reader :before, :after, :name | |
| def initialize(name, config) | |
| @name = name | |
| @before = config[:before] | |
| @before = config[:after] | |
| end | |
| def to_s | |
| @name | |
| end |
| require './hello_rack' | |
| run HelloRack.new |
| module Configurable | |
| def instance | |
| @instance ||= new | |
| end | |
| def method_missing(*args, &block) | |
| instance.send(*args, &block) | |
| end | |
| end | |
| class C | |
| extend Configurable |
| require './static' | |
| class Application | |
| class << self | |
| def instance | |
| @instance ||= new | |
| end | |
| def method_missing(*args, &block) | |
| instance.send(*args, &block) | |
| end | |
| end |
| <html> | |
| <head> | |
| <meta http-equiv="Content-Type" content="text/html;charset=utf-8" > | |
| <title>xhr2 test</title> | |
| <body> | |
| <textarea id="response"></textarea> | |
| <button id="send">send</button> | |
| <script> | |
| var txtArea = document.getElementById('response'); | |
| document.getElementById('send').addEventListener('click', function(e) { |