Class: Genit::HtmlDocument

Inherits:
Object
  • Object
show all
Defined in:
lib/genit/documents/html_document.rb

Overview

Open an html file in various format.

Class Method Summary collapse

Class Method Details

.build_page_content(file, working_dir) ⇒ Object

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 or markdown file.

Returns a String.



52
53
54
55
56
57
58
59
# File 'lib/genit/documents/html_document.rb', line 52

def self.build_page_content(file, working_dir)
  # TODO éviter le working_dir
  if file.markdown_ext?
    BlueCloth.new(IO.read(file)).to_html
  else
    Fragment.new(file, working_dir).to_html
  end
end

.genit_tags_from(file) ⇒ Object

Public: Get the list of <genit> tag in a document.

file - Nokogiri::HTML or Nokogiri::XML document.

Returns Nokogiri::XML::NodeSet.



66
67
68
# File 'lib/genit/documents/html_document.rb', line 66

def self.genit_tags_from file
  file.css "genit"
end

.open(file) ⇒ Object

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.



18
19
20
# File 'lib/genit/documents/html_document.rb', line 18

def self.open file
  Nokogiri::HTML(File.open(file))
end

.open_as_string(file) ⇒ Object

Public: Open a file as a string.

file - Full path String name of a html or markdown file.

Returns a String.



37
38
39
40
41
42
43
44
# File 'lib/genit/documents/html_document.rb', line 37

def self.open_as_string file
  string = IO.read file
  if file.markdown_ext?
    BlueCloth.new(string).to_html 
  else
    string
  end
end

.open_fragment(file) ⇒ Object

Public: Open a fragment of html document.

file - Full path String filename.

Returns a Nokogiri::HTML document.



27
28
29
30
# File 'lib/genit/documents/html_document.rb', line 27

def self.open_fragment file
  string = IO.read file
  Nokogiri::HTML.fragment string
end