58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
module Gitlab
 | 
						|
  module MarkupHelper
 | 
						|
    extend self
 | 
						|
 | 
						|
    MARKDOWN_EXTENSIONS = %w(mdown mkd mkdn md markdown).freeze
 | 
						|
    ASCIIDOC_EXTENSIONS = %w(adoc ad asciidoc).freeze
 | 
						|
    OTHER_EXTENSIONS = %w(textile rdoc org creole wiki mediawiki rst).freeze
 | 
						|
    EXTENSIONS = MARKDOWN_EXTENSIONS + ASCIIDOC_EXTENSIONS + OTHER_EXTENSIONS
 | 
						|
 | 
						|
    # Public: Determines if a given filename is compatible with GitHub::Markup.
 | 
						|
    #
 | 
						|
    # filename - Filename string to check
 | 
						|
    #
 | 
						|
    # Returns boolean
 | 
						|
    def markup?(filename)
 | 
						|
      EXTENSIONS.include?(extension(filename))
 | 
						|
    end
 | 
						|
 | 
						|
    # Public: Determines if a given filename is compatible with
 | 
						|
    # GitLab-flavored Markdown.
 | 
						|
    #
 | 
						|
    # filename - Filename string to check
 | 
						|
    #
 | 
						|
    # Returns boolean
 | 
						|
    def gitlab_markdown?(filename)
 | 
						|
      MARKDOWN_EXTENSIONS.include?(extension(filename))
 | 
						|
    end
 | 
						|
 | 
						|
    # Public: Determines if the given filename has AsciiDoc extension.
 | 
						|
    #
 | 
						|
    # filename - Filename string to check
 | 
						|
    #
 | 
						|
    # Returns boolean
 | 
						|
    def asciidoc?(filename)
 | 
						|
      ASCIIDOC_EXTENSIONS.include?(extension(filename))
 | 
						|
    end
 | 
						|
 | 
						|
    # Public: Determines if the given filename is plain text.
 | 
						|
    #
 | 
						|
    # filename - Filename string to check
 | 
						|
    #
 | 
						|
    # Returns boolean
 | 
						|
    def plain?(filename)
 | 
						|
      extension(filename) == 'txt' || filename.casecmp('readme').zero?
 | 
						|
    end
 | 
						|
 | 
						|
    def previewable?(filename)
 | 
						|
      markup?(filename)
 | 
						|
    end
 | 
						|
 | 
						|
    private
 | 
						|
 | 
						|
    def extension(filename)
 | 
						|
      File.extname(filename).downcase.delete('.')
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |