Sha256: fe7cc863f588a5b830fcc1b3f2642e4108b02155dda37c18e4fdeab2215275a3

Contents?: true

Size: 616 Bytes

Versions: 3

Compression:

Stored size: 616 Bytes

Contents

module Playgroundbook
  class PageParser
    def parse_chapter_pages(chapter_contents)
      # Looks for //// PageName separators.
      page_names = chapter_contents.scan(/\/\/\/\/.*$/).map { |p| p.gsub("////", "").strip }
      page_dir_names = page_names.map { |p| "#{p}.playgroundpage" }

      split_file = chapter_contents.split(/\/\/\/\/.*$/)
      page_contents = split_file.drop(1).map(&:strip)
      preamble = split_file.first.strip

      {
        page_dir_names: page_dir_names,
        page_names: page_names,
        page_contents: page_contents,
        preamble: preamble
      }
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
playgroundbook-0.6.0 lib/renderer/page_parser.rb
playgroundbook-0.5.0 lib/renderer/page_parser.rb
playgroundbook-0.4.0 lib/renderer/page_parser.rb