blob: d0d512fef35dcdf6abb435e8076af3a13713109d [file] [log] [blame]
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
module ApplicationHelpers
def page_title
if current_page.data.title
content_tag :h1 do
rendered_title
end
else
content_tag :h1, class: 'missing' do
'Missing Title'
end
end
end
def rendered_title
return unless current_page.data.title
title = current_page.data.title
template = Tilt['erb'].new { title }
template.render(self, current_page.data)
end
def github_url
base = 'https://github.com/apache/predictionio/tree/livedoc/docs/manual'
path = current_page.source_file.sub(Middleman::Application.root_path.to_s, '')
base + path
end
def page_title_in_nav_menu(nodes)
def is_current_page(node)
if node.url == current_page.url
return true
else
return false
end
end
if nodes
result = ""
nodes.each do |node|
if node.children
node.children.each do |child|
if is_current_page(child)
result = child
end
end
else
if is_current_page(node)
result = node
end
end
end
if result != ""
return result.body
else
return current_page.data.title
end
else
return "Welcome to Apache PredictionIO Documentation!"
end
end
def link_to_with_active(body, url, options = {})
if url == current_page.url
link_to body, url, options.merge(class: [options[:class], 'active'].join(' '))
else
link_to body, url, options
end
end
end