[BREAKS BUILD] Links to pictures. Problem is, URIChunk thinks that index.jpg is a hyperlink to http://index.jp.
Also, commented out the code that was hiding rendering errors. This should be done at a different level.
This commit is contained in:
parent
1d82582c3b
commit
d6fe54f4ad
9 changed files with 114 additions and 55 deletions
|
@ -7,9 +7,11 @@ require "zip/zip"
|
|||
class Web
|
||||
attr_accessor :name, :address, :password, :markup, :color, :safe_mode, :pages
|
||||
attr_accessor :additional_style, :published, :brackets_only, :count_pages
|
||||
def initialize(name, address, password = nil)
|
||||
|
||||
def initialize(parent_wiki, name, address, password = nil)
|
||||
@name, @address, @password, @safe_mode = name, address, password, false
|
||||
@pages = {}
|
||||
@wiki = parent_wiki
|
||||
|
||||
# assign default values
|
||||
@color = '008B26'
|
||||
|
@ -44,28 +46,75 @@ class Web
|
|||
# on the render mode in options and whether the page exists
|
||||
# in the this web.
|
||||
def make_link(name, text = nil, options = {})
|
||||
page = pages[name]
|
||||
text = text || WikiWords.separate(name)
|
||||
link = CGI.escape(name)
|
||||
link_type = options[:link_type] || :show
|
||||
|
||||
case options[:mode]
|
||||
when :export
|
||||
if page then "<a class=\"existingWikiWord\" href=\"#{link}.html\">#{text}</a>"
|
||||
else "<span class=\"newWikiWord\">#{text}</span>" end
|
||||
when :publish
|
||||
if page then "<a class=\"existingWikiWord\" href=\"../published/#{link}\">#{text}</a>"
|
||||
else "<span class=\"newWikiWord\">#{text}</span>" end
|
||||
else
|
||||
if page
|
||||
"<a class=\"existingWikiWord\" href=\"../#{link_type}/#{link}\">#{text}</a>"
|
||||
else
|
||||
"<span class=\"newWikiWord\">#{text}<a href=\"../#{link_type}/#{link}\">?</a></span>"
|
||||
end
|
||||
mode = options[:mode]
|
||||
link_type = options[:link_type] || 'show'
|
||||
case link_type
|
||||
when 'show'
|
||||
make_page_link(mode, name, text)
|
||||
when 'file'
|
||||
make_file_link(mode, name, text)
|
||||
when 'pic'
|
||||
make_pic_link(mode, name, text)
|
||||
else
|
||||
raise "Unknown link type: #{link_type}"
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def make_page_link(mode, name, text)
|
||||
link = CGI.escape(name)
|
||||
case mode
|
||||
when :export
|
||||
if has_page?(name) then "<a class=\"existingWikiWord\" href=\"#{link}.html\">#{text}</a>"
|
||||
else "<span class=\"newWikiWord\">#{text}</span>" end
|
||||
when :publish
|
||||
if has_page?(name) then "<a class=\"existingWikiWord\" href=\"../published/#{link}\">#{text}</a>"
|
||||
else "<span class=\"newWikiWord\">#{text}</span>" end
|
||||
else
|
||||
if has_page?(name)
|
||||
"<a class=\"existingWikiWord\" href=\"../show/#{link}\">#{text}</a>"
|
||||
else
|
||||
"<span class=\"newWikiWord\">#{text}<a href=\"../show/#{link}\">?</a></span>"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def make_file_link(mode, name, text)
|
||||
link = CGI.escape(name)
|
||||
case mode
|
||||
when :export
|
||||
if has_file?(name) then "<a class=\"existingWikiWord\" href=\"#{link}.html\">#{text}</a>"
|
||||
else "<span class=\"newWikiWord\">#{text}</span>" end
|
||||
when :publish
|
||||
if has_file?(name) then "<a class=\"existingWikiWord\" href=\"../published/#{link}\">#{text}</a>"
|
||||
else "<span class=\"newWikiWord\">#{text}</span>" end
|
||||
else
|
||||
if has_file?(name)
|
||||
"<a class=\"existingWikiWord\" href=\"../file/#{link}\">#{text}</a>"
|
||||
else
|
||||
"<span class=\"newWikiWord\">#{text}<a href=\"../file/#{link}\">?</a></span>"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def make_pic_link(mode, name, text)
|
||||
link = CGI.escape(name)
|
||||
case mode
|
||||
when :export
|
||||
if has_file?(name) then "<img alt=\"#{text}\" src=\"#{link}\" />"
|
||||
else "<img alt=\"#{text}\" src=\"no image\" />" end
|
||||
else
|
||||
"<img alt=\"#{text}\" src=\"../pic/#{link}\" />"
|
||||
end
|
||||
end
|
||||
|
||||
def has_page?(name)
|
||||
pages[name]
|
||||
end
|
||||
|
||||
def has_file?(name)
|
||||
wiki.file_yard(self).has_file?(name)
|
||||
end
|
||||
|
||||
# Clears the display cache for all the pages with references to
|
||||
def refresh_pages_with_references(page_name)
|
||||
|
@ -88,4 +137,9 @@ class Web
|
|||
def page_names
|
||||
pages.keys
|
||||
end
|
||||
|
||||
# This ensures compatibility with 0.9 storages
|
||||
def wiki
|
||||
@wiki ||= WikiService.instance
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue