Sha256: 793d868be04656f7b912d87eb07e7e7c304a6d45c4d86e0609c77a71f4c9f7af
Contents?: true
Size: 1.87 KB
Versions: 1
Compression:
Stored size: 1.87 KB
Contents
# -*- encoding: utf-8 -*- require 'nokogiri' require 'bluecloth' require 'haml' module Genit # Open an html file in various format. class HtmlDocument # Public: Open an entire html document. # If the file does not contain a <bogy> tag, a doctype, etc, they will be # automatically added. # # file - Full path String filename. # # Returns a Nokogiri::HTML document. def self.open file Nokogiri::HTML(File.open(file)) end # Public: Open a fragment of html document. # # file - Full path String filename. # # Returns a Nokogiri::HTML document. def self.open_fragment file string = IO.read file Nokogiri::HTML.fragment string end # Public: Open a file as a string. # # file - Full path String name of a html or markdown file. # # Returns a String. def self.open_as_string file string = IO.read file if file.markdown_ext? BlueCloth.new(string).to_html elsif file.haml_ext? Haml::Engine.new(string, :format => :xhtml).render else string end end # Public: Open a file as a string, taking care of fragment tags. # All fragment tags are replaced by a new content. # # file - Full path String name of a (html|markdown|haml) file. # # Returns a String. def self.build_page_content(file, working_dir) # TODO éviter le working_dir str = IO.read(file) if file.markdown_ext? BlueCloth.new(str).to_html elsif file.haml_ext? Haml::Engine.new(str, :format => :xhtml).render else Fragment.new(file, working_dir).to_html end end # Public: Get the list of <genit> tag in a document. # # file - Nokogiri::HTML or Nokogiri::XML document. # # Returns Nokogiri::XML::NodeSet. def self.genit_tags_from file file.css "genit" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
genit-2.1 | lib/genit/documents/html_document.rb |