Преглед на файлове

iPython+notebook syntax highlighting and allowing data:image uris

japborst преди 9 години
родител
ревизия
8e2e150be1
променени са 2 файла, в които са добавени 13 реда и са изтрити 4 реда
  1. 1 0
      lib/docs/filters/core/normalize_urls.rb
  2. 12 4
      lib/docs/filters/sphinx/clean_html.rb

+ 1 - 0
lib/docs/filters/core/normalize_urls.rb

@@ -11,6 +11,7 @@ module Docs
 
     def update_attribute(tag, attribute)
       css(tag.to_s).each do |node|
+        next if node[attribute].start_with?('data:image')
         next unless value = node[attribute]
         next if fragment_url_string?(value)
         node[attribute] = normalize_url(value)

+ 12 - 4
lib/docs/filters/sphinx/clean_html.rb

@@ -20,10 +20,18 @@ module Docs
         css('div[class*="highlight-"]').each do |node|
           pre = node.at_css('pre')
           pre.content = pre.content
-          pre['data-language'] = node['class'][/highlight\-(\w+)/, 1]
-          pre['data-language'] = 'php' if pre['data-language'] == 'ci'
-          pre['data-language'] = 'markup' if pre['data-language'] == 'html+django'
-          pre['data-language'] = 'python' if pre['data-language'] == 'default' || pre['data-language'].start_with?('python')
+          lang = node['class'][/highlight\-(\w+)/, 1]
+          lang = 'php' if lang == 'ci'
+          lang = 'markup' if lang == 'html+django'
+          lang = 'python' if lang == 'default' || lang.start_with?('python') || lang.start_with?('ipython')
+          pre['data-language'] = lang
+          node.replace(pre)
+        end
+
+        # Support code blocks in jupyter notebook files
+        css('.code_cell div.highlight').each do |node|
+          pre = node.at_css('pre')
+          pre['data-language'] = 'python'
           node.replace(pre)
         end