boomack 0.4.1

Client library for Boomack
Documentation
use super::config::MediaTypeMapping;

pub fn default_media_types() -> Vec<MediaTypeMapping> {
    Vec::from([
        // text types
        MediaTypeMapping::new("*.txt", "text/plain"),
        MediaTypeMapping::new("*.log", "text/plain"),

        // markdown types for plugin core-markdown
        MediaTypeMapping::new("*.md", "text/markdown"),

        // tabular data types for plugin core-csv
        MediaTypeMapping::new("*.csv", "text/csv"),
        MediaTypeMapping::new("*.tsv", "text/tsv"),

        // custom types for plugin boomack-plugin-vega
        MediaTypeMapping::new("*.vega", "application/x-vega-spec"),
        MediaTypeMapping::new("*.vegalite", "application/x-vega-lite-spec"),

        // custom types for plugin boomack-plugin-mermaid
        MediaTypeMapping::new("*.mermaid", "text/x-mermaid"),

        // custom types for plugin boomack-plugin-leaflet
        MediaTypeMapping::new("*.leaflet", "application/x-leaflet"),

        // types for plugin boomack-plugin-pdf
        MediaTypeMapping::new("*.pdf", "application/pdf"),

        // image types supported by browsers for plugin core-media
        MediaTypeMapping::new("*.apgn", "image/apng"),
        MediaTypeMapping::new("*.avif", "image/avif"),
        MediaTypeMapping::new("*.bmp", "image/bmp"),
        MediaTypeMapping::new("*.emf", "image/emf"),
        MediaTypeMapping::new("*.gif", "image/gif"),
        MediaTypeMapping::new("*.heic", "image/heic"),
        MediaTypeMapping::new("*.heif", "image/heif"),
        MediaTypeMapping::new("*.jpg", "image/jpeg"),
        MediaTypeMapping::new("*.jpeg", "image/jpeg"),
        MediaTypeMapping::new("*.jfif", "image/jpeg"),
        MediaTypeMapping::new("*.pjp", "image/jpeg"),
        MediaTypeMapping::new("*.jp2", "image/jp2"),
        MediaTypeMapping::new("*.png", "image/png"),
        MediaTypeMapping::new("*.svg", "image/svg+xml"),
        MediaTypeMapping::new("*.tif", "image/tiff"),
        MediaTypeMapping::new("*.tiff", "image/tiff"),
        MediaTypeMapping::new("*.webp", "image/webp"),
        MediaTypeMapping::new("*.wmf", "image/wmf"),
        MediaTypeMapping::new("*.ico", "image/vnd.microsoft.icon"),

        // audio types supported by typical browsers for plugin core-media
        MediaTypeMapping::new("*.aac", "audio/aac"),
        MediaTypeMapping::new("*.ac3", "audio/ac3"),
        MediaTypeMapping::new("*.aif", "audio/x-aiff"),
        MediaTypeMapping::new("*.aiff", "audio/x-aiff"),
        MediaTypeMapping::new("*.aifc", "audio/x-aiff"),
        MediaTypeMapping::new("*.au", "audio/basic"),
        MediaTypeMapping::new("*.flac", "audio/flac"),
        MediaTypeMapping::new("*.mid", "audio/x-midi"),
        MediaTypeMapping::new("*.midi", "audio/x-midi"),
        MediaTypeMapping::new("*.mp3", "audio/mp3"),
        MediaTypeMapping::new("*.mpa", "audio/mpeg"),
        MediaTypeMapping::new("*.m4a", "audio/mp4"),
        MediaTypeMapping::new("*.ogg", "audio/ogg"),
        MediaTypeMapping::new("*.oga", "audio/ogg"),
        MediaTypeMapping::new("*.opus", "audio/opus"),
        MediaTypeMapping::new("*.snd", "audio/basic"),
        MediaTypeMapping::new("*.vox", "audio/voxware"),
        MediaTypeMapping::new("*.wav", "audio/wav"),
        MediaTypeMapping::new("*.weba", "audio/webm"),
        MediaTypeMapping::new("*.wma", "audio/x-ms-wma"),

        // video types supported by typical browsers for plugin core-media
        MediaTypeMapping::new("*.3gp", "video/3gpp"),
        MediaTypeMapping::new("*.eg2", "video/3gpp2"),
        MediaTypeMapping::new("*.avi", "video/x-msvideo"),
        MediaTypeMapping::new("*.flv", "video/x-flv"),
        MediaTypeMapping::new("*.mpg", "video/mpeg"),
        MediaTypeMapping::new("*.mpeg", "video/mpeg"),
        MediaTypeMapping::new("*.mpv", "video/mpv"),
        MediaTypeMapping::new("*.mp4", "video/mp4"),
        MediaTypeMapping::new("*.m4v", "video/mp4"),
        MediaTypeMapping::new("*.m4p", "video/mp4"),
        MediaTypeMapping::new("*.mpjg", "video/JPEG"),
        MediaTypeMapping::new("*.mjpeg", "video/JPEG"),
        MediaTypeMapping::new("*.m2j", "video/m2j"),
        MediaTypeMapping::new("*.mov", "video/quicktime"),
        MediaTypeMapping::new("*.ogv", "video/ogg"),
        MediaTypeMapping::new("*.ts", "video/MP2T"),
        MediaTypeMapping::new("*.webm", "video/webm"),
        MediaTypeMapping::new("*.wmv", "video/x-ms-wmv"),

        // text types supported by PrismJS for plugin core-highlight
        MediaTypeMapping::new("*.ino", "text/x-arduino"),
        MediaTypeMapping::new("*.conf", "text/x-apache-config"),
        MediaTypeMapping::new("*.appelscript", "text/x-applescript"),
        MediaTypeMapping::new("*.adoc", "text/x-asciidoc"),
        MediaTypeMapping::new("*.asciidoc", "text/x-asciidoc"),
        MediaTypeMapping::new("*.aspx", "text/x-aspnet"),
        MediaTypeMapping::new("*.ahk", "text/x-autohotkey"),
        MediaTypeMapping::new("*.au3", "text/x-autoit"),
        MediaTypeMapping::new("*.sh", "application/x-sh"),
        MediaTypeMapping::new("*.bas", "text/x-basic"),
        MediaTypeMapping::new("*.bat", "application/x-bat"),
        MediaTypeMapping::new("*.cmd", "application/x-bat"),
        MediaTypeMapping::new("*.cs", "text/x-csharp"),
        MediaTypeMapping::new("*.edn", "text/x-edn"),
        MediaTypeMapping::new("*.c", "text/x-c"),
        MediaTypeMapping::new("*.h", "text/x-c"),
        MediaTypeMapping::new("*.cpp", "text/x-cpp"),
        MediaTypeMapping::new("*.hpp", "text/x-cpp"),
        MediaTypeMapping::new("*.cc", "text/x-cxx"),
        MediaTypeMapping::new("*.cxx", "text/x-cxx"),
        MediaTypeMapping::new("*.hxx", "text/x-cxx"),
        MediaTypeMapping::new("*.hh", "text/x-cxx"),
        MediaTypeMapping::new("*.clj", "text/x-clojure"),
        MediaTypeMapping::new("*.cljc", "text/x-clojure"),
        MediaTypeMapping::new("*.cljx", "text/x-clojure"),
        MediaTypeMapping::new("*.cljs", "text/x-clojure"),
        MediaTypeMapping::new("CMakeLists.txt", "text/x-cmake"),
        MediaTypeMapping::new("*.cob", "text/x-cobol"),
        MediaTypeMapping::new("*.cbl", "text/x-cobol"),
        MediaTypeMapping::new("*.coffee", "text/x-coffeescript"),
        MediaTypeMapping::new("*.litcoffee", "text/x-coffeescript"),
        MediaTypeMapping::new("*.css", "text/css"),
        MediaTypeMapping::new("*.d", "text/x-d"),
        MediaTypeMapping::new("*.dart", "text/x-dart"),
        MediaTypeMapping::new("*.diff", "text/x-diff"),
        MediaTypeMapping::new("*.zone", "text/dns"),
        MediaTypeMapping::new("Dockerfile", "text/x-dockerfile"),
        MediaTypeMapping::new("*.dot", "text/x-graphviz"),
        MediaTypeMapping::new(".editorconfig", "text/x-editorconfig"),
        MediaTypeMapping::new("*.ejs", "text/x-ejs"),
        MediaTypeMapping::new("*.exs", "text/x-elixir"),
        MediaTypeMapping::new("*.elm", "text/x-elm"),
        MediaTypeMapping::new("*.erb", "text/x-erb"),
        MediaTypeMapping::new("*.erl", "text/x-erlang"),
        MediaTypeMapping::new("*.fs", "text/x-fsharp"),
        MediaTypeMapping::new("*.f90", "text/x-fortran"),
        MediaTypeMapping::new("*.f95", "text/x-fortran"),
        MediaTypeMapping::new("*.f03", "text/x-fortran"),
        MediaTypeMapping::new("*.gcode", "text/x-gcode"),
        MediaTypeMapping::new("*.po", "text/x-gettext"),
        MediaTypeMapping::new("*.glsl", "text/x-glsl"),
        MediaTypeMapping::new("*.go", "text/x-go"),
        MediaTypeMapping::new("go.mod", "text/x-go-module"),
        MediaTypeMapping::new("*.gradle", "text/x-gradle"),
        MediaTypeMapping::new("*.groovy", "text/x-groovy"),
        MediaTypeMapping::new("*.haml", "text/x-haml"),
        MediaTypeMapping::new("*.hbs", "text/x-handlebars"),
        MediaTypeMapping::new("*.handlebars", "text/x-handlebars"),
        MediaTypeMapping::new("*.mustache", "text/x-handlebars"),
        MediaTypeMapping::new("*.hs", "text/x-haskell"),
        MediaTypeMapping::new("*.hlsl", "text/x-hlsl"),
        MediaTypeMapping::new(".*ignore", "text/x-ignorefile"),
        MediaTypeMapping::new("*.ini", "text/x-ini"),
        MediaTypeMapping::new("*.j", "text/x-j"),
        MediaTypeMapping::new("*.java", "text/x-java"),
        MediaTypeMapping::new("*.js", "text/javascript"),
        MediaTypeMapping::new("*.jinja2", "text/x-jinja2"),
        MediaTypeMapping::new("*.j2", "text/x-jinja2"),
        MediaTypeMapping::new("*.json", "application/json"),
        MediaTypeMapping::new("*.json5", "text/x-json5"),
        MediaTypeMapping::new("*.jsonp", "text/x-jsonp"),
        MediaTypeMapping::new("*.jl", "text/x-julia"),
        MediaTypeMapping::new("*.kt", "text/x-kotlin"),
        MediaTypeMapping::new("*.kts", "text/x-kotlin"),
        MediaTypeMapping::new("*.tex", "text/x-tex"),
        MediaTypeMapping::new("*.less", "text/x-less"),
        MediaTypeMapping::new("*.lsp", "text/x-lisp"),
        MediaTypeMapping::new("*.lua", "text/x-lua"),
        MediaTypeMapping::new("makefile", "text/x-makefile"),
        MediaTypeMapping::new("*.m", "text/x-matlab"),
        MediaTypeMapping::new("*.pas", "text/x-pascal"),
        MediaTypeMapping::new("*.pl", "text/x-perl"),
        MediaTypeMapping::new("*.php", "text/x-php"),
        MediaTypeMapping::new("*.php4", "text/x-php"),
        MediaTypeMapping::new("*.php5", "text/x-php"),
        MediaTypeMapping::new("*.php7", "text/x-php"),
        MediaTypeMapping::new("*.plantuml", "text/x-plantuml"),
        MediaTypeMapping::new("*.puml", "text/x-plantuml"),
        MediaTypeMapping::new("*.ps1", "text/x-powershell"),
        MediaTypeMapping::new("*.ps1m", "text/x-powershell"),
        MediaTypeMapping::new("*.properties", "text/x-java-properties"),
        MediaTypeMapping::new("*.proto", "text/x-proto"),
        MediaTypeMapping::new("*.py", "text/x-python"),
        MediaTypeMapping::new("*.qs", "text/x-qsharp"),
        MediaTypeMapping::new("*.qml", "text/x-qml"),
        MediaTypeMapping::new("*.r", "text/x-r"),
        MediaTypeMapping::new("*.rkt", "text/x-racket"),
        MediaTypeMapping::new("*.cshtml", "text/x-razor"),
        MediaTypeMapping::new("*.jsx", "text/x-jsx"),
        MediaTypeMapping::new("*.tsx", "text/x-tsx"),
        MediaTypeMapping::new("*.rst", "text/x-restuctured-text"),
        MediaTypeMapping::new("*.rb", "text/x-ruby"),
        MediaTypeMapping::new("*.rs", "text/x-rust"),
        MediaTypeMapping::new("*.sass", "text/x-sass"),
        MediaTypeMapping::new("*.scss", "text/x-scss"),
        MediaTypeMapping::new("*.scala", "text/x-scala"),
        MediaTypeMapping::new("*.scm", "text/x-scheme"),
        MediaTypeMapping::new("*.st", "text/x-smalltalk"),
        MediaTypeMapping::new("*.sln", "text/x-ms-vs-solution-file"),
        MediaTypeMapping::new("*.rq", "text/x-sparql"),
        MediaTypeMapping::new("*.sql", "text/x-sql"),
        MediaTypeMapping::new("*.swift", "text/x-swift"),
        MediaTypeMapping::new("*.t4", "text/x-t4"),
        MediaTypeMapping::new("*.tcl", "text/x-tcl"),
        MediaTypeMapping::new("*.toml", "text/x-toml"),
        MediaTypeMapping::new("*.ts", "text/x-typescript"),
        MediaTypeMapping::new("*.v", "text/x-verilog"),
        MediaTypeMapping::new("*.sv", "text/x-verilog"),
        MediaTypeMapping::new("*.svh", "text/x-verilog"),
        MediaTypeMapping::new("*.vhdl", "text/x-vhdl"),
        MediaTypeMapping::new("*.vb", "text/x-visual-basic"),
        MediaTypeMapping::new("*.vba", "text/x-visual-basic"),
        MediaTypeMapping::new("*.wasm", "text/x-wasm"),
        MediaTypeMapping::new("*.xml", "text/xml"),
        MediaTypeMapping::new("*.yaml", "text/x-yaml"),
        MediaTypeMapping::new("*.yml", "text/x-yaml"),
    ])
}