diff --git a/Gemfile b/Gemfile index 38da900afb..ff00fd636c 100644 --- a/Gemfile +++ b/Gemfile @@ -6,5 +6,6 @@ gemspec gem 'compass', require: false group :development do + gem 'jekyll' gem 'byebug', platforms: [:mri_21, :mri_22], require: false end diff --git a/tasks/converter.rb b/tasks/converter.rb index 10091f7111..b7a8908f21 100644 --- a/tasks/converter.rb +++ b/tasks/converter.rb @@ -24,6 +24,7 @@ require_relative 'converter/fonts_conversion' require_relative 'converter/less_conversion' require_relative 'converter/js_conversion' +require_relative 'converter/docs_conversion' require_relative 'converter/logger' require_relative 'converter/network' @@ -33,6 +34,7 @@ class Converter include LessConversion include JsConversion include FontsConversion + include DocsConversion def initialize(repo: 'twbs/bootstrap', branch: 'master', save_to: {}, cache_path: 'tmp/converter-cache-bootstrap') @logger = Logger.new @@ -44,7 +46,9 @@ def initialize(repo: 'twbs/bootstrap', branch: 'master', save_to: {}, cache_path @save_to = { js: 'assets/javascripts/bootstrap', scss: 'assets/stylesheets/bootstrap', - fonts: 'assets/fonts/bootstrap'}.merge(save_to) + fonts: 'assets/fonts/bootstrap', + docs: 'docs' + }.merge(save_to) end def_delegators :@logger, :log, :log_status, :log_processing, :log_transform, :log_file_info, :log_processed, :log_http_get_file, :log_http_get_files, :silence_log @@ -62,6 +66,7 @@ def process_bootstrap process_font_assets process_stylesheet_assets process_javascript_assets + process_docs store_version end diff --git a/tasks/converter/docs_conversion.rb b/tasks/converter/docs_conversion.rb new file mode 100644 index 0000000000..6157e96d4c --- /dev/null +++ b/tasks/converter/docs_conversion.rb @@ -0,0 +1,22 @@ +class Converter + module DocsConversion + def process_docs + log_status 'Processing docs...' + save_to = @save_to[:docs] + read_files('docs', bootstrap_doc_files).each do |name, content| + if name =~ /\.html/ + log_processing name + content = content.gsub(/\{% highlight (?:scss|less) %\}(.*?)\{% endhighlight %\}/m) { + "{% highlight scss %}#{convert_less $1}{% endhighlight %}" + } + log_processed name + end + save_file "#{save_to}/#{name}", content + end + end + + def bootstrap_doc_files + @bootstrap_doc_files ||= get_file_paths('docs') - ['_plugins/bridge.rb'] + end + end +end \ No newline at end of file