Sha256: f2b7a5b506717bc74f2dcf7389af4ac3cae844667fde3db2ac5b67a157085f1b
Contents?: true
Size: 1.26 KB
Versions: 1
Compression:
Stored size: 1.26 KB
Contents
require 'chunks/wiki' # Includes the contents of another page for rendering. # The include command looks like this: "[[!include PageName]]". # It is a WikiReference since it refers to another page (PageName) # and the wiki content using this command must be notified # of changes to that page. # If the included page could not be found, a warning is displayed. class Include < WikiChunk::WikiReference INCLUDE_PATTERN = /\[\[!include\s+(.*?)\]\]\s*/i def self.pattern() INCLUDE_PATTERN end def initialize(match_data, content) super @page_name = match_data[1].strip @unmask_text = get_unmask_text_avoiding_recursion_loops end private def get_unmask_text_avoiding_recursion_loops if refpage then refpage.clear_display_cache if refpage.wiki_includes.include?(@content.page_name) # this will break the recursion @content.delete_chunk(self) return "<em>Recursive include detected; #{@page_name} --> #{@content.page_name} " + "--> #{@page_name}</em>\n" else @content.merge_chunks(refpage.display_content) return refpage.display_content.pre_rendered end else return "<em>Could not include #{@page_name}</em>\n" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
instiki-0.10.2 | app/models/chunks/include.rb |