51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
module Gitlab
 | 
						|
  module MarkupHelper
 | 
						|
    module_function
 | 
						|
 | 
						|
    # Public: Determines if a given filename is compatible with GitHub::Markup.
 | 
						|
    #
 | 
						|
    # filename - Filename string to check
 | 
						|
    #
 | 
						|
    # Returns boolean
 | 
						|
    def markup?(filename)
 | 
						|
      gitlab_markdown?(filename) ||
 | 
						|
        asciidoc?(filename) ||
 | 
						|
        filename.downcase.end_with?(*%w(.textile .rdoc .org .creole .wiki
 | 
						|
                                        .mediawiki .rst))
 | 
						|
    end
 | 
						|
 | 
						|
    # Public: Determines if a given filename is compatible with
 | 
						|
    # GitLab-flavored Markdown.
 | 
						|
    #
 | 
						|
    # filename - Filename string to check
 | 
						|
    #
 | 
						|
    # Returns boolean
 | 
						|
    def gitlab_markdown?(filename)
 | 
						|
      filename.downcase.end_with?(*%w(.mdown .mkd .mkdn .md .markdown))
 | 
						|
    end
 | 
						|
 | 
						|
    # Public: Determines if the given filename has AsciiDoc extension.
 | 
						|
    #
 | 
						|
    # filename - Filename string to check
 | 
						|
    #
 | 
						|
    # Returns boolean
 | 
						|
    def asciidoc?(filename)
 | 
						|
      filename.downcase.end_with?(*%w(.adoc .ad .asciidoc))
 | 
						|
    end
 | 
						|
 | 
						|
    # Public: Determines if the given filename is plain text.
 | 
						|
    #
 | 
						|
    # filename - Filename string to check
 | 
						|
    #
 | 
						|
    # Returns boolean
 | 
						|
    def plain?(filename)
 | 
						|
      filename.downcase.end_with?('.txt') ||
 | 
						|
        filename.casecmp('readme').zero?
 | 
						|
    end
 | 
						|
 | 
						|
    def previewable?(filename)
 | 
						|
      markup?(filename)
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |