class VimwikiMarkdown::VimwikiLink

Constants

Attributes

fragment[R]
markdown_extension[R]
output_dir[R]
root_path[R]
source_markdown_directory[R]
title[R]
uri[R]

Public Class Methods

new(markdown_link, source_markdown_filepath, markdown_extension, root_path, output_dir) click to toggle source
# File lib/vimwiki_markdown/vimwiki_link.rb, line 16
def initialize(markdown_link, source_markdown_filepath, markdown_extension, root_path, output_dir)
  @title = markdown_link.match(MARKDOWN_LINK_REGEX)[:title]
  @uri = markdown_link.match(MARKDOWN_LINK_REGEX)[:uri]
  @fragment = markdown_link.match(MARKDOWN_LINK_REGEX)[:fragment]
  @markdown_extension = markdown_extension
  @root_path = root_path
  @source_markdown_directory = Pathname.new(source_markdown_filepath).dirname
  @output_dir = output_dir
  rewrite_local_links!
end

Public Instance Methods

to_s() click to toggle source
# File lib/vimwiki_markdown/vimwiki_link.rb, line 28
def to_s
  "[#{title}](#{uri}#{fragment})"
end

Private Instance Methods

absolute_path_to_markdown_file_exists?() click to toggle source
# File lib/vimwiki_markdown/vimwiki_link.rb, line 75
def absolute_path_to_markdown_file_exists?
  path = Pathname(uri)
  filepath = Pathname.new(source_markdown_directory + root_path + path.to_s.sub(/^\//,"")).
             sub_ext(markdown_extension)

  path.absolute? && File.exist?(filepath)
end
uri_relative_path_exists?() click to toggle source
# File lib/vimwiki_markdown/vimwiki_link.rb, line 55
def uri_relative_path_exists?
  # remove file: or local: prefix
  tmp = uri.sub(/^file:|^local:/, "") if uri.present?
  path, title = tmp.split(/\.?\s+\"/)  # handle image title
  path = Pathname.new(path)
  path = path.realpath.relative_path_from(source_markdown_directory) if path.absolute?

  if File.exist?(source_markdown_directory + path)
    title = "\"#{title}" unless title.nil? || title.empty?
    @uri = "#{path.to_s.gsub(/\ /, '%20')} #{title}".strip
    return true
  end
  false
end
vimwiki_markdown_file_exists?() click to toggle source
# File lib/vimwiki_markdown/vimwiki_link.rb, line 70
def vimwiki_markdown_file_exists?
  File.exist?((source_markdown_directory + uri).sub_ext(markdown_extension)) ||
  absolute_path_to_markdown_file_exists?
end