diff --git a/.gitignore b/.gitignore index 6f899066..b594659b 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ release.md # ignoring doc works for now /docs/_site +/docs2/_site # PowerShell Studio *.TempPoint.* diff --git a/build.ps1 b/build.ps1 index 9f02be92..6d9a93b8 100644 --- a/build.ps1 +++ b/build.ps1 @@ -49,9 +49,9 @@ if ($PSBoundParameters['PublishDocs']) { Write-Warning "Doc processing has to run under PowerShell Core" return } - $docCommandPath = "$PSScriptRoot\docs\collections\_commands\" - Write-Host "Removing old command docs [$docCommandPath]" -ForegroundColor Black -BackgroundColor DarkCyan - Remove-Item $docCommandPath -Filter *.md -Recurse -Force -Confirm:$false -ErrorAction SilentlyContinue -Verbose + $docRoot = "$PSScriptRoot\docs\commands" + $functionsRoot = "$PSScriptRoot\src\functions" + $functionDirectories = [IO.Directory]::GetDirectories($functionsRoot) Import-Module platyPS $cmdParams = @{ @@ -60,22 +60,21 @@ if ($PSBoundParameters['PublishDocs']) { } $commands = Get-Command @cmdParams - Write-Host "Generating new command docs [$docCommandPath]" -ForegroundColor Black -BackgroundColor DarkCyan - foreach ($cmd in $commands) { - switch ($cmd.Name) { - { $_ -match 'Secret' } { $category = 'secrets' } - { $_ -match 'Report' } { $category = 'reports' } - { $_ -match 'Group' } { $category = 'groups' } - { $_ -match 'Folder' } { $category = 'folders' } - default { $category = 'general' } - } - $metadata = @{ - 'category' = $category - 'title' = $cmd.Name - } - - New-MarkdownHelp -OutputFolder $docCommandPath -Command $cmd.Name -Metadata $metadata -Force - } + $functionDirectories.foreach({ + $categoryFolder = Split-Path $_ -Leaf + $categoryFolderName = $categoryFolder -replace '-', '_' + $docCommandPath = [IO.Path]::Combine($docRoot,$categoryFolderName) + + if (Test-Path $docCommandPath) { + $helpNames = Get-ChildItem $_ -File | ForEach-Object { $_.BaseName -replace '-','-Tss' } + $helpCommands = $commands.Where({ $_.Name -in $helpNames }) + $helpCommands.foreach({ + New-MarkdownHelp -OutputFolder $docCommandPath -Command $_.Name -NoMetadata -Force + }) + } else { + Write-Error "Doc path does not exist: $docCommandPath" + } + }) return } diff --git a/docs/.debug.yml b/docs/.debug.yml new file mode 100644 index 00000000..33a33108 --- /dev/null +++ b/docs/.debug.yml @@ -0,0 +1,8 @@ +remote_theme: false + +debug: + compress: false + dist: true + shortcodes: true + +theme: jekyll-rtd-theme diff --git a/docs/.gitignore b/docs/.gitignore index 31819049..70ba9d33 100644 --- a/docs/.gitignore +++ b/docs/.gitignore @@ -1,15 +1,5 @@ -*.gem -*.sublime-project -*.sublime-workspace -.bundle -.DS_Store .jekyll-metadata -.sass-cache -_asset_bundler_cache _site -vendor -codekit-config.json -example/_site +.sass-cache + Gemfile.lock -node_modules -npm-debug.log* \ No newline at end of file diff --git a/docs/.travis.yml b/docs/.travis.yml deleted file mode 100644 index 1bb28592..00000000 --- a/docs/.travis.yml +++ /dev/null @@ -1,11 +0,0 @@ -language: ruby -cache: bundler -gemfile: docs/Gemfile -script: - - bundle exec jekyll algolia --source docs --destination docs/_site --config docs/_config.yml -branches: - only: - # Change this to gh-pages if you're deploying using the gh-pages branch - - master -rvm: - - 2.4 \ No newline at end of file diff --git a/docs/Gemfile b/docs/Gemfile index 595e3be8..dff49129 100644 --- a/docs/Gemfile +++ b/docs/Gemfile @@ -1,4 +1,5 @@ source "https://rubygems.org" +gem "jekyll-rtd-theme", "~> 2.0.5" + gem "github-pages", group: :jekyll_plugins -gem "jekyll-include-cache", group: :jekyll_plugins \ No newline at end of file diff --git a/docs/LICENSE b/docs/LICENSE deleted file mode 100644 index af1e9d47..00000000 --- a/docs/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2013-2019 Michael Rose and contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 00000000..984fe1a6 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,16 @@ +DEBUG=JEKYLL_GITHUB_TOKEN=blank PAGES_API_URL=http://0.0.0.0 + +default: + @gem install jekyll bundler && bundle install + +update: + @bundle update + +clean: + @bundle exec jekyll clean + +build: clean + @${DEBUG} bundle exec jekyll build --profile --config _config.yml,.debug.yml + +server: clean + @${DEBUG} bundle exec jekyll server --livereload --config _config.yml,.debug.yml diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..6cc118f5 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,7 @@ +--- +sort: 1 +--- + +# Docs folder + +{% include list.liquid all=true %} diff --git a/docs/Rakefile b/docs/Rakefile deleted file mode 100644 index 921330e6..00000000 --- a/docs/Rakefile +++ /dev/null @@ -1,76 +0,0 @@ -require "bundler/gem_tasks" -require "jekyll" -require "listen" - -def listen_ignore_paths(base, options) - [ - /_config\.ya?ml/, - /_site/, - /\.jekyll-metadata/ - ] -end - -def listen_handler(base, options) - site = Jekyll::Site.new(options) - Jekyll::Command.process_site(site) - proc do |modified, added, removed| - t = Time.now - c = modified + added + removed - n = c.length - relative_paths = c.map{ |p| Pathname.new(p).relative_path_from(base).to_s } - print Jekyll.logger.message("Regenerating:", "#{relative_paths.join(", ")} changed... ") - begin - Jekyll::Command.process_site(site) - puts "regenerated in #{Time.now - t} seconds." - rescue => e - puts "error:" - Jekyll.logger.warn "Error:", e.message - Jekyll.logger.warn "Error:", "Run jekyll build --trace for more information." - end - end -end - -task :preview do - base = Pathname.new('.').expand_path - options = { - "source" => base.join('test').to_s, - "destination" => base.join('test/_site').to_s, - "force_polling" => false, - "serving" => true, - "theme" => "minimal-mistakes-jekyll" - } - - options = Jekyll.configuration(options) - - ENV["LISTEN_GEM_DEBUGGING"] = "1" - listener = Listen.to( - base.join("_data"), - base.join("_includes"), - base.join("_layouts"), - base.join("_sass"), - base.join("assets"), - options["source"], - :ignore => listen_ignore_paths(base, options), - :force_polling => options['force_polling'], - &(listen_handler(base, options)) - ) - - begin - listener.start - Jekyll.logger.info "Auto-regeneration:", "enabled for '#{options["source"]}'" - - unless options['serving'] - trap("INT") do - listener.stop - puts " Halting auto-regeneration." - exit 0 - end - - loop { sleep 1000 } - end - rescue ThreadError - # You pressed Ctrl-C, oh my! - end - - Jekyll::Commands::Serve.process(options) -end diff --git a/docs/_config.yml b/docs/_config.yml index 5273fd20..6ef4bee3 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1,327 +1,18 @@ -# Welcome to Jekyll! -# -# This config file is meant for settings that affect your entire site, values -# which you are expected to set up once and rarely need to edit after that. -# For technical reasons, this file is *NOT* reloaded automatically when you use -# `jekyll serve`. If you change this file, please restart the server process. +title: Thycotic.SecretServer Module +lang: en +description: Thycotic Secret Server PowerShell Module -# Theme Settings -# -# Review documentation to determine if you should use `theme` or `remote_theme` -# https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/#installing-the-theme +remote_theme: rundocs/jekyll-rtd-theme +readme_index: + with_frontmatter: true -remote_theme: "mmistakes/minimal-mistakes@4.22.0" -minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise" - -# Site Settings -locale : "en-US" -title : "TSS" -title_separator : "-" -subtitle : # PowerShell | Thycotic -name : "Shawn Melton" -description : "Thycotic.SecretServer" -url : "https://thycotic-ps.github.io" # the base hostname & protocol for your site e.g. "https://mmistakes.github.io" -baseurl : "/thycotic.secretserver" # the subpath of your site, e.g. "/blog" -repository : "thycotic-ps/Thycotic.SecretServer" # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes" -teaser : # "/assets/images/.png" # fallback teaser image -logo : "/assets/images/banner_symbol_title.png" #displays in masthead -masthead_title : " " # overrides the website title displayed in the masthead, use " " for no title -# breadcrumbs : false # true, false (default) -words_per_minute : 200 -comments: - provider : # false (default), "disqus", "discourse", "facebook", "staticman", "staticman_v2", "utterances", "custom" - disqus: - shortname : # https://help.disqus.com/customer/portal/articles/466208-what-s-a-shortname- - discourse: - server : # https://meta.discourse.org/t/embedding-discourse-comments-via-javascript/31963 , e.g.: meta.discourse.org - facebook: - # https://developers.facebook.com/docs/plugins/comments - appid : - num_posts : # 5 (default) - colorscheme : # "light" (default), "dark" - utterances: - theme : # "github-light" (default), "github-dark" - issue_term : # "pathname" (default) -staticman: - allowedFields : # ['name', 'email', 'url', 'message'] - branch : # "master" - commitMessage : # "New comment by {fields.name}" - filename : # comment-{@timestamp} - format : # "yml" - moderation : # true - path : # "/_data/comments/{options.slug}" (default) - requiredFields : # ['name', 'email', 'message'] - transforms: - email : # "md5" - generatedFields: - date: - type : # "date" - options: - format : # "iso8601" (default), "timestamp-seconds", "timestamp-milliseconds" - endpoint : # URL of your own deployment with trailing slash, will fallback to the public instance -reCaptcha: - siteKey : - secret : -atom_feed: - path : # blank (default) uses feed.xml -search : # true, false (default) -search_full_content : # true, false (default) -search_provider : # lunr (default), algolia, google -algolia: - application_id : # YOUR_APPLICATION_ID - index_name : # YOUR_INDEX_NAME - search_only_api_key : # YOUR_SEARCH_ONLY_API_KEY - powered_by : # true (default), false -google: - search_engine_id : # YOUR_SEARCH_ENGINE_ID - instant_search : # false (default), true -# SEO Related -google_site_verification : -bing_site_verification : -yandex_site_verification : -naver_site_verification : - -# Social Sharing -twitter: - username : -facebook: - username : - app_id : - publisher : -og_image : # Open Graph/Twitter default site image -# For specifying social profiles -# - https://developers.google.com/structured-data/customize/social-profiles -social: - type : # Person or Organization (defaults to Person) - name : # If the user or organization name differs from the site's name - links: # An array of links to social media profiles - -# Analytics -analytics: - provider : "google" #false # false (default), "google", "google-universal", "custom" - google: - tracking_id : "UA-189117162-1" - anonymize_ip : # true, false (default) - - -# Site Author -author: - name : "Shawn Melton" - avatar : "/assets/images/bio-photo.jpg" - bio : "Owner and Maintainer" - location : "US" - #email : "" - links: - - label: "GitHub" - icon: "fab fa-fw fa-github" - url: "https://github.com/thycotic-ps" - # - label: "wsmelton.github.io" - # icon: "fas fa-fw fa-link" - # url: "https://wsmelton.github.io" - # - label: "Thycotic.SecretServer@wsmelton.dev" - # icon: "fas fa-fw fa-envelope-square" - # url: mailto:Thycotic.SecretServer@wsmelton.dev - -# Site Footer -footer: - links: - - label: "Twitter" - icon: "fab fa-fw fa-twitter-square" - url: "https://media.giphy.com/media/WJudITk3NIcsU/giphy.gif" - - label: "GitHub" - icon: "fab fa-fw fa-github" - url: "https://github.com/thycotic-ps/Thycotic.SecretServer" - - -# Reading Files -include: - - .htaccess - - _pages exclude: - - "*.sublime-project" - - "*.sublime-workspace" - - vendor - - .asset-cache - - .bundle - - .jekyll-assets-cache - - .sass-cache - - assets/js/plugins - - assets/js/_main.js - - assets/js/vendor - - Capfile - - CHANGELOG - - config + - Makefile - Gemfile - - Gruntfile.js - - gulpfile.js - - LICENSE - - log - - node_modules - - package.json - - Rakefile - - README - - tmp - - /test # ignore Minimal Mistakes /test -keep_files: - - .git - - .svn -encoding: "utf-8" -markdown_ext: "markdown,mkdown,mkdn,mkd,md" - -# Conversion -markdown: kramdown -highlighter: rouge -lsi: false -excerpt_separator: "\n\n" -incremental: false - - -# Markdown Processing -kramdown: - input: GFM - hard_wrap: false - auto_ids: true - footnote_nr: 1 - entity_output: as_char - toc_levels: 1..6 - smart_quotes: lsquo,rsquo,ldquo,rdquo - enable_coderay: false - - -# Sass/SCSS -sass: - sass_dir: _sass - style: compressed # http://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style + - Gemfile.lock - -# Outputting -permalink: /:categories/:title/ -paginate: 5 # amount of posts to show -paginate_path: /page:num/ -timezone: # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - - -# Plugins (previously gems:) plugins: - - jekyll-paginate - - jekyll-sitemap - - jekyll-gist - - jekyll-feed - jemoji - - jekyll-include-cache - -# mimic GitHub Pages with --safe -whitelist: - - jekyll-paginate - - jekyll-sitemap - - jekyll-gist - - jekyll-feed - - jemoji - - jekyll-include-cache - - -# Archives -# Type -# - GitHub Pages compatible archive pages built with Liquid ~> type: liquid (default) -# - Jekyll Archives plugin archive pages ~> type: jekyll-archives -# Path (examples) -# - Archive page should exist at path when using Liquid method or you can -# expect broken links (especially with breadcrumbs enabled) -# - /tags/my-awesome-tag/index.html ~> path: /tags/ -# - path: /categories/ -# - path: / -category_archive: - type: liquid - path: /categories/ -tag_archive: - type: liquid - path: /tags/ -# https://github.com/jekyll/jekyll-archives -# jekyll-archives: -# enabled: -# - categories -# - tags -# layouts: -# category: archive-taxonomy -# tag: archive-taxonomy -# permalinks: -# category: /categories/:name/ -# tag: /tags/:name/ - - -# HTML Compression -# - http://jch.penibelst.de/ -compress_html: - clippings: all - ignore: - envs: development - - -# Collections -collections_dir: collections -collections: - commands: - output: true - permalink: /:collection/:path - docs: - output: true - permalink: /:collection/:path - abouttopics: - output: true - permalink: /:collection/:path - pages: - output: true - permalink: /:collection/:path - -# Defaults -defaults: - # _posts - - scope: - path: "" - type: posts - values: - layout: single - author_profile: true - read_time: true - comments: # true - share: true - related: true - # _commands - - scope: - path: "" - type: commands - values: - layout: single-mod - classes: wide - author_profile: false - share: false - toc: true - sidebar: - nav: "commands" - # _abouttopics - - scope: - path: "" - type: abouttopics - values: - layout: single - classes: wide - author_profile: false - share: false - toc: true - sidebar: - nav: "abouttopics" - # _docs - - scope: - path: "" - type: docs - values: - layout: single - classes: wide - read_time: false - author_profile: false - share: false - comments: false - toc: true - sidebar: - nav: "docs" \ No newline at end of file + - jekyll-avatar + - jekyll-mentions diff --git a/docs/_data/navigation.yml b/docs/_data/navigation.yml deleted file mode 100644 index 4de739c4..00000000 --- a/docs/_data/navigation.yml +++ /dev/null @@ -1,512 +0,0 @@ -# main links -main: - - title: "Home" - url: / - - title: "Docs" - url: /docs/authentication/ - - title: "Commands" - url: commands/ - - title: "About Topics" - url: abouttopics/ - - title: "Install" - url: /docs/install/ - - title: "About Us" - url: /aboutus/ - -# ++++++++++++++ Commands ++++++++++++++ -commands: - - title: "Authentication" - children: - - title: "New-TssSession" - url: /commands/New-TssSession - - title: "Initialize-TssSdkClient" - url: /commands/Initialize-TssSdkClient - - - title: "Configurations" - children: - - title: "Disable-TssUnlimitedAdmin" - url: /commands/Disable-TssUnlimitedAdmin - - title: "Enable-TssUnlimitedAdmin" - url: /commands/Get-Enable-TssUnlimitedAdmin - - title: "Get-TssConfiguration" - url: /commands/Get-TssConfiguration - - - title: "Directory Services" - children: - - title: "Search-TssDirectoryServiceDomain" - url: /commands/Search-TssDirectoryServiceDomain - - - title: "Distributed Engines" - children: - - title: "Search-TssDistributedEngineSite" - url: /commands/Search-TssDistributedEngineSite - - - title: "Folder Permissions" - children: - - title: "Get-TssFolderPermission" - url: /commands/Get-TssFolderPermission - - title: "New-TssFolderPermission" - url: /commands/New-TssFolderPermission - - title: "Remove-TssFolderPermission" - url: /commands/Remove-TssFolderPermission - - title: "Search-TssFolderPermission" - url: /commands/Search-TssFolderPermission - - title: "Set-TssFolderPermission" - url: /commands/Set-TssFolderPermission - - - title: "Folders" - children: - - title: "Find-TssFolder" - url: /commands/Find-TssFolder - - title: "Get-TssFolder" - url: /commands/Get-TssFolder - - title: "Get-TssFolderAudit" - url: /commands/Get-TssFolderAudit - - title: "New-TssFolder" - url: /commands/New-TssFolder - - title: "Remove-TssFolder" - url: /commands/Remove-TssFolder - - title: "Remove-TssFolderTemplate" - url: /commands/Remove-TssFolderTemplate - - title: "Search-TssFolder" - url: /commands/Search-TssFolder - - title: "Set-TssFolder" - url: /commands/Set-TssFolder - - - title: "Groups" - children: - - title: "Find-TssGroup" - url: /commands/Find-TssGroup - - title: "Get-TssGroup" - url: /commands/Get-TssGroup - - title: "Get-TssGroupMember" - url: /commands/Get-TssGroupMember - - title: "Remove-TssGroupMember" - url: /commands/Remove-TssGroupMember - - title: "Search-TssGroup" - url: /commands/Search-TssGroup - - - title: "Reports" - children: - - title: "Get-TssReport" - url: /commands/Get-TssReport - - title: "Get-TssReportCategory" - url: /commands/Get-TssReportCategory - - title: "New-TssReport" - url: /commands/New-TssReport - - title: "Remove-TssReportCategory" - url: /commands/Remove-TssReportCategory - - title: "Search-TssReportSchedule" - url: /commands/Search-TssReportSchedule - - - title: "Roles" - children: - - title: "Search-TssRole" - url: /commands/Search-TssRole - - - title: "RPC" - children: - - title: "Get-TssRpcPasswordType" - url: /commands/Get-TssRpcPasswordType - - title: "Get-TssSecretRpcAssociated" - url: /commands/Get-TssSecretRpcAssociated - - title: "Search-RpcPasswordType" - url: /commands/Search-RpcPasswordType - - - title: "Secrets" - children: - - title: "Close-TssSecret" - url: /commands/Close-TssSecret - - title: "Disable-TssSecretCheckout" - url: /commands/Disable-TssSecretCheckout - - title: "Disable-TssSecretEmail" - url: /commands/Disable-TssSecretEmail - - title: "Enable-TssSecretCheckout" - url: /commands/Enable-TssSecretCheckout - - title: "Enable-TssSecretEmail" - url: /commands/Enable-TssSecretEmail - - title: "Find-TssSecret" - url: /commands/Find-TssSecret - - title: "Get-TssSecret" - url: /commands/Get-TssSecret - - title: "Get-TssSecretAttachment" - url: /commands/Get-TssSecretAttachment - - title: "Get-TssSecretAudit" - url: /commands/Get-TssSecretAudit - - title: "Get-TssSecretField" - url: /commands/Get-TssSecretField - - title: "Get-TssSecretHeartbeatStatus" - url: /commands/Get-TssSecretHeartbeatStatus - - title: "Get-TssSecretPasswordStatus" - url: /commands/Get-TssSecretPasswordStatus - - title: "Get-TssSecretSetting" - url: /commands/Get-TssSecretSetting - - title: "Get-TssSecretState" - url: /commands/Get-TssSecretState - - title: "Get-TssSecretStub" - url: /commands/Get-TssSecretStub - - title: "Get-TssSecretSummary" - url: /commands/Get-TssSecretSummary - - title: "Invoke-TssSecretGeneratePassword" - url: /commands/Invoke-TssSecretGeneratePassword - - title: "New-TssSecret" - url: /commands/New-TssSecret - - title: "Open-TssSecret" - url: /commands/Open-TssSecret - - title: "Remove-TssSecret" - url: /commands/Remove-TssSecret - - title: "Restore-TssSecret" - url: /commands/Restore-TssSecret - - title: "Revoke-TssSecret" - url: /commands/Revoke-TssSecret - - title: "Search-TssSecret" - url: /commands/Search-TssSecret - - title: "Set-TssSecret" - url: /commands/Set-TssSecret - - title: "Set-TssSecretExpiration" - url: /commands/Set-TssSecretExpiration - - title: "Set-TssSecretField" - url: /commands/Set-TssSecretField - - title: "Set-TssSecretRpcPrivileged" - url: /commands/Set-TssSecretRpcPrivileged - - title: "Set-TssSecretSecurity" - url: /commands/Set-TssSecretSecurity - - title: "Start-TssSecretChangePassword" - url: /commands/Start-TssSecretChangePassword - - title: "Stop-TssSecretChangePassword" - url: /commands/Stop-TssSecretChangePassword - - title: "Update-TssSecret" - url: /commands/Update-TssSecret - - - title: "Secret Dependencies" - children: - - title: "Get-TssSecretDependency" - url: /commands/Get-TssSecretDependency - - title: "Get-TssSecretDependencyGroup" - url: /commands/Get-TssSecretDependencyGroup - - title: "Get-TssSecretDependencyRunStatus" - url: /commands/Get-TssSecretDependencyRunStatus - - title: "Get-TssSecretDependencyTemplate" - url: /commands/Get-TssSecretDependencyTemplate - - title: "New-TssSecretDependencyGroup" - url: /commands/New-TssSecretDependencyGroup - - title: "Remove-TssSecretDependency" - url: /commands/Remove-TssSecretDependency - - title: "Search-TssSecretDependency" - url: /commands/Search-TssSecretDependency - - title: "Start-TssSecretDependency" - url: /commands/Start-TssSecretDependency - - - title: "Secrets Permissions" - children: - - title: "New-TssSecretPermission" - url: /commands/New-TssSecretPermission - - title: "Search-TssSecretPermission" - url: /commands/Search-TssSecretPermission - - title: "Remove-TssSecretPermission" - url: /commands/Remove-TssSecretPermission - - title: "Update-TssSecretPermission" - url: /commands/Update-TssSecretPermission - - - title: "Secrets Templates" - children: - - title: "Add-TssSecretTemplateField" - url: /commands/Add-TssSecretTemplateField - - title: "Get-TssSecretTemplate" - url: /commands/Get-TssSecretTemplate - - title: "New-TssSecretTemplate" - url: /commands/New-TssSecretTemplate - - title: "New-TssSecretTemplateField" - url: /commands/New-TssSecretTemplateField - - title: "Search-TssSecretTemplate" - url: /commands/Search-TssSecretTemplate - - - title: "Users" - children: - - title: "Disable-TssUser" - url: /commands/Disable-TssUser - - title: "Enable-TssUser" - url: /commands/Enable-TssUser - - title: "Find-TssUser" - url: /commands/Find-TssUser - - title: "Get-TssUser" - url: /commands/Get-TssUser - - title: "Get-TssUserAudit" - url: /commands/Get-TssUserAudit - - title: "Get-TssUserGroup" - url: /commands/Get-TssUserGroup - - title: "Get-TssUserOwner" - url: /commands/Get-TssUserOwner - - title: "Get-TssUserRole" - url: /commands/Get-TssUserRole - - title: "Get-TssUserRoleAssigned" - url: /commands/Get-TssUserRoleAssigned - - title: "Lock-TssUser" - url: /commands/Lock-TssUser - - title: "New-TssUser" - url: /commands/New-TssUser - - title: "Reset-TssUserPassword" - url: /commands/Reset-TssUserPassword - - title: "Search-TssUser" - url: /commands/Search-TssUser - - title: "Show-TssCurrentUser" - url: /commands/Show-TssCurrentUser - - title: "Unlock-TssUser" - url: /commands/Unlock-TssUser - - title: "Update-TssUser" - url: /commands/Update-TssUser" - - title: "Update-TssUserPassword" - url: /commands/Update-TssUserPassword - - - title: "General" - children: - - title: "Get-TssVersion" - url: /commands/Get-TssVersion - - title: "Invoke-TssRestApi" - url: /commands/Invoke-TssRestApi - - title: "Test-TssVersion" - url: /commands/Test-TssVersion - - - title: External Links - children: - - title: GitHub - url: https://github.com/thycotic-ps/Thycotic.SecretServer/ - - title: API Documentation - url: https://docs.thycotic.com/ss/10.9.0/api-scripting/rest-api-reference-download - -# ++++++++++++++ About Topics ++++++++++++++ -abouttopics: - - title: "Authentication" - children: - - title: "TssSession" - url: /abouttopics/about_tsssession - - - title: "Configurations" - children: - - title: "TssConfigurationApplicationSettings" - url: /abouttopics/about_tssconfigurationapplicationsettings - - title: "TssConfigurationEmailSettings" - url: /abouttopics/about_tssconfigurationemailsettings - - title: "TssConfigurationGeneral" - url: /abouttopics/about_tssconfigurationgeneral - - title: "TssConfigurationFolders" - url: /abouttopics/about_tssconfigurationfolders - - title: "TssConfigurationLauncherSettings" - url: /abouttopics/about_tssconfigurationlaunchersettings - - title: "TssConfigurationLocalUserPasswords" - url: /abouttopics/about_tssconfigurationlocaluserpasswords - - title: "TssConfigurationPermissionOptions" - url: /abouttopics/about_tssconfigurationpermissionoptions - - title: "TssConfigurationProtocolHandlerSettings" - url: /abouttopics/about_tssconfigurationpermissionoptions - - title: "TssConfigurationUserExperience" - url: /abouttopics/about_tssconfigurationuserexperience - - title: "TssConfigurationUserInterface" - url: /abouttopics/about_tssconfigurationuserinterface - - - title: "Distributed Engines" - children: - - title: "TssSiteMetrics" - url: /abouttopics/about_tsssitemetrics - - title: "TssSiteSummary" - url: /abouttopics/about_tsssitesummary - - - title: "Directory Services" - children: - - title: "TssDomainSummary" - url: /abouttopics/about_tssdomainsummary - - - title: "Folder Permissions" - children: - - title: "TssFolderPermission" - url: /abouttopics/about_tssfolderpermission - - title: "TssFolderPermissionSummary" - url: /abouttopics/about_tssfolderpermissionsummary - - - title: "Folders" - children: - - title: "TssFolder" - url: /abouttopics/about_tssfolder - - title: "TssFolderAuditSummary" - url: /abouttopics/about_tssfolderauditsummary - - title: "TssFolderLookup" - url: /abouttopics/about_tssfolderlookup - - title: "TssFolderSummary" - url: /abouttopics/about_tssfoldersummary - - title: "TssFolderTemplate" - url: /abouttopics/about_tssfoldertemplate - - - title: "General" - children: - - title: "TssVersion" - url: /abouttopics/about_tssversion - - title: "TssDelete" - url: /abouttopics/about_tssdelete - - - title: "Groups" - children: - - title: "TssGroup" - url: /abouttopics/about_tssgroup - - title: "TssGroupLookup" - url: /abouttopics/about_tssgrouplookup - - title: "TssGroupOwner" - url: /abouttopics/about_tssgroupowner - - title: "TssGroupSummary" - url: /abouttopics/about_tssgroupsummary - - title: "TssGroupUser" - url: /abouttopics/about_tssgroupuser - - title: "TssGroupUserSummary" - url: /abouttopics/about_tssgroupusersummary - - - title: "Reports" - children: - - title: "TssReport" - url: /abouttopics/about_tssreport - - title: "TssReportCategory" - url: /abouttopics/about_tssreportcategory - - title: "TssReportCategoryDetail" - url: /abouttopics/about_tssreportcategorydetail - - title: "TssReportScheduleSummary" - url: /abouttopics/about_tssreportschedulesummary - - - title: "Roles" - children: - - title: "TssRole" - url: /abouttopics/about_tssrole - - - title: "RPC" - children: - - title: "TssPasswordType" - url: /abouttopics/about_tsspasswordtype - - title: "TssPasswordTypeField" - url: /abouttopics/about_tsspasswordtypefield - - title: "TssPasswordTypeSummary" - url: /abouttopics/about_tsspasswordtypesummary - - title: "TssSecretRpcAssociated" - url: /abouttopics/about_tsssecretrpcassociated - - - title: "Secrets Dependencies" - children: - - title: "TssSecretDependency" - url: /abouttopics/about_tsssecretdependency - - title: "TssSecretDependencyGroup" - url: /abouttopics/about_tsssecretdependencygroup - - title: "TssSecretDependencyGroupSummary" - url: /abouttopics/about_tsssecretdependencygroupsummary - - title: "TssSecretDependencyTaskError" - url: /abouttopics/about_tsssecretdependencytaskerror - - title: "TssSecretDependencyTaskProgress" - url: /abouttopics/about_tsssecretdependencytaskprogress - - title: "TssSecretDependencyTemplate" - url: /abouttopics/about_tsssecretdependencytemplate - - - title: "Secrets Permissions" - children: - - title: "TssSecretPerimssion" - url: /abouttopics/about_tsssecretpermission - - - title: "Secrets Templates" - children: - - title: "TssSecretTemplate" - url: /abouttopics/about_tsssecrettemplate - - title: "TssSecretTemplateField" - url: /abouttopics/about_tsssecrettemplatefield - - title: "TssSecretTemplateSummary" - url: /abouttopics/about_tsssecrettemplatesummary - - - title: "Secrets" - children: - - title: "TssOneTimePasswordSettings" - url: /abouttopics/about_tssonetimepasswordsettings - - title: "TssRdpLauncherSettings" - url: /abouttopics/about_tssrdplaunchersettings - - title: "TssSecret" - url: /abouttopics/about_tsssecret - - title: "TssSecretAudit" - url: /abouttopics/about_tsssecretaudit - - title: "TssSecretDetailSettings" - url: /abouttopics/about_tsssecretdetailsettings - - title: "TssSecretDetailState" - url: /abouttopics/about_tsssecretdetailstate - - title: "TssSecretHeartbeatStatus" - url: /abouttopics/about_tsssecretheartbeatstatus - - title: "TssSecretItem" - url: /abouttopics/about_tsssecretitem - - title: "TssSecretLookup" - url: /abouttopics/about_tsssecretlookup - - title: "TssSecretPasswordStatus" - url: /abouttopics/about_tsssecretpasswordstatus - - title: "TssSecretSummary" - url: /abouttopics/about_tsssecretsummary - - title: "TssSecretSummaryExtendedField" - url: /abouttopics/about_tsssecretsummaryextendedfield - - title: "TssSshLauncherSettings" - url: /abouttopics/about_tsssshlaunchersettings - - - title: "Users" - children: - - title: "TssCurrentUser" - url: /abouttopics/about_tsscurrentuser - - title: "TssGroupAssignedRole" - url: /abouttopics/about_tssgroupassignedrole - - title: "TssMenuLink" - url: /abouttopics/about_tssmenulink - - title: "TssRolePermission" - url: /abouttopics/about_tssrolepermission - - title: "TssRoleSummary" - url: /abouttopics/about_tssrolesummary - - title: "TssUser" - url: /abouttopics/about_tssuser - - title: "TssUserAuditSummary" - url: /abouttopics/about_tssuserauditsummary - - title: "TssUserLookup" - url: /abouttopics/about_tssuserlookup - - title: "TssUserOwnerSummary" - url: /abouttopics/about_tssuserownersummary - - title: "TssUserRoleSummary" - url: /abouttopics/about_tssuserrolesummary - - title: "TssUserSummary" - url: /abouttopics/about_tssusersummary - - - title: External Links - children: - - title: GitHub - url: https://github.com/thycotic-ps/Thycotic.SecretServer/ - - title: API Documentation - url: https://docs.thycotic.com/ss/10.9.0/api-scripting/rest-api-reference-download - -# ++++++++++++++ Docs ++++++++++++++ -docs: - - title: Getting Started - children: - - title: "Install Options" - url: /docs/install/ - - title: "Authentication" - url: /docs/authentication/ - - title: "Invoke-TssRestApi" - url: /docs/invoketssrestapi - - title: "Compatibility" - url: /docs/compatibility/ - - - title: "Working With" - children: - - title: "Folders" - url: /docs/workingwith-folders/ - - title: "Logging" - url: /docs/workingwith-logging/ - - title: "Secrets" - url: /docs/workingwith-secrets/ - - title: "Secret Dependencies" - url: /docs/workingwith-secretdependencies/ - - - title: External Links - children: - - title: GitHub - url: https://github.com/thycotic-ps/Thycotic.SecretServer/ - - title: API Documentation - url: https://docs.thycotic.com/ss/10.9.0/api-scripting/rest-api-reference-download - - - title: More Tools - children: - - title: "Secret Server Postman Collection" - url: https://github.com/thycotic-ps/secretserver-postman \ No newline at end of file diff --git a/docs/_data/ui-text.yml b/docs/_data/ui-text.yml deleted file mode 100644 index fe937f12..00000000 --- a/docs/_data/ui-text.yml +++ /dev/null @@ -1,1558 +0,0 @@ -# User interface text and labels - -# English (default) -# ----------------- -en: &DEFAULT_EN - skip_links : "Skip links" - skip_primary_nav : "Skip to primary navigation" - skip_content : "Skip to content" - skip_footer : "Skip to footer" - page : "Page" - pagination_previous : "Previous" - pagination_next : "Next" - breadcrumb_home_label : "Home" - breadcrumb_separator : "/" - menu_label : "Toggle menu" - search_label : "Toggle search" - toc_label : "On this page" - ext_link_label : "Direct link" - less_than : "less than" - minute_read : "minute read" - share_on_label : "Share on" - meta_label : - tags_label : "Tags:" - categories_label : "Categories:" - date_label : "Updated:" - comments_label : "Leave a comment" - comments_title : "Comments" - more_label : "Learn more" - related_label : "You may also enjoy" - follow_label : "Follow:" - feed_label : "Feed" - powered_by : "Powered by" - website_label : "Website" - email_label : "Email" - recent_posts : "Recent posts" - undefined_wpm : "Undefined parameter words_per_minute at _config.yml" - comment_form_info : "Your email address will not be published. Required fields are marked" - comment_form_comment_label : "Comment" - comment_form_md_info : "Markdown is supported." - comment_form_name_label : "Name" - comment_form_email_label : "Email address" - comment_form_website_label : "Website (optional)" - comment_btn_submit : "Submit comment" - comment_btn_submitted : "Submitted" - comment_success_msg : "Thanks for your comment! It will show on the site once it has been approved." - comment_error_msg : "Sorry, there was an error with your submission. Please make sure all required fields have been completed and try again." - loading_label : "Loading..." - search_label_text : "Enter your search term..." - search_placeholder_text : "Enter your search term..." - results_found : "Result(s) found" - back_to_top : "Back to top" -en-US: - <<: *DEFAULT_EN -en-CA: - <<: *DEFAULT_EN -en-GB: - <<: *DEFAULT_EN -en-AU: - <<: *DEFAULT_EN - -# Spanish -# ------- -es: &DEFAULT_ES - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "Página" - pagination_previous : "Anterior" - pagination_next : "Siguiente" - breadcrumb_home_label : "Inicio" - breadcrumb_separator : "/" - menu_label : "Alternar menú" - search_label : "Alternar búsqueda" - toc_label : "En esta página" - ext_link_label : "Enlace directo" - less_than : "menos de" - minute_read : "minuto(s) de lectura" - share_on_label : "Compartir en" - meta_label : - tags_label : "Etiquetas:" - categories_label : "Categorías:" - date_label : "Actualizado:" - comments_label : "Deja un comentario" - comments_title : "Comentarios" - more_label : "Ver más" - related_label : "Puede que también te interese" - follow_label : "Seguir:" - feed_label : "Feed" - powered_by : "Funciona con" - website_label : "Sitio web" - email_label : "Correo electrónico" - recent_posts : "Entradas recientes" - undefined_wpm : "El parámetro words_per_minute (palabras por minuto) no está definido en _config.yml" - comment_form_info : "Tu dirección de correo electrónico no se publicará. Los campos obligatorios están marcados" - comment_form_comment_label : "Comentario" - comment_form_md_info : "Puedes utilizar Markdown" - comment_form_name_label : "Nombre" - comment_form_email_label : "Dirección de correo electrónico" - comment_form_website_label : "Sitio web (opcional)" - comment_btn_submit : "Enviar comentario" - comment_btn_submitted : "Enviado" - comment_success_msg : "¡Gracias por tu comentario! Se publicará una vez sea aprobado." - comment_error_msg : "Ha ocurrido un error al enviar el comentario. Asegúrate de completar todos los campos obligatorios e inténtalo de nuevo." - loading_label : "Cargando..." - search_label_text : - search_placeholder_text : "Términos de búsqueda..." - results_found : "resultado(s) encontrado(s)" - back_to_top : "Volver arriba" -es-ES: - <<: *DEFAULT_ES -es-CO: - <<: *DEFAULT_ES - -# French -# ------ -fr: &DEFAULT_FR - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "Page" - pagination_previous : "Précédent" - pagination_next : "Suivant" - breadcrumb_home_label : "Accueil" - breadcrumb_separator : "/" - menu_label : "Menu" - search_label : - toc_label : "Sur cette page" - ext_link_label : "Lien direct" - less_than : "moins de" - minute_read : "minute(s) de lecture" - share_on_label : "Partager sur" - meta_label : - tags_label : "Tags :" - categories_label : "Catégories :" - date_label : "Mis à jour :" - comments_label : "Laisser un commentaire" - comments_title : "Commentaires" - more_label : "Lire plus" - related_label : "Vous pourriez aimer aussi" - follow_label : "Contact" - feed_label : "Flux" - powered_by : "Propulsé par" - website_label : "Site" - email_label : "Email" - recent_posts : "Posts récents" - undefined_wpm : "Le paramètre words_per_minute n'est pas défini dans _config.yml" - comment_form_info : "Votre adresse email ne sera pas visible. Les champs obligatoires sont marqués" - comment_form_comment_label : "Commentaire" - comment_form_md_info : "Markdown est supporté." - comment_form_name_label : "Nom" - comment_form_email_label : "Adresse mail" - comment_form_website_label : "Site web (optionnel)" - comment_btn_submit : "Envoyer" - comment_btn_submitted : "Envoyé" - comment_success_msg : "Merci pour votre commentaire, il sera visible sur le site une fois approuvé." - comment_error_msg : "Désolé, une erreur est survenue lors de la soumission. Vérifiez que les champs obligatoires ont été remplis et réessayez." - loading_label : "Chargement..." - search_label_text : - search_placeholder_text : "Entrez votre recherche..." - results_found : "Résultat(s) trouvé(s)" - back_to_top : "Retour en haut" -fr-FR: - <<: *DEFAULT_FR -fr-BE: - <<: *DEFAULT_FR -fr-CH: - <<: *DEFAULT_FR - -# Turkish -# ------- -tr: &DEFAULT_TR - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "Sayfa" - pagination_previous : "Önceki" - pagination_next : "Sonraki" - breadcrumb_home_label : "Ana Sayfa" - breadcrumb_separator : "/" - menu_label : - search_label : - toc_label : "İçindekiler" - ext_link_label : "Doğrudan Bağlantı" - less_than : "Şu süreden az: " - minute_read : "dakika tahmini okuma süresi" - share_on_label : "Paylaş" - meta_label : - tags_label : "Etiketler:" - categories_label : "Kategoriler:" - date_label : "Güncelleme tarihi:" - comments_label : "Yorum yapın" - comments_title : "Yorumlar" - more_label : "Daha fazlasını öğrenin" - related_label : "Bunlar ilginizi çekebilir:" - follow_label : "Takip et:" - feed_label : "RSS" - powered_by : "Emeği geçenler: " - website_label : "Web sayfası" - email_label : "E-posta" - recent_posts : "Son yazılar" - undefined_wpm : "_config.yml dosyasında tanımlanmamış words_per_minute parametresi" - comment_form_info : "Email adresiniz gösterilmeyecektir. Zorunlu alanlar işaretlenmiştir" - comment_form_comment_label : "Yorumunuz" - comment_form_md_info : "Markdown desteklenmektedir." - comment_form_name_label : "Adınız" - comment_form_email_label : "Email adresiniz" - comment_form_website_label : "Websiteniz (opsiyonel)" - comment_btn_submit : "Yorum Yap" - comment_btn_submitted : "Gönderildi" - comment_success_msg : "Yorumunuz için teşekkürler! Yorumunuz onaylandıktan sonra sitede gösterilecektir." - comment_error_msg : "Maalesef bir hata oluştu. Lütfen zorunlu olan tüm alanları doldurduğunuzdan emin olun ve sonrasında tekrar deneyin." - loading_label : "Yükleniyor..." - search_label_text : -tr-TR: - <<: *DEFAULT_TR - -# Portuguese -# ---------- -pt: &DEFAULT_PT - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "Página" - pagination_previous : "Anterior" - pagination_next : "Seguinte" - breadcrumb_home_label : "Início" - breadcrumb_separator : "/" - menu_label : - search_label : - toc_label : "Nesta Página" - ext_link_label : "Link Direto" - less_than : "menos de" - minute_read : "minutos de leitura" - share_on_label : "Partilhar no" - meta_label : - tags_label : "Etiquetas:" - categories_label : "Categorias:" - date_label : "Atualizado:" - comments_label : "Deixe um Comentário" - comments_title : "Comentários" - more_label : "Saber mais" - related_label : "Também pode gostar de" - follow_label : "Siga:" - feed_label : "Feed" - powered_by : "Feito com" - website_label : "Site" - email_label : "Email" - recent_posts : "Artigos Recentes" - undefined_wpm : "Parâmetro words_per_minute não definido em _config.yml" - comment_form_info : "O seu endereço email não será publicado. Os campos obrigatórios estão assinalados" - comment_form_comment_label : "Comentário" - comment_form_md_info : "Markdown é suportado." - comment_form_name_label : "Nome" - comment_form_email_label : "Endereço Email" - comment_form_website_label : "Site (opcional)" - comment_btn_submit : "Sumbeter Comentário" - comment_btn_submitted : "Submetido" - comment_success_msg : "Obrigado pelo seu comentário! Será visível no site logo que aprovado." - comment_error_msg : "Lamento, ocorreu um erro na sua submissão. Por favor verifique se todos os campos obrigatórios estão corretamente preenchidos e tente novamente." - loading_label : "A carregar..." - search_label_text : -pt-PT: - <<: *DEFAULT_PT -# Brazilian Portuguese -pt-BR: - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "Página" - pagination_previous : "Anterior" - pagination_next : "Próxima" - breadcrumb_home_label : "Home" - breadcrumb_separator : "/" - menu_label : - search_label : "Buscar" - toc_label : "Nesta página" - ext_link_label : "Link direto" - less_than : "menos que" - minute_read : "minuto(s) de leitura" - share_on_label : "Compartilhe" - meta_label : - tags_label : "Tags:" - categories_label : "Categorias:" - date_label : "Atualizado em:" - comments_label : "Deixe um comentário" - comments_title : "Comentários" - more_label : "Saiba mais" - related_label : "Talvez você também goste" - follow_label : "Acompanhe no" - feed_label : "Feed" - powered_by : "Desenvolvido com" - website_label : "Site" - email_label : "E-mail" - recent_posts : "Publicações recentes" - undefined_wpm : "Parâmetro words_per_minute indefinido no _config.yml" - comment_form_info : "Seu e-mail não será publicado. Os campos obrigatórios estão marcados" - comment_form_comment_label : "Comentário" - comment_form_md_info : "Você pode usar Markdown." - comment_form_name_label : "Nome" - comment_form_email_label : "E-mail" - comment_form_website_label : "Site (opcional)" - comment_btn_submit : "Enviar comentário" - comment_btn_submitted : "Enviado" - comment_success_msg : "Obrigado pelo seu comentário! Ele aparecerá no site assim que for aprovado." - comment_error_msg : "Desculpe, ocorreu um erro no envio. Verifique se todos os campos obrigatórios foram preenchidos e tente novamente." - loading_label : "Carregando..." - search_label_text : - search_placeholder_text : "Pesquisar..." - results_found : "Resultado(s) encontrado(s)" - back_to_top : "Voltar para o topo" - -# Italian -# ------- -it: &DEFAULT_IT - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "Pagina" - pagination_previous : "Precedente" - pagination_next : "Prossima" - breadcrumb_home_label : "Home" - breadcrumb_separator : "/" - menu_label : - search_label : - toc_label : "Indice della pagina" - ext_link_label : "Link" - less_than : "meno di" - minute_read : "minuto/i di lettura" - share_on_label : "Condividi" - meta_label : - tags_label : "Tags:" - categories_label : "Categorie:" - date_label : "Aggiornato:" - comments_label : "Scrivi un commento" - comments_title : - more_label : "Scopri di più" - related_label : "Potrebbe Piacerti Anche" - follow_label : "Segui:" - feed_label : "Feed" - powered_by : "Powered by" - website_label : "Website" - email_label : "Email" - recent_posts : "Articoli Recenti" - undefined_wpm : "Parametro words_per_minute non definito in _config.yml" - comment_form_info : "Il tuo indirizzo email non sarà pubblicato. Sono segnati i campi obbligatori" - comment_form_comment_label : "Commenta" - comment_form_md_info : "Il linguaggio Markdown è supportato" - comment_form_name_label : "Nome" - comment_form_email_label : "Indirizzo email" - comment_form_website_label : "Sito Web (opzionale)" - comment_btn_submit : "Invia commento" - comment_btn_submitted : "Inviato" - comment_success_msg : "Grazie per il tuo commento! Verrà visualizzato nel sito una volta che sarà approvato." - comment_error_msg : "C'è stato un errore con il tuo invio. Assicurati che tutti i campi richiesti siano stati completati e riprova." - loading_label : "Caricamento..." - search_label_text : - search_placeholder_text : "Inserisci termini di ricerca..." - results_found : "Risultati" - back_to_top : "Vai su" -it-IT: - <<: *DEFAULT_IT - -# Chinese (zh-CN Chinese - China) -# -------------------------------- -zh: &DEFAULT_ZH_HANS - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "页面" - pagination_previous : "向前" - pagination_next : "向后" - breadcrumb_home_label : "首页" - breadcrumb_separator : "/" - menu_label : "切换菜单" - search_label : - toc_label : "在本页上" - ext_link_label : "直接链接" - less_than : "少于" - minute_read : "分钟读完" - share_on_label : "分享" - meta_label : - tags_label : "标签:" - categories_label : "分类:" - date_label : "更新时间:" - comments_label : "留下评论" - comments_title : "评论" - more_label : "了解更多" - related_label : "猜您还喜欢" - follow_label : "关注:" - feed_label : "Feed" - powered_by : "技术来自于" - website_label : "网站" - email_label : "电子邮箱" - recent_posts : "最新文章" - undefined_wpm : "_config.yml配置中words_per_minute字段未定义" - comment_form_info : "您的电子邮箱地址并不会被展示。请填写标记为必须的字段。" - comment_form_comment_label : "评论" - comment_form_md_info : "Markdown语法已支持。" - comment_form_name_label : "姓名" - comment_form_email_label : "电子邮箱" - comment_form_website_label : "网站(可选)" - comment_btn_submit : "提交评论" - comment_btn_submitted : "已提交" - comment_success_msg : "感谢您的评论!被批准后它会立即在此站点展示。" - comment_error_msg : "很抱歉,您的提交存在错误。请确保所有必填字段都已填写正确,然后再试一次。" - loading_label : "正在加载..." - search_label_text : - search_placeholder_text : "输入您要搜索的关键词..." - results_found : "条记录匹配" - back_to_top : "返回顶部" -zh-CN: - <<: *DEFAULT_ZH_HANS -zh-SG: - <<: *DEFAULT_ZH_HANS -# Taiwan (Traditional Chinese) -zh-TW: &DEFAULT_ZH_HANT - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "頁面" - pagination_previous : "較舊" - pagination_next : "較新" - breadcrumb_home_label : "首頁" - breadcrumb_separator : "/" - menu_label : "切換選單" - search_label : - toc_label : "本頁" - ext_link_label : "外部連結" - less_than : "少於" - minute_read : "分鐘閱讀" - share_on_label : "分享到" - meta_label : - tags_label : "標籤:" - categories_label : "分類:" - date_label : "更新時間:" - comments_label : "留言" - comments_title : "留言內容" - more_label : "了解更多" - related_label : "猜您有與趣" - follow_label : "追蹤:" - feed_label : "RSS Feed" - powered_by : "Powered by" - website_label : "網站" - email_label : "電子信箱" - recent_posts : "最新文章" - undefined_wpm : "_config.yml 中未定義 words_per_minute" - comment_form_info : "您的電子信箱不會被公開. 必填部份已標記" - comment_form_comment_label : "留言內容" - comment_form_md_info : "支援Markdown語法。" - comment_form_name_label : "名字" - comment_form_email_label : "電子信箱帳號" - comment_form_website_label : "網頁 (可選填)" - comment_btn_submit : "送出留言" - comment_btn_submitted : "已送出" - comment_success_msg : "感謝您的留言! 審核後將會顯示在站上。" - comment_error_msg : "抱歉,部份資料輸入有問題。請確認資料填寫正確後再試一次。" - loading_label : "載入中..." - search_label_text : -zh-HK: - <<: *DEFAULT_ZH_HANT - -# German / Deutsch -# ---------------- -de: &DEFAULT_DE - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "Seite" - pagination_previous : "Vorherige" - pagination_next : "Nächste" - breadcrumb_home_label : "Start" - breadcrumb_separator : "/" - menu_label : "Menü ein-/ausschalten" - search_label : - toc_label : "Auf dieser Seite" - ext_link_label : "Direkter Link" - less_than : "weniger als" - minute_read : "Minuten zum lesen" - share_on_label : "Teilen auf" - meta_label : - tags_label : "Tags:" - categories_label : "Kategorien:" - date_label : "Aktualisiert:" - comments_label : "Hinterlassen Sie einen Kommentar" - comments_title : "Kommentare" - more_label : "Mehr anzeigen" - related_label : "Ihnen gefällt vielleicht auch" - follow_label : "Folgen:" - feed_label : "Feed" - powered_by : "Möglich durch" - website_label : "Webseite" - email_label : "E-Mail" - recent_posts : "Aktuelle Beiträge" - undefined_wpm : "Undefinierter Parameter words_per_minute in _config.yml" - comment_form_info : "Ihre E-Mail Adresse wird nicht veröffentlicht. Benötigte Felder sind markiert" - comment_form_comment_label : "Kommentar" - comment_form_md_info : "Markdown wird unterstützt." - comment_form_name_label : "Name" - comment_form_email_label : "E-Mail-Addresse" - comment_form_website_label : "Webseite (optional)" - comment_btn_submit : "Kommentar absenden" - comment_btn_submitted : "Versendet" - comment_success_msg : "Danke für Ihren Kommentar! Er wird auf der Seite angezeigt, nachdem er geprüft wurde." - comment_error_msg : "Entschuldigung, es gab einen Fehler. Bitte füllen Sie alle benötigten Felder aus und versuchen Sie es erneut." - loading_label : "Lade..." - search_label_text : - search_placeholder_text : "Suchbegriff eingeben..." - results_found : "Ergebnis(se) gefunden" -de-DE: - <<: *DEFAULT_DE -de-AT: - <<: *DEFAULT_DE -de-CH: - <<: *DEFAULT_DE -de-BE: - <<: *DEFAULT_DE -de-LI: - <<: *DEFAULT_DE -de-LU: - <<: *DEFAULT_DE - -# Nepali (Nepal) -# -------------- -ne: &DEFAULT_NE - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "पृष्‍ठ" - pagination_previous : "अघिल्लो" - pagination_next : "अर्को" - breadcrumb_home_label : "गृह" - breadcrumb_separator : "/" - menu_label : "टगल मेनु" - search_label : - toc_label : "यो पृष्‍ठमा" - ext_link_label : "सिधा सम्पर्क" - less_than : "कम्तिमा" - minute_read : "मिनेट पढ्नुहोस्" - share_on_label : "शेयर गर्नुहोस्" - meta_label : - tags_label : "ट्यागहरू:" - categories_label : "वर्गहरु:" - date_label : "अद्यावधिक:" - comments_label : "टिप्पणी दिनुहोस्" - comments_title : "टिप्पणीहरू" - more_label : "अझै सिक्नुहोस्" - related_label : "तपाईं रुचाउन सक्नुहुन्छ " - follow_label : "पछ्याउनुहोस्:" - feed_label : "फिड" - powered_by : "Powered by" - website_label : "वेबसाइट" - email_label : "इमेल" - recent_posts : "ताजा लेखहरु" - undefined_wpm : "अपरिभाषित प्यारामिटर शब्दहरू_प्रति_मिनेट at _config.yml" - comment_form_info : "तपाइँको इमेल ठेगाना प्रकाशित गरिने छैन।आवश्यक जानकारीहरुमा चिन्ह लगाइको छ" - comment_form_comment_label : "टिप्पणी" - comment_form_md_info : "मार्कडाउन समर्थित छ।" - comment_form_name_label : "नाम" - comment_form_email_label : "इमेल ठेगाना" - comment_form_website_label : "वेबसाइट (वैकल्पिक)" - comment_btn_submit : "टिप्पणी दिनुहोस् " - comment_btn_submitted : "टिप्पणी भयो" - comment_success_msg : "तपाईंको टिप्पणीको लागि धन्यवाद! एक पटक यो अनुमोदन गरेपछी यो साइटमा देखाउनेछ।" - comment_error_msg : "माफ गर्नुहोस्, तपाईंको टिप्पणी त्रुटि थियो।सबै आवश्यक जानकारीहरु पूरा गरिएको छ भने निश्चित गर्नुहोस् र फेरि प्रयास गर्नुहोस्।" - loading_label : "लोड हुँदैछ ..." - search_label_text : -ne-NP: - <<: *DEFAULT_NE - -# Korean -# ------ -ko: &DEFAULT_KO - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "페이지" - pagination_previous : "이전" - pagination_next : "다음" - breadcrumb_home_label : "Home" - breadcrumb_separator : "/" - menu_label : "토글 메뉴" - search_label : - toc_label : "On This Page" - ext_link_label : "직접 링크" - less_than : "최대" - minute_read : "분 소요" - share_on_label : "공유하기" - meta_label : - tags_label : "태그:" - categories_label : "카테고리:" - date_label : "업데이트:" - comments_label : "댓글남기기" - comments_title : "댓글" - more_label : "더 보기" - related_label : "참고" - follow_label : "팔로우:" - feed_label : "피드" - powered_by : "Powered by" - website_label : "웹사이트" - email_label : "이메일" - recent_posts : "최근 포스트" - undefined_wpm : "Undefined parameter words_per_minute at _config.yml" - comment_form_info : "이메일은 공개되지 않습니다. 작성 필요 필드:" - comment_form_comment_label : "댓글" - comment_form_md_info : "마크다운을 지원합니다." - comment_form_name_label : "이름" - comment_form_email_label : "이메일" - comment_form_website_label : "웹사이트(선택사항)" - comment_btn_submit : "댓글 등록" - comment_btn_submitted : "등록됨" - comment_success_msg : "감사합니다! 댓글이 머지된 후 확인하실 수 있습니다." - comment_error_msg : "댓글 등록에 문제가 있습니다. 필요 필드를 작성했는지 확인하고 다시 시도하세요." - loading_label : "로딩중..." - search_label_text : - search_placeholder_text : "검색어를 입력하세요..." - results_found : "개 결과 발견" - back_to_top : "맨 위로 이동" -ko-KR: - <<: *DEFAULT_KO - -# Russian / Русский -# ----------------- -ru: &DEFAULT_RU - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "Страница" - pagination_previous : "Предыдущая" - pagination_next : "Следующая" - breadcrumb_home_label : "Главная" - breadcrumb_separator : "/" - menu_label : "Выпадающее меню" - search_label : - toc_label : "Содержание" - ext_link_label : "Прямая ссылка" - less_than : "менее" - minute_read : "мин на чтение" - share_on_label : "Поделиться" - meta_label : - tags_label : "Метки:" - categories_label : "Разделы:" - date_label : "Дата изменения:" - comments_label : "Оставить комментарий" - comments_title : "Комментарии" - more_label : "Читать далее" - related_label : "Вам также может понравиться" - follow_label : "Связаться со мной:" - feed_label : "RSS-лента" - powered_by : "Сайт работает на" - website_label : "Сайт" - email_label : "Электронная почта" - recent_posts : "Свежие записи" - undefined_wpm : "Не определён параметр words_per_minute в _config.yml" - comment_form_info : "Ваш адрес электронной почты не будет опубликован. Обязательные поля помечены" - comment_form_comment_label : "Комментарий" - comment_form_md_info : "Поддерживается синтаксис Markdown." - comment_form_name_label : "Имя" - comment_form_email_label : "Электронная почта" - comment_form_website_label : "Ссылка на сайт (необязательно)" - comment_btn_submit : "Оставить комментарий" - comment_btn_submitted : "Отправлено" - comment_success_msg : "Спасибо за Ваш комментарий! Он будет опубликован на сайте после проверки." - comment_error_msg : "К сожалению, произошла ошибка с отправкой комментария. Пожалуйста, убедитесь, что все обязательные поля заполнены и попытайтесь снова." - loading_label : "Отправка..." - search_label_text : - search_placeholder_text : "Введите поисковый запрос..." - results_found : "Найдено" -ru-RU: - <<: *DEFAULT_RU - -# Lithuanian / Lietuviškai -# ------------------------ -lt: &DEFAULT_LT - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "Puslapis" - pagination_previous : "Ankstesnis" - pagination_next : "Sekantis" - breadcrumb_home_label : "Pagrindinis" - breadcrumb_separator : "/" - menu_label : "Meniu rodymas" - search_label : - toc_label : "Turinys" - ext_link_label : "Tiesioginė nuoroda" - less_than : "mažiau nei" - minute_read : "min. skaitymo" - share_on_label : "Pasidalinti" - meta_label : - tags_label : "Žymės:" - categories_label : "Kategorijos:" - date_label : "Atnaujinta:" - comments_label : "Palikti komentarą" - comments_title : "Komentaras" - more_label : "Skaityti daugiau" - related_label : "Taip pat turėtų patikti" - follow_label : "Sekti:" - feed_label : "Šaltinis" - powered_by : "Sukurta su" - website_label : "Tinklapis" - email_label : "El. paštas" - recent_posts : "Naujausi įrašai" - undefined_wpm : "Nedeklaruotas parametras words_per_minute faile _config.yml" - comment_form_info : "El. pašto adresas nebus viešinamas. Būtini laukai pažymėti." - comment_form_comment_label : "Komentaras" - comment_form_md_info : "Markdown palaikomas." - comment_form_name_label : "Vardas" - comment_form_email_label : "El. paštas" - comment_form_website_label : "Tinklapis (nebūtina)" - comment_btn_submit : "Komentuoti" - comment_btn_submitted : "Įrašytas" - comment_success_msg : "Ačiū už komentarą! Jis bus parodytas kai bus patvirtintas." - comment_error_msg : "Atleiskite, įvyko netikėta klaida įrašant komentarą. Pasitikrinkite ar užpildėte visus būtinus laukus ir pamėginkite dar kartą." - loading_label : "Kraunama..." - search_label_text : -lt-LT: - <<: *DEFAULT_LT - -# Greek -# ----- -gr: &DEFAULT_GR - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "Σελίδα" - pagination_previous : "Προηγούμενo" - pagination_next : "Επόμενo" - breadcrumb_home_label : "Αρχική" - breadcrumb_separator : "/" - menu_label : "Μενού" - search_label : - toc_label : "Περιεχόμενα" - ext_link_label : "Εξωτερικός Σύνδεσμος" - less_than : "Λιγότερο από" - minute_read : "λεπτά ανάγνωσης" - share_on_label : "Μοιραστείτε το" - meta_label : - tags_label : "Ετικέτες:" - categories_label : "Κατηγορίες:" - date_label : "Ενημερώθηκε:" - comments_label : "Αφήστε ένα σχόλιο" - comments_title : "Σχόλια" - more_label : "Διάβαστε περισσότερα" - related_label : "Σχετικές αναρτήσεις" - follow_label : "Ακολουθήστε:" - feed_label : "RSS Feed" - powered_by : "Δημιουργήθηκε με" - website_label : "Ιστοσελίδα" - email_label : "Email" - recent_posts : "Τελευταίες αναρτήσεις" - undefined_wpm : "Δεν έχει οριστεί η παράμετρος words_per_minute στο αρχείο _config.yml" - comment_form_info : "Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα απαιτούμενα πεδία εμφανίζονται με αστερίσκο" - comment_form_comment_label : "Σχόλιο" - comment_form_md_info : "Το πεδίο υποστηρίζει Markdown." - comment_form_name_label : "Όνομα" - comment_form_email_label : "Διεύθυνση email" - comment_form_website_label : "Ιστοσελίδα (προαιρετικό)" - comment_btn_submit : "Υπόβαλε ένα σχόλιο" - comment_btn_submitted : "Έχει υποβληθεί" - comment_success_msg : "Ευχαριστούμε για το σχόλιό σας! Θα εμφανιστεί στην ιστοσελίδα αφού εγκριθεί." - comment_error_msg : "Λυπούμαστε, παρουσιάστηκε σφάλμα με την υποβολή σας. Παρακαλούμε βεβαιωθείτε ότι έχετε όλα τα απαιτούμενα πεδία συμπληρωμένα και δοκιμάστε ξανά." - loading_label : "Φόρτωση..." - search_label_text : - search_placeholder_text : "Εισάγετε όρο αναζήτησης..." - results_found : "Αποτελέσματα" -gr-GR: - <<: *DEFAULT_GR - -# Swedish -# ------- -sv: &DEFAULT_SV - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "Sidan" - pagination_previous : "Föregående" - pagination_next : "Nästa" - breadcrumb_home_label : "Hem" - breadcrumb_separator : "/" - menu_label : "Växla menyläge" - search_label : "Växla sökläge" - toc_label : "På denna sida" - ext_link_label : "Direkt länk" - less_than : "mindre än" - minute_read : "minut läsning" - share_on_label : "Dela på" - meta_label : - tags_label : "Taggar:" - categories_label : "Kategorier:" - date_label : "Uppdaterades:" - comments_label : "Lämna en kommentar" - comments_title : "Kommentarer" - more_label : "Lär dig mer" - related_label : "Du kanske vill även läsa:" - follow_label : "Följ:" - feed_label : "Flöde" - powered_by : "Framställd med" - website_label : "Webbsida" - email_label : "E-post" - recent_posts : "Senaste inlägg" - undefined_wpm : "Odefinerade parametrar words_per_minute i _config.yml" - comment_form_info : "Din e-post adress kommer inte att publiceras. Obligatoriska fält är markerade." - comment_form_comment_label : "Kommentar" - comment_form_md_info : "Stöd för Markdown finns." - comment_form_name_label : "Namn" - comment_form_email_label : "E-post adress" - comment_form_website_label : "Webdsida (valfritt)" - comment_btn_submit : "Skicka en kommentar" - comment_btn_submitted : "Kommentaren har tagits emot" - comment_success_msg : "Tack för din kommentar! Den kommer att visas på sidan så fort den har godkännts." - comment_error_msg : "Tyvärr det har blivit något fel i ett av fälten, se till att du fyllt i alla obligatoriska fält och försök igen." - loading_label : "Laddar..." - search_label_text : - search_placeholder_text : "Fyll i sökterm..." - results_found : "Resultat funna" - back_to_top : "Tillbaka till toppen" -sv-SE: - <<: *DEFAULT_SV -sv-FI: - <<: *DEFAULT_SV - -# Dutch -# ----- -nl: &DEFAULT_NL - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "Pagina" - pagination_previous : "Vorige" - pagination_next : "Volgende" - breadcrumb_home_label : "Home" - breadcrumb_separator : "/" - menu_label : "Wissel Menu" - search_label : - toc_label : "Op deze pagina" - ext_link_label : "Directe Link" - less_than : "minder dan" - minute_read : "minuut gelezen" - share_on_label : "Deel op" - meta_label : - tags_label : "Labels:" - categories_label : "Categorieën:" - date_label : "Bijgewerkt:" - comments_label : "Laat een reactie achter" - comments_title : "Commentaren" - more_label : "Meer informatie" - related_label : "Bekijk ook eens" - follow_label : "Volg:" - feed_label : "Feed" - powered_by : "Aangedreven door" - website_label : "Website" - email_label : "Email" - recent_posts : "Recente berichten" - undefined_wpm : "Niet gedefinieerde parameter words_per_minute bij _config.yml" - comment_form_info : "Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd" - comment_form_comment_label : "Commentaar" - comment_form_md_info : "Markdown wordt ondersteund." - comment_form_name_label : "Naam" - comment_form_email_label : "E-mailadres" - comment_form_website_label : "Website (optioneel)" - comment_btn_submit : "Commentaar toevoegen" - comment_btn_submitted : "Toegevoegd" - comment_success_msg : "Bedankt voor uw reactie! Het zal op de site worden weergegeven zodra het is goedgekeurd." - comment_error_msg : "Sorry, er is een fout opgetreden bij uw inzending. Zorg ervoor dat alle vereiste velden zijn voltooid en probeer het opnieuw." - loading_label : "Laden..." - search_label_text : -nl-BE: - <<: *DEFAULT_NL -nl-NL: - <<: *DEFAULT_NL - -# Indonesian -# ---------- -id: &DEFAULT_ID - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "Halaman" - pagination_previous : "Kembali" - pagination_next : "Maju" - breadcrumb_home_label : "Home" - breadcrumb_separator : "/" - menu_label : "Menu Toggle" - search_label : - toc_label : "Pada Halaman Ini" - ext_link_label : "Link langsung" - less_than : "Kurang dari" - minute_read : "Waktu baca" - share_on_label : "Berbagi di" - meta_label : - tags_label : "Golongan:" - categories_label : "Kategori:" - date_label : "Diupdate:" - comments_label : "Tinggalkan komentar" - comments_title : "Komentar" - more_label : "Pelajari lagi" - related_label : "Anda juga akan suka" - follow_label : "Ikuti:" - feed_label : "Feed" - powered_by : "Didukung oleh" - website_label : "Website" - email_label : "Email" - recent_posts : "Posting terbaru" - undefined_wpm : "Parameter terdeskripsi words_per_minute di _config.yml" - comment_form_info : "Email Anda tidak akan dipublish. Kolom yang diperlukan ditandai" - comment_form_comment_label : "Komentar" - comment_form_md_info : "Markdown disupport." - comment_form_name_label : "Nama" - comment_form_email_label : "Alamat email" - comment_form_website_label : "Website (opsional)" - comment_btn_submit : "Submit Komentar" - comment_btn_submitted : "Telah disubmit" - comment_success_msg : "Terimakasih atas komentar Anda! Komentar ini akan tampil setelah disetujui." - comment_error_msg : "Maaf, ada kesalahan pada submisi Anda. Pastikan seluruh kolom sudah dilengkapi dan coba kembali." - loading_label : "Sedang meload..." - search_label_text : -id-ID: - <<: *DEFAULT_ID - -# Vietnamese -# ---------- -vi: &DEFAULT_VI - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "Trang" - pagination_previous : "Trước" - pagination_next : "Sau" - breadcrumb_home_label : "Trang chủ" - breadcrumb_separator : "/" - menu_label : "Menu" - search_label : - toc_label : "Tại trang này" - ext_link_label : "Đường dẫn trực tiếp" - less_than : "nhỏ hơn" - minute_read : "phút đọc" - share_on_label : "Chia sẻ tại" - meta_label : - tags_label : "Nhãn:" - categories_label : "Chủ đề:" - date_label : "Cập nhật:" - comments_label : "Để lại bình luận" - comments_title : "Bình luận" - more_label : "Mở rộng" - related_label : "Có thể bạn cũng thích" - follow_label : "Theo dõi:" - feed_label : "Feed" - powered_by : "Được hỗ trợ bởi" - website_label : "Website" - email_label : "Email" - recent_posts : "Bài viết mới" - undefined_wpm : "Chưa định nghĩa thông số words_per_minute tại _config.yml" - comment_form_info : "Email của bạn sẽ được giữ bí mật. Các phần bắt buộc được đánh dấu." - comment_form_comment_label : "Bình luận" - comment_form_md_info : "Hỗ trợ Markdown." - comment_form_name_label : "Tên" - comment_form_email_label : "Địa chỉ email" - comment_form_website_label : "Website (không bắt buộc)" - comment_btn_submit : "Gửi bình luận" - comment_btn_submitted : "Đã được gửi" - comment_success_msg : "Cảm ơn bạn đã bình luận! Bình luận sẽ xuất hiện sau khi được duyệt." - comment_error_msg : "Rất tiếc, có lỗi trong việc gửi bình luận. Hãy đảm bảo toàn bộ các phần bắt buộc đã được điền đầy đủ và thử lại." - loading_label : "Đang tải..." - search_label_text : - search_placeholder_text : "Nhập từ khóa cần tìm..." - results_found : "Kết quả tìm được" - back_to_top : "Lên đầu trang" -vi-VN: - <<: *DEFAULT_VI - -# Danish -# ------ -da: &DEFAULT_DA - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "Side" - pagination_previous : "Forrige" - pagination_next : "Næste" - breadcrumb_home_label : "Home" - breadcrumb_separator : "/" - menu_label : "Vis/skjul menu" - search_label : - toc_label : "På denne side" - ext_link_label : "Direkte link" - less_than : "mindre end" - minute_read : "minutters læsning" - share_on_label : "Del på" - meta_label : - tags_label : "Nøgleord:" - categories_label : "Kategorier:" - date_label : "Opdateret:" - comments_label : "Skriv en kommentar" - comments_title : "Kommentarer" - more_label : "Lær mere" - related_label : "Måske kan du også lide" - follow_label : "Følg:" - feed_label : "Feed" - powered_by : "Drives af" - website_label : "Website" - email_label : "E-mail" - recent_posts : "Seneste indlæg" - undefined_wpm : "Parameteren words_per_minute er ikke defineret i _config.yml" - comment_form_info : "Din e-mail bliver ikke offentliggjort. Obligatoriske felter er markeret" - comment_form_comment_label : "Kommentar" - comment_form_md_info : "Markdown er understøttet." - comment_form_name_label : "Navn" - comment_form_email_label : "E-mail" - comment_form_website_label : "Website (frivillig)" - comment_btn_submit : "Send kommentar" - comment_btn_submitted : "Sendt" - comment_success_msg : "Tak for din kommentar! Den bliver vist på siden, så snart den er godkendt." - comment_error_msg : "Desværre skete der en fejl. Prøv igen, mens du sørger for at alle obligatoriske felter er udfyldt." - loading_label : "Indlæser..." - search_label_text : - search_placeholder_text : "Hvad leder du efter..." - results_found : "Resultat(er) fundet" - back_to_top : "Tilbage til toppen" -da-DK: - <<: *DEFAULT_DA - -# Polish -# ------ -pl: &DEFAULT_PL - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "Strona" - pagination_previous : "Poprzednia" - pagination_next : "Następna" - breadcrumb_home_label : "Strona główna" - breadcrumb_separator : "/" - menu_label : "Przełącz menu" - search_label : - toc_label : "Spis treści" - ext_link_label : "Link bezpośredni" - less_than : "mniej niż" - minute_read : "minut(y)" - share_on_label : "Udostępnij" - meta_label : - tags_label : "Tagi:" - categories_label : "Kategorie:" - date_label : "Ostatnia aktualizacja:" - comments_label : "Zostaw komentarz" - comments_title : "Komentarze" - more_label : "Dowiedz się więcej" - related_label : "Także może Ci się spodobać" - follow_label : "Śledź:" - feed_label : "Feed" - powered_by : "Powstało dzięki" - website_label : "Strona" - email_label : "Email" - recent_posts : "Najnowsze wpisy" - undefined_wpm : "Parametr words_per_minute nie został zdefiniowany w _config.yml." - comment_form_info : "Twój adres email nie będzie udostępiony. Wymagane pola są oznaczone." - comment_form_comment_label : "Skomentuj" - comment_form_md_info : "Markdown jest wspierany" - comment_form_name_label : "Imię" - comment_form_email_label : "Adres email" - comment_form_website_label : "Strona www (opcjonalna)" - comment_btn_submit : "Skomentuj" - comment_btn_submitted : "Komentarz dodany" - comment_success_msg : "Dziękuję za Twój komentarz! Zostanie dodany po akceptacji." - comment_error_msg : "Niestety wystąpił błąd. Proszę upewnij się, że wszystkie wymagane pola zostały wypełnione i spróbuj ponownie." - loading_label : "Trwa ładowanie strony..." - search_label_text : -pl-PL: - <<: *DEFAULT_PL - -# Japanese -# -------- -ja: &DEFAULT_JA - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "ページ" - pagination_previous : "前へ" - pagination_next : "次へ" - breadcrumb_home_label : "ホーム" - breadcrumb_separator : "/" - menu_label : "メニュー" - search_label : - toc_label : "目次" - ext_link_label : "リンク" - less_than : - minute_read : - share_on_label : "共有" - meta_label : - tags_label : "タグ:" - categories_label : "カテゴリー:" - date_label : "更新日時:" - comments_label : "コメントする" - comments_title : "コメント" - more_label : "さらに詳しく" - related_label : "関連記事" - follow_label : "フォロー" - feed_label : - powered_by : - website_label : - email_label : - recent_posts : "最近の投稿" - undefined_wpm : "パラメータ words_per_minute が _config.yml で定義されていません" - comment_form_info : "メールアドレスが公開されることはありません。次の印のある項目は必ず入力してください:" - comment_form_comment_label : "コメント" - comment_form_md_info : "Markdown を使用できます" - comment_form_name_label : "名前" - comment_form_email_label : "メールアドレス" - comment_form_website_label : "URL (任意)" - comment_btn_submit : "コメントを送信する" - comment_btn_submitted : "送信しました" - comment_success_msg : "コメントありがとうございます! コメントは承認されるとページに表示されます。" - comment_error_msg : "送信エラーです。必須項目がすべて入力されていることを確認して再送信してください。" - loading_label : "読み込み中..." - search_label_text : - search_placeholder_text : "検索キーワードを入力してください..." - results_found : "件" -ja-JP: - <<: *DEFAULT_JA - -# Slovak -# ----------------- -sk: &DEFAULT_SK - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "Stránka" - pagination_previous : "Predošlá" - pagination_next : "Ďalšia" - breadcrumb_home_label : "Domov" - breadcrumb_separator : "/" - menu_label : "Menu" - search_label : - toc_label : "Obsah" - ext_link_label : "Priamy odkaz" - less_than : "menej ako" - minute_read : "minút" - share_on_label : "Zdieľaj na" - meta_label : - tags_label : "Tagy:" - categories_label : "Kategórie:" - date_label : "Aktualizované:" - comments_label : "Zanechaj odkaz" - comments_title : "Komentáre" - more_label : "Dozvedieť sa viac" - related_label : "Podobné články" - follow_label : "Sleduj:" - feed_label : "Zoznam" - powered_by : "Stránka vytvorená pomocou" - website_label : "Web stránka" - email_label : "Email" - recent_posts : "Najnovšie príspevky" - undefined_wpm : "Nedefinovaný parameter words_per_minute v _config.yml" - comment_form_info : "Tvoja emailová adresa nebude publikovaná. Požadované polia sú označené" - comment_form_comment_label : "Komentár" - comment_form_md_info : "Markdown je podporovaný." - comment_form_name_label : "Meno" - comment_form_email_label : "Emailová adresa" - comment_form_website_label : "Webstránka (voliteľné)" - comment_btn_submit : "Vlož komentár" - comment_btn_submitted : "Vložený" - comment_success_msg : "Ďakujem za tvoj komentár! Po schválení bude zobrazený na stránke." - comment_error_msg : "Prepáč, pri ukladaní nastala chyba. Ubezpeč sa prosím, že si vyplnil všetky požadované polia a skús znova." - loading_label : "Načítava sa..." - search_label_text : - search_placeholder_text : "Zadaj hľadaný výraz..." - results_found : "Nájdených výsledkov" - back_to_top : "Na začiatok stránky" -sk-SK: - <<: *DEFAULT_SK - -# Hungarian -# ----------------- -hu: &DEFAULT_HU - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "Oldal" - pagination_previous : "Előző" - pagination_next : "Következő" - breadcrumb_home_label : "Kezdőlap" - breadcrumb_separator : "/" - menu_label : "Menü nyit/zár" - search_label : - toc_label : "Ezen az oldalon" - ext_link_label : "Közvetlen Link" - less_than : "kevesebb mint" - minute_read : "eltöltött percek" - share_on_label : "Megosztás" - meta_label : - tags_label : "Tagek:" - categories_label : "Kategóriák:" - date_label : "Frissítve:" - comments_label : "Szólj hozzá!" - comments_title : "Hozzászólások" - more_label : "Tovább" - related_label : "Ajánlások" - follow_label : "Követés:" - feed_label : "Folyam" - powered_by : "Powered by" - website_label : "Honlap" - email_label : "Email" - recent_posts : "Friss cikkek" - undefined_wpm : "Ismeretlen paraméter words_per_minute : _config.yml" - comment_form_info : "Az e-mail címed nem lesz publikus. A csillagozott mezők kitöltése kötelező." - comment_form_comment_label : "Hozzászólás" - comment_form_md_info : "Támogatott formázási mód: Markdown" - comment_form_name_label : "Név" - comment_form_email_label : "Email cím" - comment_form_website_label : "Honlap (nem kötelező):" - comment_btn_submit : "Hozzászólás elküldése" - comment_btn_submitted : "Hozzászólás elküldve" - comment_success_msg : "Köszönjük a Hozzászólást! A Hozzászólások csak előzetes moderáció után lesznek publikusak." - comment_error_msg : "Hoppá, hiba történt a beküldés közben. Kérlek ellenőrizd hogy minden kötelező mező ki van-e töltve." - loading_label : "Betöltés..." - search_label_text : - search_placeholder_text : "Keresendő szöveg..." - results_found : "Találatok:" - back_to_top : "Oldal tetejére" -hu-HU: - <<: *DEFAULT_HU - -# Romanian -# ----------------- -ro: &DEFAULT_RO - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "Pagina" - pagination_previous : "Anterior" - pagination_next : "Următor" - breadcrumb_home_label : "Acasă" - breadcrumb_separator : "/" - menu_label : "Comută meniul" - search_label : - toc_label : "Pe această pagină" - ext_link_label : "Link direct" - less_than : "mai puțin de" - minute_read : "minute de citit" - share_on_label : "Distribuie pe" - meta_label : - tags_label : "Etichete:" - categories_label : "Categorii:" - date_label : "Actualizat:" - comments_label : "Lasă un comentariu" - comments_title : "Comentarii" - more_label : "Citește mai departe" - related_label : "S-ar putea să-ți placă" - follow_label : "Urmărește:" - feed_label : "Feed RSS" - powered_by : "Cu sprijinul" - website_label : "Site" - email_label : "Email" - recent_posts : "Articole recente" - undefined_wpm : "Parametru words_per_minute nedefinit în _config.yml" - comment_form_info : "Adresa ta de email nu va fi făcută publică. Câmpurile marcate sunt obligatorii" - comment_form_comment_label : "Comentariu" - comment_form_md_info : "Markdown este suportat." - comment_form_name_label : "Nume" - comment_form_email_label : "Adresă de email" - comment_form_website_label : "Site (opțional)" - comment_btn_submit : "Trimite comentariul" - comment_btn_submitted : "Trimis" - comment_success_msg : "Mulțumesc pentru comentariu! Va apărea pe site în momentul în care va fi aprobat." - comment_error_msg : "Scuze, este o problemă cu comentariul tău. Asigură-te că toate câmpurile obligatorii au fost completate și încearcă din nou." - loading_label : "Se încarcă..." - search_label_text : - search_placeholder_text : "Caută ceva..." - results_found : "Rezultate găsite" - back_to_top : "Înapoi în susul paginii" -ro-RO: - <<: *DEFAULT_RO - -# Punjabi -# ----------------- -pa: &DEFAULT_PA - skip_links : "ਲਿੰਕ ਛੱਡੋ" - skip_primary_nav : "ਮੂਲ ਮਾਰਗ ਛੱਡੋ" - skip_content : "ਸਮੱਗਰੀ ਛੱਡੋ" - skip_footer : "ਅੰਤ ਵਿਚ ਲਿਖਿਆ ਛੱਡੋ" - page : "ਸਫ਼ਾ" - pagination_previous : "ਪਿਛਲਾ" - pagination_next : "ਅਗਲਾ " - breadcrumb_home_label : "ਘਰ" - breadcrumb_separator : "/" - menu_label : "ਟੌਗਲ ਮੀਨੂ" - search_label : "ਖੋਜ" - toc_label : "ਇਸ ਸਫ਼ੇ 'ਤੇ" - ext_link_label : "ਸਿੱਧਾ ਸੰਪਰਕ" - less_than : "ਤੋਂ ਘੱਟ" - minute_read : "ਮਿੰਟ ਵਿੱਚ ਪੜਿਆ ਜਾ ਸਕਦਾ ਹੈ" - share_on_label : "ਸਾਂਝਾ ਕਰੋ" - meta_label : "ਸਵੈ-ਸੰਦਰਭ ਜਾਣਕਾਰੀ" - tags_label : "ਟੈਗ" - categories_label : "ਵਰਗ" - date_label : "ਅਪਡੇਟ ਕੀਤਾ:" - comments_label : "ਇੱਕ ਟਿੱਪਣੀ ਛੱਡੋ" - comments_title : "ਟਿੱਪਣੀਆਂ" - more_label : "ਹੋਰ ਜਾਣੋ" - related_label : "ਤੁਸੀਂ ਇਸਦਾ ਆਨੰਦ ਵੀ ਲੈ ਸਕਦੇ ਹੋ" - follow_label : "ਫਾਲੋ ਅੱਪ ਕਰੋ:" - feed_label : "ਫੀਡ" - powered_by : "ਦੁਆਰਾ ਸੰਚਾਲਿਤ" - website_label : "ਵੈੱਬਸਾਇਟ" - email_label : "ਈਮੇਲ" - recent_posts : "ਹਾਲ ਹੀ ਦੇ ਪੋਸਟ" - undefined_wpm : "_config.yml ਤੇ ਅਣ-ਪ੍ਰਭਾਸ਼ਿਤ ਪੈਰਾਮੀਟਰ words_per_minute" - comment_form_info : "ਤੁਹਾਡਾ ਈਮੇਲ ਪਤਾ ਪ੍ਰਕਾਸ਼ਿਤ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ। ਅਨੁਮਾਨਿਤ ਸਥਾਨਾਂ ਨੂੰ ਅੰਡਰਲਾਈਨ ਕੀਤਾ ਗਿਆ ਹੈ" - comment_form_comment_label : "ਟਿੱਪਣੀ" - comment_form_md_info : "ਮਾਰਕਡਾਊਨ ਵਰਤ ਸਕਦੇ ਹੋ।" - comment_form_name_label : "ਨਾਮ" - comment_form_email_label : "ਈਮੇਲ ਪਤਾ" - comment_form_website_label : "ਵੈਬਸਾਈਟ (ਵਿਕਲਪਿਕ)" - comment_btn_submit : "ਕੋਈ ਟਿੱਪਣੀ ਭੇਜੋ" - comment_btn_submitted : "ਪੇਸ਼ ਕੀਤਾ" - comment_success_msg : "ਤੁਹਾਡੀਆਂ ਟਿੱਪਣੀਆਂ ਲਈ ਧੰਨਵਾਦ! ਇਹ ਮਨਜ਼ੂਰੀ ਮਿਲਣ ਦੇ ਬਾਅਦ ਸਾਈਟ 'ਤੇ ਦਿਖਾਇਆ ਜਾਵੇਗਾ।" - comment_error_msg : "ਮੁਆਫ ਕਰਨਾ, ਤੁਹਾਡੀ ਅਧੀਨਗੀ ਵਿੱਚ ਕੋਈ ਗਲਤੀ ਹੋਈ ਸੀ ਕਿਰਪਾ ਕਰਕੇ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਸਾਰੇ ਲੋੜੀਂਦੇ ਖੇਤਰ ਪੂਰੇ ਹੋ ਗਏ ਹਨ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।" - loading_label : "ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ..." - search_label_text : "ਖੋਜ" - search_placeholder_text : "ਆਪਣੀ ਖੋਜ ਦੇ ਸ਼ਬਦ ਨੂੰ ਦਰਜ ਕਰੋ..." - results_found : "ਨਤੀਜਾ ਮਿਲਿਆ/ਮਿਲੇ" - back_to_top : "ਵਾਪਸ ਚੋਟੀ 'ਤੇ ਜਾਓ" -pa-IN: - <<: *DEFAULT_PA - -# Persian (Farsi) -# -------------- -fa: &DEFAULT_FA - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "صفحه" - pagination_previous : "قبلی" - pagination_next : "بعدی" - breadcrumb_home_label : "صفحه اصلی" - breadcrumb_separator : "/" - menu_label : "فهرست" - toc_label : "در این صفحه" - ext_link_label : "لینک مستقیم" - less_than : " " - minute_read : "(طول مطالعه (دقیقه" - share_on_label : "اشتراک گذاری در" - meta_label : - tags_label : "تگ ها: " - categories_label : "دسته بندی ها: " - date_label : "به روز شده در: " - comments_label : "ارسال نظر" - comments_title : "نظرات" - more_label : "ادامه مطلب" - related_label : "ممکن است از این مطالب نیز لذت ببرید" - follow_label : "دنبال کنید: " - feed_label : "خوراک" - powered_by : "طراحی شده توسط" - website_label : "سایت اینترنتی" - email_label : "پست الکترونیک" - recent_posts : "آخرین مطالب" - undefined_wpm : ".(words_per_minute) _config.yml متغیر اشتباه در" - comment_form_info : ".آدرس ایمیل شما منتشر نخواهد شد. فیلدهای اجباری مشخص شده اند" - comment_form_comment_label : "دیدگاه" - comment_form_md_info : ".پشتیبانی می شود Markdown" - comment_form_name_label : "نام" - comment_form_email_label : "پست الکترونیک" - comment_form_website_label : "سایت اینترنتی (اختیاری)" - comment_btn_submit : "ارسال نظر" - comment_btn_submitted : "ارسال شد" - comment_success_msg : ".باتشکر از ارسال دیدگاه! پس از تأیید، این دیدگاه در سایت نشان داده خواهد شد" - comment_error_msg : ".متاسفانه در ارسال شما خطایی بود. لطفا مطمئن شوید تمام فیلدهای مورد نیاز تکمیل شده و دوباره امتحان کنید" - loading_label : "...بارگذاری" - search_label_text : - search_placeholder_text : "...عبارت جستجوی خود را وارد کنید" - results_found : "نتایج" - back_to_top : "بازگشت به بالا" -fa-IR: - <<: *DEFAULT_FA - - -# Malayalam -# ----------------- -ml: &DEFAULT_ML - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "പേജ്" - pagination_previous : "തിരികെ" - pagination_next : "മുന്നോട്ട്" - breadcrumb_home_label : "ഹോം" - breadcrumb_separator : "/" - menu_label : "ടോഗിൾ മെനു" - search_label : "ടോഗിൾ സെർച്ച്" - toc_label : "ഈ പേജിൽ" - ext_link_label : "ലിങ്കിലേക് പോകാൻ" - less_than : "ഏതാണ്ട്" - minute_read : "മിനിറ്റ് ദൈർഖ്യം" - share_on_label : "ഷെയർ ചെയ്യുവാൻ " - meta_label : - tags_label : "ടാഗുകൾ:" - categories_label : "വിഭാഗങ്ങൾ:" - date_label : "അവസാന മാറ്റം:" - comments_label : "അഭിപ്രായം രേഖപ്പെടുത്തുക" - comments_title : "അഭിപ്രായങ്ങൾ" - more_label : "കൂടുതൽ അറിയുവാൻ" - related_label : "നിങ്ങൾക് ഇതും ഇഷ്ടപ്പെട്ടേക്കാം" - follow_label : "പിന്തുടരുക:" - feed_label : "ഫീഡ്" - powered_by : "പവേർഡ് ബൈ" - website_label : "വെബ്സൈറ്റ്" - email_label : "ഇ-മെയിൽ" - recent_posts : "സമീപകാല പോസ്റ്റുകൾ" - undefined_wpm : "Config.yml ലെ words_per_minute പരാമീറ്റർ നിർവചിച്ചിട്ടില്ല." - comment_form_info : "നിങ്ങളുടെ ഇമെയിൽ വിലാസം പ്രസിദ്ധീകരിക്കില്ല. ആവശ്യമായ ഫീൽഡുകൾ അടയാളപ്പെടുത്തി." - comment_form_comment_label : "കമന്റ്" - comment_form_md_info : "Markdown സപ്പോർട്ട് ചെയ്യുന്നതാണ്." - comment_form_name_label : "പേര്" - comment_form_email_label : "ഇ-മെയിൽ" - comment_form_website_label : "വെബ്സൈറ് (ഓപ്ഷണൽ)" - comment_btn_submit : "അഭിപ്രായം രേഖപ്പെടുത്തുക" - comment_btn_submitted : "രേഖപ്പെടുത്തി" - comment_success_msg : "നിങ്ങളുടെ അഭിപ്രായത്തിന് നന്ദി! ഇത് അംഗീകരിച്ചുകഴിഞ്ഞാൽ ഇത് സൈറ്റിൽ പ്രദർശിപ്പിക്കും." - comment_error_msg : "ക്ഷമിക്കണം, നിങ്ങളുടെ സമർപ്പണവുമായി ബന്ധപ്പെട്ട് ഒരു പിശകുണ്ടായിരുന്നു. ആവശ്യമായ എല്ലാ ഫീൽഡുകളും പൂർത്തിയായിട്ടുണ്ടെന്ന് ഉറപ്പുവരുത്തുക, വീണ്ടും ശ്രമിക്കുക." - loading_label : "ലോഡിംഗ്..." - search_label_text : - search_placeholder_text : "നിങ്ങളുടെ തിരയൽ പദം നൽകുക..." - results_found : "ഫലം (കൾ) കണ്ടെത്തി" - back_to_top : "മുകളിലേയ്ക്ക്" -ml-IN: - <<: *DEFAULT_ML - -# Thailand -# -------------- -th: &DEFAULT_TH - skip_links : - skip_primary_nav : - skip_content : - skip_footer : - page : "หน้า" - pagination_previous : "ก่อนหน้า" - pagination_next : "ถัดไป" - breadcrumb_home_label : "หน้าแรก" - breadcrumb_separator : "/" - menu_label : "พับเมนู" - search_label : "พับการค้นหา" - toc_label : "บนหน้านี้" - ext_link_label : "ลิงก์โดยตรง" - less_than : "น้อยกว่า" - minute_read : "นาที ในการอ่าน" - share_on_label : "แชร์ไปที่" - meta_label : - tags_label : "แท็ก:" - categories_label : "หมวดหมู่:" - date_label : "อัพเดตล่าสุด:" - comments_label : "แสดงความคิดเห็น" - comments_title : "ความคิดเห็น" - more_label : "อ่านต่อ" - related_label : "คุณอาจจะชอบสิ่งนี้" - follow_label : "ติดตาม:" - feed_label : "ฟืดข่าว" - powered_by : "ขับเคลื่อนโดย" - website_label : "เว็บไซต์" - email_label : "อีเมล" - recent_posts : "โพสล่าสุด" - undefined_wpm : "ไม่สามารถระบุพารามิเตอร์ words_per_minute ได้ใน _config.yml" - comment_form_info : "อีเมลของคุณไม่สามารถโพสสาธารณะได้ กรุณากรอกช่องที่ระบุด้วยเครื่องหมายดอกจันไว้" - comment_form_comment_label : "แสดงความคิดเห็น" - comment_form_md_info : "มาร์กดาวน์ได้รับการสนับสนุน" - comment_form_name_label : "ชื่อ" - comment_form_email_label : "ที่อยู่อีเมล" - comment_form_website_label : "เว็บไซต์ (ตัวเลือก)" - comment_btn_submit : "ส่งความคิดเห็น" - comment_btn_submitted : "ส่งเรียบร้อยแล้ว" - comment_success_msg : "ขอบคุณสำหรับการแสดงความคิดเห็น! ความคิดเห็นจะได้รับการแสดงหลังจากได้รับการยืนยัน" - comment_error_msg : "ขออภัย, มีบางอย่างผิดพลาดจากการส่งแบบฟอร์ม กรุณาตรวจทานทุกช่อง และลองส่งใหม่อีกครั้ง" - loading_label : "กำลังโหลด..." - search_label_text : - search_placeholder_text : "ใส่คำค้นหาของคุณ..." - results_found : "ผลการค้นหา พบ" - back_to_top : "กลับด้านบน" -th-TH: - <<: *DEFAULT_TH - -# Hindi -# ----------------- -hi: &DEFAULT_HI - skip_links : "लिंक छोड़ें" - skip_primary_nav : "प्राथमिक पथ-प्रदर्शन छोड़ें" - skip_content : "सामग्री छोड़ें" - skip_footer : "अंत-में लिखा छोड़ें" - page : "पृष्ठ" - pagination_previous : "पिछला" - pagination_next : "अगला" - breadcrumb_home_label : "घर" - breadcrumb_separator : "/" - menu_label : "टॉगल मेनू" - toc_label : "इस पृष्ठ पर" - ext_link_label : "सीधा संपर्क" - less_than : "से कम" - minute_read : "मिनट में पढ़ सकते हैं" - share_on_label : "साझा करें" - meta_label : "स्व-संदर्भात्मक जानकारी" - tags_label : "अंकितक:" - categories_label : "श्रेणियाँ:" - date_label : "अपडेट किया गया:" - comments_label : "एक टिप्पणी छोड़ें" - comments_title : "टिप्पणियाँ" - more_label : "और अधिक जानें" - related_label : "आप इसका भी आनंद ले सकते हैं" - follow_label : "अनुसरण करे:" - feed_label : "फ़ीड" - powered_by : "द्वारा संचालित" - website_label : "वेबसाइट" - email_label : "ईमेल" - recent_posts : "हाल के पोस्ट" - undefined_wpm : "_config.yml पर अपरिभाषित पैरामीटर words_per_minute" - comment_form_info : "आपका ईमेल पता प्रकाशित नहीं किया जाएगा। अपेक्षित स्थानों को रेखांकित कर दिया गया है" - comment_form_comment_label : "टिप्पणी" - comment_form_md_info : "मार्कडाउन की अनुमति है।" - comment_form_name_label : "नाम" - comment_form_email_label : "ईमेल पता" - comment_form_website_label : "वेबसाइट (ऐच्छिक)" - comment_btn_submit : "टिप्पणी भेजें" - comment_btn_submitted : "प्रस्तुत" - comment_success_msg : "आपके कमेंट के लिए धन्यवाद! इसे स्वीकृति मिलने के बाद साइट पर दिखाया जाएगा।" - comment_error_msg : "क्षमा करें, आपके सबमिशन के साथ एक त्रुटि हुई थी। कृपया सुनिश्चित करें कि सभी आवश्यक फ़ील्ड पूरा हो गए हैं और पुनः प्रयास करें।" - loading_label : "लोड हो रहा है..." - search_label_text : "खोज" - search_placeholder_text : "अपना खोज शब्द दर्ज करें..." - results_found : "परिणाम मिला/मिले" - back_to_top : "शीर्ष पर वापस" -hi-IN: - <<: *DEFAULT_HI - -# Another locale -# -------------- -# diff --git a/docs/_includes/analytics-providers/custom.html b/docs/_includes/analytics-providers/custom.html deleted file mode 100644 index c34b97ad..00000000 --- a/docs/_includes/analytics-providers/custom.html +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/docs/_includes/analytics-providers/google-gtag.html b/docs/_includes/analytics-providers/google-gtag.html deleted file mode 100644 index 16d0cf17..00000000 --- a/docs/_includes/analytics-providers/google-gtag.html +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/docs/_includes/analytics-providers/google-universal.html b/docs/_includes/analytics-providers/google-universal.html deleted file mode 100644 index 68c2674b..00000000 --- a/docs/_includes/analytics-providers/google-universal.html +++ /dev/null @@ -1,7 +0,0 @@ - - diff --git a/docs/_includes/analytics-providers/google.html b/docs/_includes/analytics-providers/google.html deleted file mode 100644 index c5742b98..00000000 --- a/docs/_includes/analytics-providers/google.html +++ /dev/null @@ -1,14 +0,0 @@ - diff --git a/docs/_includes/analytics.html b/docs/_includes/analytics.html deleted file mode 100644 index 371469f0..00000000 --- a/docs/_includes/analytics.html +++ /dev/null @@ -1,14 +0,0 @@ -{% if jekyll.environment == 'production' and site.analytics.provider and page.analytics != false %} - -{% case site.analytics.provider %} -{% when "google" %} - {% include /analytics-providers/google.html %} -{% when "google-universal" %} - {% include /analytics-providers/google-universal.html %} -{% when "google-gtag" %} - {% include /analytics-providers/google-gtag.html %} -{% when "custom" %} - {% include /analytics-providers/custom.html %} -{% endcase %} - -{% endif %} \ No newline at end of file diff --git a/docs/_includes/archive-single.html b/docs/_includes/archive-single.html deleted file mode 100644 index 489f0006..00000000 --- a/docs/_includes/archive-single.html +++ /dev/null @@ -1,38 +0,0 @@ -{% if post.header.teaser %} - {% capture teaser %}{{ post.header.teaser }}{% endcapture %} -{% else %} - {% assign teaser = site.teaser %} -{% endif %} - -{% if post.id %} - {% assign title = post.title | markdownify | remove: "

" | remove: "

" %} -{% else %} - {% assign title = post.title %} -{% endif %} - -
-
- {% if include.type == "grid" and teaser %} -
- -
- {% endif %} -

- {% if post.link %} - {{ title }} Permalink - {% else %} - {{ title }} - {% endif %} -

- {% if post.read_time %} -

{% include read-time.html %}

- {% endif %} - {% if post.excerpt %}

{{ post.excerpt | markdownify | strip_html | truncate: 160 }}

{% endif %} -
-
diff --git a/docs/_includes/author-profile-custom-links.html b/docs/_includes/author-profile-custom-links.html deleted file mode 100644 index b89ffcb7..00000000 --- a/docs/_includes/author-profile-custom-links.html +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/docs/_includes/author-profile.html b/docs/_includes/author-profile.html deleted file mode 100644 index b7d62149..00000000 --- a/docs/_includes/author-profile.html +++ /dev/null @@ -1,263 +0,0 @@ -{% assign author = page.author | default: page.authors[0] | default: site.author %} -{% assign author = site.data.authors[author] | default: author %} - -
- - {% if author.avatar %} -
- {% if author.avatar contains "://" %} - {% assign author_src = author.avatar %} - {% else %} - {% assign author_src = author.avatar | relative_url %} - {% endif %} - - {% if author.home %} - {% if author.home contains "://" %} - {% assign author_link = author.home %} - {% else %} - {% assign author_link = author.home | relative_url %} - {% endif %} - - {{ author.name }} - - {% else %} - {{ author.name }} - {% endif %} -
- {% endif %} - -
- {% if author.home %} -

{{ author.name }}

- {% else %} -

{{ author.name }}

- {% endif %} - {% if author.bio %} -
- {{ author.bio | markdownify }} -
- {% endif %} -
- -
- - -
-
diff --git a/docs/_includes/breadcrumbs.html b/docs/_includes/breadcrumbs.html deleted file mode 100644 index cba3d415..00000000 --- a/docs/_includes/breadcrumbs.html +++ /dev/null @@ -1,39 +0,0 @@ -{% case site.category_archive.type %} - {% when "liquid" %} - {% assign path_type = "#" %} - {% when "jekyll-archives" %} - {% assign path_type = nil %} -{% endcase %} - -{% if page.collection != 'posts' %} - {% assign path_type = nil %} - {% assign crumb_path = '/' %} -{% else %} - {% assign crumb_path = site.category_archive.path %} -{% endif %} - - diff --git a/docs/_includes/browser-upgrade.html b/docs/_includes/browser-upgrade.html deleted file mode 100644 index ec6ad0ac..00000000 --- a/docs/_includes/browser-upgrade.html +++ /dev/null @@ -1,3 +0,0 @@ - diff --git a/docs/_includes/category-list.html b/docs/_includes/category-list.html deleted file mode 100644 index d684a282..00000000 --- a/docs/_includes/category-list.html +++ /dev/null @@ -1,26 +0,0 @@ -{% case site.category_archive.type %} - {% when "liquid" %} - {% assign path_type = "#" %} - {% when "jekyll-archives" %} - {% assign path_type = nil %} -{% endcase %} - -{% if site.category_archive.path %} - {% comment %} - - - {% endcomment %} - {% capture page_categories %}{% for category in page.categories %}{{ category | downcase }}|{{ category }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} - {% assign category_hashes = page_categories | split: ',' | sort %} - -

- {{ site.data.ui-text[site.locale].categories_label | default: "Categories:" }} - - {% for hash in category_hashes %} - {% assign keyValue = hash | split: '|' %} - {% capture category_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %} - {% unless forloop.last %}, {% endunless %} - {% endfor %} - -

-{% endif %} \ No newline at end of file diff --git a/docs/_includes/comment.html b/docs/_includes/comment.html deleted file mode 100644 index cebedabf..00000000 --- a/docs/_includes/comment.html +++ /dev/null @@ -1,22 +0,0 @@ - diff --git a/docs/_includes/comments-providers/custom.html b/docs/_includes/comments-providers/custom.html deleted file mode 100644 index 90993691..00000000 --- a/docs/_includes/comments-providers/custom.html +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/docs/_includes/comments-providers/discourse.html b/docs/_includes/comments-providers/discourse.html deleted file mode 100644 index aca62cc8..00000000 --- a/docs/_includes/comments-providers/discourse.html +++ /dev/null @@ -1,13 +0,0 @@ -{% if site.comments.discourse.server %} -{% capture canonical %}{% if site.permalink contains '.html' %}{{ page.url | absolute_url }}{% else %}{{ page.url | absolute_url | remove:'index.html' | strip_slash }}{% endif %}{% endcapture %} - - -{% endif %} diff --git a/docs/_includes/comments-providers/disqus.html b/docs/_includes/comments-providers/disqus.html deleted file mode 100644 index 8cf7acab..00000000 --- a/docs/_includes/comments-providers/disqus.html +++ /dev/null @@ -1,15 +0,0 @@ -{% if site.comments.disqus.shortname %} - - -{% endif %} diff --git a/docs/_includes/comments-providers/facebook.html b/docs/_includes/comments-providers/facebook.html deleted file mode 100644 index 009dc1c6..00000000 --- a/docs/_includes/comments-providers/facebook.html +++ /dev/null @@ -1,8 +0,0 @@ -
- \ No newline at end of file diff --git a/docs/_includes/comments-providers/scripts.html b/docs/_includes/comments-providers/scripts.html deleted file mode 100644 index 4e3f5854..00000000 --- a/docs/_includes/comments-providers/scripts.html +++ /dev/null @@ -1,18 +0,0 @@ -{% if site.comments.provider and page.comments %} -{% case site.comments.provider %} - {% when "disqus" %} - {% include /comments-providers/disqus.html %} - {% when "discourse" %} - {% include /comments-providers/discourse.html %} - {% when "facebook" %} - {% include /comments-providers/facebook.html %} - {% when "staticman" %} - {% include /comments-providers/staticman.html %} - {% when "staticman_v2" %} - {% include /comments-providers/staticman_v2.html %} - {% when "utterances" %} - {% include /comments-providers/utterances.html %} - {% when "custom" %} - {% include /comments-providers/custom.html %} -{% endcase %} -{% endif %} \ No newline at end of file diff --git a/docs/_includes/comments-providers/staticman.html b/docs/_includes/comments-providers/staticman.html deleted file mode 100644 index ae3991d9..00000000 --- a/docs/_includes/comments-providers/staticman.html +++ /dev/null @@ -1,40 +0,0 @@ -{% if site.repository and site.staticman.branch %} - -{% endif %} diff --git a/docs/_includes/comments-providers/staticman_v2.html b/docs/_includes/comments-providers/staticman_v2.html deleted file mode 100644 index ae3991d9..00000000 --- a/docs/_includes/comments-providers/staticman_v2.html +++ /dev/null @@ -1,40 +0,0 @@ -{% if site.repository and site.staticman.branch %} - -{% endif %} diff --git a/docs/_includes/comments-providers/utterances.html b/docs/_includes/comments-providers/utterances.html deleted file mode 100644 index 129ab779..00000000 --- a/docs/_includes/comments-providers/utterances.html +++ /dev/null @@ -1,20 +0,0 @@ - diff --git a/docs/_includes/comments.html b/docs/_includes/comments.html deleted file mode 100644 index 40b03597..00000000 --- a/docs/_includes/comments.html +++ /dev/null @@ -1,159 +0,0 @@ -
- {% capture comments_label %}{{ site.data.ui-text[site.locale].comments_label | default: "Comments" }}{% endcapture %} - {% case site.comments.provider %} - {% when "discourse" %} -

{{ comments_label }}

-
- {% when "disqus" %} -

{{ comments_label }}

-
- {% when "facebook" %} -

{{ comments_label }}

-
- {% when "staticman_v2" %} -
- {% if site.repository and site.staticman.branch %} - -
- {% if site.data.comments[page.slug] %} -

{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}

- {% assign comments = site.data.comments[page.slug] | sort %} - - {% for comment in comments %} - {% assign email = comment[1].email %} - {% assign name = comment[1].name %} - {% assign url = comment[1].url %} - {% assign date = comment[1].date %} - {% assign message = comment[1].message %} - {% include comment.html index=forloop.index email=email name=name url=url date=date message=message %} - {% endfor %} - {% endif %} -
- - - -
-

{{ site.data.ui-text[site.locale].comments_label | default: "Leave a Comment" }}

-

{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} *

-
-
- - {{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }} -
- -
- - - -
-
- - -
-
- - -
-
- - -
- - - - - {% if site.reCaptcha.siteKey %} -
-
-
- {% endif %} -
- -
-
-
- - {% if site.reCaptcha.siteKey %}{% endif %} - {% endif %} -
- {% when "staticman" %} -
- {% if site.repository and site.staticman.branch %} - -
- {% if site.data.comments[page.slug] %} -

{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}

- {% assign comments = site.data.comments[page.slug] | sort %} - - {% for comment in comments %} - {% assign email = comment[1].email %} - {% assign name = comment[1].name %} - {% assign url = comment[1].url %} - {% assign date = comment[1].date %} - {% assign message = comment[1].message %} - {% include comment.html index=forloop.index email=email name=name url=url date=date message=message %} - {% endfor %} - {% endif %} -
- - - -
-

{{ site.data.ui-text[site.locale].comments_label | default: "Leave a Comment" }}

-

{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} *

-
-
- - {{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }} -
- -
- - - -
-
- - -
-
- - -
-
- - -
- - - - -
- -
-
-
- - {% endif %} -
- {% when "utterances" %} -

{{ comments_label }}

-
- {% when "custom" %} -
- {% endcase %} -
diff --git a/docs/_includes/documents-collection.html b/docs/_includes/documents-collection.html deleted file mode 100644 index 13b4006e..00000000 --- a/docs/_includes/documents-collection.html +++ /dev/null @@ -1,19 +0,0 @@ -{% assign entries = site[include.collection] %} - -{% if include.sort_by == 'title' %} - {% if include.sort_order == 'reverse' %} - {% assign entries = entries | sort: 'title' | reverse %} - {% else %} - {% assign entries = entries | sort: 'title' %} - {% endif %} -{% elsif include.sort_by == 'date' %} - {% if include.sort_order == 'reverse' %} - {% assign entries = entries | sort: 'date' | reverse %} - {% else %} - {% assign entries = entries | sort: 'date' %} - {% endif %} -{% endif %} - -{%- for post in entries -%} - {% include archive-single.html %} -{%- endfor -%} diff --git a/docs/_includes/feature_row b/docs/_includes/feature_row deleted file mode 100644 index 89dfc1b4..00000000 --- a/docs/_includes/feature_row +++ /dev/null @@ -1,53 +0,0 @@ -{% if include.id %} - {% assign feature_row = page[include.id] %} -{% else %} - {% assign feature_row = page.feature_row %} -{% endif %} - -
- - {% for f in feature_row %} - - {% if f.url contains "://" %} - {% capture f_url %}{{ f.url }}{% endcapture %} - {% else %} - {% capture f_url %}{{ f.url | relative_url }}{% endcapture %} - {% endif %} - -
-
- {% if f.image_path %} -
- {% if f.alt %}{{ f.alt }}{% endif %} - {% if f.image_caption %} - {{ f.image_caption | markdownify | remove: "

" | remove: "

" }}
- {% endif %} -
- {% endif %} - -
- {% if f.title %} -

{{ f.title }}

- {% endif %} - - {% if f.excerpt %} -
- {{ f.excerpt | markdownify }} -
- {% endif %} - - {% if f.url %} -

{{ f.btn_label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}

- {% endif %} -
-
-
- {% endfor %} - -
\ No newline at end of file diff --git a/docs/_includes/figure b/docs/_includes/figure deleted file mode 100644 index 8e9bdd58..00000000 --- a/docs/_includes/figure +++ /dev/null @@ -1,12 +0,0 @@ -
- {% if include.alt %}{{ include.alt }}{% endif %} - {% if include.caption %} -
- {{ include.caption | markdownify | remove: "

" | remove: "

" }} -
{% endif %}
diff --git a/docs/_includes/footer.html b/docs/_includes/footer.html deleted file mode 100644 index 2bc78963..00000000 --- a/docs/_includes/footer.html +++ /dev/null @@ -1,19 +0,0 @@ - - - diff --git a/docs/_includes/footer/custom.html b/docs/_includes/footer/custom.html deleted file mode 100644 index d512599d..00000000 --- a/docs/_includes/footer/custom.html +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/docs/_includes/gallery b/docs/_includes/gallery deleted file mode 100644 index 97022aa8..00000000 --- a/docs/_includes/gallery +++ /dev/null @@ -1,51 +0,0 @@ -{% if include.id %} - {% assign gallery = page[include.id] %} -{% else %} - {% assign gallery = page.gallery %} -{% endif %} - -{% if include.layout %} - {% assign gallery_layout = include.layout %} -{% else %} - {% if gallery.size == 2 %} - {% assign gallery_layout = 'half' %} - {% elsif gallery.size >= 3 %} - {% assign gallery_layout = 'third' %} - {% else %} - {% assign gallery_layout = '' %} - {% endif %} -{% endif %} - - \ No newline at end of file diff --git a/docs/_includes/group-by-array b/docs/_includes/group-by-array deleted file mode 100644 index 708de41a..00000000 --- a/docs/_includes/group-by-array +++ /dev/null @@ -1,47 +0,0 @@ - - - -{% assign __empty_array = '' | split: ',' %} -{% assign group_names = __empty_array %} -{% assign group_items = __empty_array %} - - -{% assign __names = include.collection | map: include.field %} - - -{% assign __names = __names | join: ',' | join: ',' | split: ',' %} - - -{% assign __names = __names | sort %} -{% for name in __names %} - - -{% unless name == previous %} - - -{% assign group_names = group_names | push: name %} -{% endunless %} - -{% assign previous = name %} -{% endfor %} - - - -{% for name in group_names %} - - -{% assign __item = __empty_array %} -{% for __element in include.collection %} -{% if __element[include.field] contains name %} -{% assign __item = __item | push: __element %} -{% endif %} -{% endfor %} - - -{% assign group_items = group_items | push: __item %} -{% endfor %} \ No newline at end of file diff --git a/docs/_includes/head.html b/docs/_includes/head.html deleted file mode 100644 index cb68465f..00000000 --- a/docs/_includes/head.html +++ /dev/null @@ -1,41 +0,0 @@ - - -{% include seo.html %} - - - - - - - - - - - - - -{% if site.head_scripts %} - {% for script in site.head_scripts %} - {% if script contains "://" %} - {% capture script_path %}{{ script }}{% endcapture %} - {% else %} - {% capture script_path %}{{ script | relative_url }}{% endcapture %} - {% endif %} - - {% endfor %} -{% endif %} diff --git a/docs/_includes/head/custom.html b/docs/_includes/head/custom.html deleted file mode 100644 index dbee9a24..00000000 --- a/docs/_includes/head/custom.html +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/docs/_includes/masthead.html b/docs/_includes/masthead.html deleted file mode 100644 index 3fe9fc1c..00000000 --- a/docs/_includes/masthead.html +++ /dev/null @@ -1,46 +0,0 @@ -{% if site.logo contains "://" %} - {% capture logo_path %}{{ site.logo }}{% endcapture %} -{% else %} - {% capture logo_path %}{{ site.logo }}{% endcapture %} -{% endif %} - -
-
-
- -
-
-
diff --git a/docs/_includes/nav_list b/docs/_includes/nav_list deleted file mode 100644 index b1d06c30..00000000 --- a/docs/_includes/nav_list +++ /dev/null @@ -1,47 +0,0 @@ -{% assign navigation = site.data.navigation[include.nav] %} - - \ No newline at end of file diff --git a/docs/_includes/page__hero.html b/docs/_includes/page__hero.html deleted file mode 100644 index 98bff72a..00000000 --- a/docs/_includes/page__hero.html +++ /dev/null @@ -1,72 +0,0 @@ -{% if page.header.image contains "://" %} - {% capture img_path %}{{ page.header.image }}{% endcapture %} -{% else %} - {% capture img_path %}{{ page.header.image | relative_url }}{% endcapture %} -{% endif %} - -{% if page.header.cta_url contains "://" %} - {% capture cta_path %}{{ page.header.cta_url }}{% endcapture %} -{% else %} - {% capture cta_path %}{{ page.header.cta_url | relative_url }}{% endcapture %} -{% endif %} - -{% if page.header.overlay_image contains "://" %} - {% capture overlay_img_path %}{{ page.header.overlay_image }}{% endcapture %} -{% elsif page.header.overlay_image %} - {% capture overlay_img_path %}{{ page.header.overlay_image | relative_url }}{% endcapture %} -{% endif %} - -{% if page.header.overlay_filter contains "rgba" %} - {% capture overlay_filter %}{{ page.header.overlay_filter }}{% endcapture %} -{% elsif page.header.overlay_filter %} - {% capture overlay_filter %}rgba(0, 0, 0, {{ page.header.overlay_filter }}){% endcapture %} -{% endif %} - -{% if page.header.image_description %} - {% assign image_description = page.header.image_description %} -{% else %} - {% assign image_description = page.title %} -{% endif %} - -{% assign image_description = image_description | markdownify | strip_html | strip_newlines | escape_once %} - -
- {% if page.header.overlay_color or page.header.overlay_image %} -
-

- {% if paginator and site.paginate_show_page_num %} - {{ site.title }}{% unless paginator.page == 1 %} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %} - {% else %} - {{ page.title | default: site.title | markdownify | remove: "

" | remove: "

" }} - {% endif %} -

- {% if page.header.show_overlay_excerpt != false and page.excerpt %} -

{{ page.excerpt | markdownify | remove: "

" | remove: "

" }}

- {% endif %} - {% if page.read_time %} -

{% include read-time.html %}

- {% endif %} - {% if page.header.cta_url %} -

{{ page.header.cta_label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}

- {% endif %} - {% if page.header.actions %} -

- {% for action in page.header.actions %} - {% if action.url contains "://" %} - {% assign url = action.url %} - {% else %} - {% assign url = action.url | relative_url %} - {% endif %} - {{ action.label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }} - {% endfor %} - {% endif %} -

- {% else %} - {{ image_description }} - {% endif %} - {% if page.header.caption %} - {{ page.header.caption | markdownify | remove: "

" | remove: "

" }}
- {% endif %} -
diff --git a/docs/_includes/page__hero_video.html b/docs/_includes/page__hero_video.html deleted file mode 100644 index 8586a95a..00000000 --- a/docs/_includes/page__hero_video.html +++ /dev/null @@ -1,4 +0,0 @@ -{% capture video_id %}{{ page.header.video.id }}{% endcapture %} -{% capture video_provider %}{{ page.header.video.provider }}{% endcapture %} - -{% include video id=video_id provider=video_provider %} diff --git a/docs/_includes/page__taxonomy.html b/docs/_includes/page__taxonomy.html deleted file mode 100644 index 75c76c81..00000000 --- a/docs/_includes/page__taxonomy.html +++ /dev/null @@ -1,7 +0,0 @@ -{% if site.tag_archive.type and page.tags[0] %} - {% include tag-list.html %} -{% endif %} - -{% if site.category_archive.type and page.categories[0] %} - {% include category-list.html %} -{% endif %} \ No newline at end of file diff --git a/docs/_includes/paginator.html b/docs/_includes/paginator.html deleted file mode 100644 index 592a2cfc..00000000 --- a/docs/_includes/paginator.html +++ /dev/null @@ -1,69 +0,0 @@ -{% if paginator.total_pages > 1 %} - -{% endif %} diff --git a/docs/_includes/post_pagination.html b/docs/_includes/post_pagination.html deleted file mode 100644 index a93c6279..00000000 --- a/docs/_includes/post_pagination.html +++ /dev/null @@ -1,14 +0,0 @@ -{% if page.previous or page.next %} - -{% endif %} \ No newline at end of file diff --git a/docs/_includes/posts-category.html b/docs/_includes/posts-category.html deleted file mode 100644 index 98be3e96..00000000 --- a/docs/_includes/posts-category.html +++ /dev/null @@ -1,3 +0,0 @@ -{%- for post in site.categories[include.taxonomy] -%} - {% include archive-single.html %} -{%- endfor -%} diff --git a/docs/_includes/posts-tag.html b/docs/_includes/posts-tag.html deleted file mode 100644 index 180a2f31..00000000 --- a/docs/_includes/posts-tag.html +++ /dev/null @@ -1,3 +0,0 @@ -{%- for post in site.tags[include.taxonomy] -%} - {% include archive-single.html %} -{%- endfor -%} diff --git a/docs/_includes/read-time.html b/docs/_includes/read-time.html deleted file mode 100644 index df88d529..00000000 --- a/docs/_includes/read-time.html +++ /dev/null @@ -1,15 +0,0 @@ -{% assign words_per_minute = site.words_per_minute | default: 200 %} - -{% if post.read_time %} - {% assign words = post.content | strip_html | number_of_words %} -{% elsif page.read_time %} - {% assign words = page.content | strip_html | number_of_words %} -{% endif %} - -{% if words < words_per_minute %} - {{ site.data.ui-text[site.locale].less_than | default: "less than" }} 1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }} -{% elsif words == words_per_minute %} - 1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }} -{% else %} - {{ words | divided_by:words_per_minute }} {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }} -{% endif %} \ No newline at end of file diff --git a/docs/_includes/scripts.html b/docs/_includes/scripts.html deleted file mode 100644 index 5530028e..00000000 --- a/docs/_includes/scripts.html +++ /dev/null @@ -1,39 +0,0 @@ -{% if site.footer_scripts %} - {% for script in site.footer_scripts %} - {% if script contains "://" %} - {% capture script_path %}{{ script }}{% endcapture %} - {% else %} - {% capture script_path %}{{ script | relative_url }}{% endcapture %} - {% endif %} - - {% endfor %} -{% else %} - - -{% endif %} - -{% if site.search == true or page.layout == "search" %} - {%- assign search_provider = site.search_provider | default: "lunr" -%} - {%- case search_provider -%} - {%- when "lunr" -%} - {% include_cached search/lunr-search-scripts.html %} - {%- when "google" -%} - {% include_cached search/google-search-scripts.html %} - {%- when "algolia" -%} - {% include_cached search/algolia-search-scripts.html %} - {%- endcase -%} -{% endif %} - -{% include analytics.html %} -{% include /comments-providers/scripts.html %} - -{% if site.after_footer_scripts %} - {% for script in site.after_footer_scripts %} - {% if script contains "://" %} - {% capture script_path %}{{ script }}{% endcapture %} - {% else %} - {% capture script_path %}{{ script | relative_url }}{% endcapture %} - {% endif %} - - {% endfor %} -{% endif %} diff --git a/docs/_includes/search/algolia-search-scripts.html b/docs/_includes/search/algolia-search-scripts.html deleted file mode 100644 index a6bc9d29..00000000 --- a/docs/_includes/search/algolia-search-scripts.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - diff --git a/docs/_includes/search/google-search-scripts.html b/docs/_includes/search/google-search-scripts.html deleted file mode 100644 index 4af7423b..00000000 --- a/docs/_includes/search/google-search-scripts.html +++ /dev/null @@ -1,30 +0,0 @@ - \ No newline at end of file diff --git a/docs/_includes/search/lunr-search-scripts.html b/docs/_includes/search/lunr-search-scripts.html deleted file mode 100644 index 574c3900..00000000 --- a/docs/_includes/search/lunr-search-scripts.html +++ /dev/null @@ -1,10 +0,0 @@ -{% assign lang = site.locale | slice: 0,2 | default: "en" %} -{% case lang %} -{% when "gr" %} - {% assign lang = "gr" %} -{% else %} - {% assign lang = "en" %} -{% endcase %} - - - \ No newline at end of file diff --git a/docs/_includes/search/search_form.html b/docs/_includes/search/search_form.html deleted file mode 100644 index c3463798..00000000 --- a/docs/_includes/search/search_form.html +++ /dev/null @@ -1,26 +0,0 @@ -
- {%- assign search_provider = site.search_provider | default: "lunr" -%} - {%- case search_provider -%} - {%- when "lunr" -%} -
- - -
-
- {%- when "google" -%} -
- - -
-
- -
- {%- when "algolia" -%} - -
- {%- endcase -%} -
diff --git a/docs/_includes/seo.html b/docs/_includes/seo.html deleted file mode 100644 index d4a762a1..00000000 --- a/docs/_includes/seo.html +++ /dev/null @@ -1,168 +0,0 @@ - -{%- if site.url -%} - {%- assign seo_url = site.url | append: site.baseurl -%} -{%- endif -%} -{%- assign seo_url = seo_url | default: site.github.url -%} - -{% assign title_separator = site.title_separator | default: '-' | replace: '|', '|' %} - -{%- if page.title -%} - {%- assign seo_title = page.title | append: " " | append: title_separator | append: " " | append: site.title -%} -{%- endif -%} - -{%- if seo_title -%} - {%- assign seo_title = seo_title | markdownify | strip_html | strip_newlines | escape_once -%} -{%- endif -%} - -{% if page.canonical_url %} - {%- assign canonical_url = page.canonical_url %} -{% else %} - {%- assign canonical_url = page.url | replace: "index.html", "" | absolute_url %} -{% endif %} - -{%- assign seo_description = page.description | default: page.excerpt | default: site.description -%} -{%- if seo_description -%} - {%- assign seo_description = seo_description | markdownify | strip_html | strip_newlines | escape_once -%} -{%- endif -%} - -{%- assign author = page.author | default: page.authors[0] | default: site:author -%} -{%- assign author = site.data.authors[author] | default: author -%} - -{%- if author.twitter -%} - {%- assign author_twitter = author.twitter | replace: "@", "" -%} -{%- endif -%} - -{%- assign page_large_image = page.header.og_image | default: page.header.overlay_image | default: page.header.image -%} -{%- unless page_large_image contains '://' -%} - {%- assign page_large_image = page_large_image | absolute_url -%} -{%- endunless -%} -{%- assign page_large_image = page_large_image | escape -%} - -{%- assign page_teaser_image = page.header.teaser | default: site.og_image -%} -{%- unless page_teaser_image contains '://' -%} - {%- assign page_teaser_image = page_teaser_image | absolute_url -%} -{%- endunless -%} -{%- assign page_teaser_image = page_teaser_image | escape -%} - -{%- assign site_og_image = site.og_image -%} -{%- unless site_og_image contains '://' -%} - {%- assign site_og_image = site_og_image | absolute_url -%} -{%- endunless -%} -{%- assign site_og_image = site_og_image | escape -%} - -{%- if page.date -%} - {%- assign og_type = "article" -%} -{%- else -%} - {%- assign og_type = "website" -%} -{%- endif -%} - -{{ seo_title | default: site.title }}{% if paginator %}{% unless paginator.page == 1 %} {{ title_separator }} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %}{% endif %} - - -{% if author.name %} - -{% endif %} - - - - - - - -{% if page.excerpt %} - -{% endif %} - -{% if page_large_image %} - -{% elsif page_teaser_image %} - -{% endif %} - -{% if site.twitter.username %} - - - - - - {% if page_large_image %} - - - {% else %} - - {% if page_teaser_image %} - - {% endif %} - {% endif %} - - {% if author_twitter %} - - {% endif %} -{% endif %} - -{% if page.date %} - -{% endif %} - -{% if og_type == "article" and page.last_modified_at %} - -{% endif %} - -{% if site.facebook %} - {% if site.facebook.publisher %} - - {% endif %} - - {% if site.facebook.app_id %} - - {% endif %} -{% endif %} - - - -{% if paginator.previous_page %} - -{% endif %} -{% if paginator.next_page %} - -{% endif %} - -{% if site.og_image %} - -{% endif %} - -{% if site.social %} - -{% endif %} - -{% if site.google_site_verification %} - -{% endif %} -{% if site.bing_site_verification %} - -{% endif %} -{% if site.alexa_site_verification %} - -{% endif %} -{% if site.yandex_site_verification %} - -{% endif %} -{% if site.naver_site_verification %} - -{% endif %} - diff --git a/docs/_includes/sidebar.html b/docs/_includes/sidebar.html deleted file mode 100644 index 2a1884ed..00000000 --- a/docs/_includes/sidebar.html +++ /dev/null @@ -1,24 +0,0 @@ -{% if page.author_profile or layout.author_profile or page.sidebar %} - -{% endif %} \ No newline at end of file diff --git a/docs/_includes/skip-links.html b/docs/_includes/skip-links.html deleted file mode 100644 index 2cd9f17d..00000000 --- a/docs/_includes/skip-links.html +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/docs/_includes/social-share.html b/docs/_includes/social-share.html deleted file mode 100644 index ed81b5f5..00000000 --- a/docs/_includes/social-share.html +++ /dev/null @@ -1,17 +0,0 @@ - \ No newline at end of file diff --git a/docs/_includes/tag-list.html b/docs/_includes/tag-list.html deleted file mode 100644 index e0d02bfa..00000000 --- a/docs/_includes/tag-list.html +++ /dev/null @@ -1,26 +0,0 @@ -{% case site.tag_archive.type %} - {% when "liquid" %} - {% assign path_type = "#" %} - {% when "jekyll-archives" %} - {% assign path_type = nil %} -{% endcase %} - -{% if site.tag_archive.path %} - {% comment %} - - - {% endcomment %} - {% capture page_tags %}{% for tag in page.tags %}{{ tag | downcase }}|{{ tag }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} - {% assign tag_hashes = page_tags | split: ',' | sort %} - -

- {{ site.data.ui-text[site.locale].tags_label | default: "Tags:" }} - - {% for hash in tag_hashes %} - {% assign keyValue = hash | split: '|' %} - {% capture tag_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %} - {% unless forloop.last %}, {% endunless %} - {% endfor %} - -

-{% endif %} \ No newline at end of file diff --git a/docs/_includes/toc b/docs/_includes/toc deleted file mode 100644 index 6423ccdc..00000000 --- a/docs/_includes/toc +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/docs/_includes/toc.html b/docs/_includes/toc.html deleted file mode 100644 index 54ab8b03..00000000 --- a/docs/_includes/toc.html +++ /dev/null @@ -1,85 +0,0 @@ -{% capture tocWorkspace %} - {% comment %} - Version 1.0.5 - https://github.com/allejo/jekyll-toc - - "...like all things liquid - where there's a will, and ~36 hours to spare, there's usually a/some way" ~jaybe - - Usage: - {% include toc.html html=content sanitize=true class="inline_toc" id="my_toc" h_min=2 h_max=3 %} - - Parameters: - * html (string) - the HTML of compiled markdown generated by kramdown in Jekyll - - Optional Parameters: - * sanitize (bool) : false - when set to true, the headers will be stripped of any HTML in the TOC - * class (string) : '' - a CSS class assigned to the TOC - * id (string) : '' - an ID to assigned to the TOC - * h_min (int) : 1 - the minimum TOC header level to use; any header lower than this value will be ignored - * h_max (int) : 6 - the maximum TOC header level to use; any header greater than this value will be ignored - * ordered (bool) : false - when set to true, an ordered list will be outputted instead of an unordered list - * item_class (string) : '' - add custom class for each list item; has support for '%level%' placeholder, which is the current heading level - * baseurl (string) : '' - add a base url to the TOC links for when your TOC is on another page than the actual content - - Output: - An ordered or unordered list representing the table of contents of a markdown block. This snippet will only generate the table of contents and will NOT output the markdown given to it - {% endcomment %} - - {% capture my_toc %}{% endcapture %} - {% assign orderedList = include.ordered | default: false %} - {% assign minHeader = include.h_min | default: 1 %} - {% assign maxHeader = include.h_max | default: 6 %} - {% assign nodes = include.html | split: ' maxHeader %} - {% continue %} - {% endif %} - - {% if firstHeader %} - {% assign firstHeader = false %} - {% assign minHeader = headerLevel %} - {% endif %} - - {% assign indentAmount = headerLevel | minus: minHeader | add: 1 %} - {% assign _workspace = node | split: '' | first }}>{% endcapture %} - {% assign header = _workspace[0] | replace: _hAttrToStrip, '' %} - - {% assign space = '' %} - {% for i in (1..indentAmount) %} - {% assign space = space | prepend: ' ' %} - {% endfor %} - - {% unless include.item_class == blank %} - {% capture listItemClass %}{:.{{ include.item_class | replace: '%level%', headerLevel }}}{% endcapture %} - {% endunless %} - - {% capture my_toc %}{{ my_toc }} -{{ space }}{{ listModifier }} {{ listItemClass }} [{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}]({% if include.baseurl %}{{ include.baseurl }}{% endif %}#{{ html_id }}){% endcapture %} - {% endfor %} - - {% if include.class %} - {% capture my_toc %}{:.{{ include.class }}} -{{ my_toc | lstrip }}{% endcapture %} - {% endif %} - - {% if include.id %} - {% capture my_toc %}{: #{{ include.id }}} -{{ my_toc | lstrip }}{% endcapture %} - {% endif %} -{% endcapture %}{% assign tocWorkspace = '' %}{{ my_toc | markdownify | strip }} \ No newline at end of file diff --git a/docs/_includes/video b/docs/_includes/video deleted file mode 100644 index 8955c7c4..00000000 --- a/docs/_includes/video +++ /dev/null @@ -1,13 +0,0 @@ -{% capture video_id %}{{ include.id }}{% endcapture %} -{% capture video_provider %}{{ include.provider }}{% endcapture %} - - -
-{% if video_provider == "vimeo" %} - -{% elsif video_provider == "youtube" %} - -{% elsif video_provider == "google-drive" %} - -{% endif %} -
diff --git a/docs/_layouts/archive-taxonomy.html b/docs/_layouts/archive-taxonomy.html deleted file mode 100644 index 6939122d..00000000 --- a/docs/_layouts/archive-taxonomy.html +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: default -author_profile: false ---- - -
- {% include sidebar.html %} - -
-

{{ page.title }}

- {% for post in page.posts %} - {% include archive-single.html %} - {% endfor %} -
-
\ No newline at end of file diff --git a/docs/_layouts/archive.html b/docs/_layouts/archive.html deleted file mode 100644 index 08beb89a..00000000 --- a/docs/_layouts/archive.html +++ /dev/null @@ -1,26 +0,0 @@ ---- -layout: default ---- - -{% if page.header.overlay_color or page.header.overlay_image or page.header.image %} - {% include page__hero.html %} -{% elsif page.header.video.id and page.header.video.provider %} - {% include page__hero_video.html %} -{% endif %} - -{% if page.url != "/" and site.breadcrumbs %} - {% unless paginator %} - {% include breadcrumbs.html %} - {% endunless %} -{% endif %} - -
- {% include sidebar.html %} - -
- {% unless page.header.overlay_color or page.header.overlay_image %} -

{{ page.title }}

- {% endunless %} - {{ content }} -
-
\ No newline at end of file diff --git a/docs/_layouts/categories.html b/docs/_layouts/categories.html deleted file mode 100644 index aa2c6e80..00000000 --- a/docs/_layouts/categories.html +++ /dev/null @@ -1,42 +0,0 @@ ---- -layout: archive ---- - -{{ content }} - -{% assign categories_max = 0 %} -{% for category in site.categories %} - {% if category[1].size > categories_max %} - {% assign categories_max = category[1].size %} - {% endif %} -{% endfor %} - -
    - {% for i in (1..categories_max) reversed %} - {% for category in site.categories %} - {% if category[1].size == i %} -
  • - - {{ category[0] }} {{ i }} - -
  • - {% endif %} - {% endfor %} - {% endfor %} -
- -{% for i in (1..categories_max) reversed %} - {% for category in site.categories %} - {% if category[1].size == i %} -
-

{{ category[0] }}

-
- {% for post in category.last %} - {% include archive-single.html type=page.entries_layout %} - {% endfor %} -
- {{ site.data.ui-text[site.locale].back_to_top | default: 'Back to Top' }} ↑ -
- {% endif %} - {% endfor %} -{% endfor %} diff --git a/docs/_layouts/category.html b/docs/_layouts/category.html deleted file mode 100644 index 79b81ce0..00000000 --- a/docs/_layouts/category.html +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: archive ---- - -{{ content }} - -
- {% include posts-category.html taxonomy=page.taxonomy type=page.entries_layout %} -
diff --git a/docs/_layouts/collection.html b/docs/_layouts/collection.html deleted file mode 100644 index 3bcd916a..00000000 --- a/docs/_layouts/collection.html +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: archive ---- - -{{ content }} - -
- {% include documents-collection.html collection=page.collection sort_by=page.sort_by sort_order=page.sort_order type=page.entries_layout %} -
diff --git a/docs/_layouts/compress.html b/docs/_layouts/compress.html deleted file mode 100644 index bb34487d..00000000 --- a/docs/_layouts/compress.html +++ /dev/null @@ -1,10 +0,0 @@ ---- -# Jekyll layout that compresses HTML -# v3.1.0 -# http://jch.penibelst.de/ -# © 2014–2015 Anatol Broder -# MIT License ---- - -{% capture _LINE_FEED %} -{% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment or site.compress_html.ignore.envs == "all" %}{{ content }}{% else %}{% capture _content %}{{ content }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "" %}{% endif %}{% unless _pre_before contains "" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " ;; ;" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %}
Step Bytes
raw {{ content | size }}{% if _profile_endings %}
endings {{ _profile_endings }}{% endif %}{% if _profile_startings %}
startings {{ _profile_startings }}{% endif %}{% if _profile_comments %}
comments {{ _profile_comments }}{% endif %}{% if _profile_collapse %}
collapse {{ _profile_collapse }}{% endif %}{% if _profile_clippings %}
clippings {{ _profile_clippings }}{% endif %}
{% endif %}{% endif %} diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html deleted file mode 100644 index b752e624..00000000 --- a/docs/_layouts/default.html +++ /dev/null @@ -1,42 +0,0 @@ ---- ---- - - - - - - {% include head.html %} - {% include head/custom.html %} - - - - {% include_cached skip-links.html %} - {% include_cached browser-upgrade.html %} - {% include_cached masthead.html %} - -
- {{ content }} -
- - {% if site.search == true %} -
- {% include_cached search/search_form.html %} -
- {% endif %} - - - - {% include scripts.html %} - - - diff --git a/docs/_layouts/home.html b/docs/_layouts/home.html deleted file mode 100644 index d1428ebb..00000000 --- a/docs/_layouts/home.html +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: archive ---- - -{{ content }} - -

{{ site.data.ui-text[site.locale].recent_posts | default: "Recent Posts" }}

- -{% for post in paginator.posts %} - {% include archive-single.html %} -{% endfor %} - -{% include paginator.html %} diff --git a/docs/_layouts/posts.html b/docs/_layouts/posts.html deleted file mode 100644 index 76d25f9d..00000000 --- a/docs/_layouts/posts.html +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: archive ---- - -{{ content }} - - - -{% assign postsByYear = site.posts | group_by_exp: 'post', 'post.date | date: "%Y"' %} -{% for year in postsByYear %} -
-

{{ year.name }}

-
- {% for post in year.items %} - {% include archive-single.html type=page.entries_layout %} - {% endfor %} -
- {{ site.data.ui-text[site.locale].back_to_top | default: 'Back to Top' }} ↑ -
-{% endfor %} diff --git a/docs/_layouts/search.html b/docs/_layouts/search.html deleted file mode 100644 index d18f2235..00000000 --- a/docs/_layouts/search.html +++ /dev/null @@ -1,42 +0,0 @@ ---- -layout: default ---- - -{% if page.header.overlay_color or page.header.overlay_image or page.header.image %} - {% include page__hero.html %} -{% endif %} - -{% if page.url != "/" and site.breadcrumbs %} - {% unless paginator %} - {% include breadcrumbs.html %} - {% endunless %} -{% endif %} - -
- {% include sidebar.html %} - -
- {% unless page.header.overlay_color or page.header.overlay_image %} -

{{ page.title }}

- {% endunless %} - - {{ content }} - - {%- assign search_provider = site.search_provider | default: "lunr" -%} - {%- case search_provider -%} - {%- when "lunr" -%} - -
- {%- when "google" -%} -
- -
-
- -
- {%- when "algolia" -%} - -
- {%- endcase -%} -
-
diff --git a/docs/_layouts/single-mod.html b/docs/_layouts/single-mod.html deleted file mode 100644 index 5abd4290..00000000 --- a/docs/_layouts/single-mod.html +++ /dev/null @@ -1,116 +0,0 @@ ---- -layout: default ---- - -{% if page.header.overlay_color or page.header.overlay_image or page.header.image %} -{% include page__hero.html %} -{% elsif page.header.video.id and page.header.video.provider %} -{% include page__hero_video.html %} -{% endif %} - -{% if page.url != "/" and site.breadcrumbs %} -{% unless paginator %} -{% include breadcrumbs.html %} -{% endunless %} -{% endif %} - -
- {% include sidebar.html %} - -
- {% if page.title %} - - {% endif %} - {% if page.excerpt %} - {% endif %} - {% if page.date %} - {% endif %} - {% if page.last_modified_at %} - {% endif %} - -
- {% unless page.header.overlay_color or page.header.overlay_image %} -
- {% if page.title %}

- {{ page.title | markdownify | remove: "

" | remove: "

" }}

{% endif %} - {% if page.read_time %} -

{% include read-time.html %}

- {% endif %} -
- {% endunless %} - -
- {% if page.toc %} - - {% endif %} - {{ content }} - {% if page.link %}{% endif %} -
- -
- {% if site.data.ui-text[site.locale].meta_label %} -

{{ site.data.ui-text[site.locale].meta_label }}

- {% endif %} - {% include page__taxonomy.html %} - {% if page.last_modified_at %} -

- {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }} -

- {% elsif page.date %} -

- {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}

- {% endif %} -
- - {% if page.share %}{% include social-share.html %}{% endif %} - -
- - {% if jekyll.environment == 'production' and site.comments.provider and page.comments %} - {% include comments.html %} - {% endif %} -
- - {% comment %} - {% endcomment %} - {% if page.id and page.related and site.related_posts.size > 0 %} - - {% comment %} - {% endcomment %} - {% elsif page.id and page.related %} - - {% endif %} -
\ No newline at end of file diff --git a/docs/_layouts/single.html b/docs/_layouts/single.html deleted file mode 100644 index 2a33c273..00000000 --- a/docs/_layouts/single.html +++ /dev/null @@ -1,95 +0,0 @@ ---- -layout: default ---- - -{% if page.header.overlay_color or page.header.overlay_image or page.header.image %} - {% include page__hero.html %} -{% elsif page.header.video.id and page.header.video.provider %} - {% include page__hero_video.html %} -{% endif %} - -{% if page.url != "/" and site.breadcrumbs %} - {% unless paginator %} - {% include breadcrumbs.html %} - {% endunless %} -{% endif %} - -
- {% include sidebar.html %} - -
- {% if page.title %}{% endif %} - {% if page.excerpt %}{% endif %} - {% if page.date %}{% endif %} - {% if page.last_modified_at %}{% endif %} - -
- {% unless page.header.overlay_color or page.header.overlay_image %} -
- {% if page.title %}

{{ page.title | markdownify | remove: "

" | remove: "

" }}

{% endif %} - {% if page.read_time %} -

{% include read-time.html %}

- {% endif %} -
- {% endunless %} - -
- {% if page.toc %} - - {% endif %} - {{ content }} - {% if page.link %}{% endif %} -
- -
- {% if site.data.ui-text[site.locale].meta_label %} -

{{ site.data.ui-text[site.locale].meta_label }}

- {% endif %} - {% include page__taxonomy.html %} - {% if page.last_modified_at %} -

{{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}

- {% elsif page.date %} -

{{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}

- {% endif %} -
- - {% if page.share %}{% include social-share.html %}{% endif %} - - {% include post_pagination.html %} -
- - {% if jekyll.environment == 'production' and site.comments.provider and page.comments %} - {% include comments.html %} - {% endif %} -
- - {% comment %}{% endcomment %} - {% if page.id and page.related and site.related_posts.size > 0 %} - - {% comment %}{% endcomment %} - {% elsif page.id and page.related %} - - {% endif %} -
diff --git a/docs/_layouts/splash.html b/docs/_layouts/splash.html deleted file mode 100644 index b327607e..00000000 --- a/docs/_layouts/splash.html +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: default ---- - -{% if page.header.overlay_color or page.header.overlay_image or page.header.image %} - {% include page__hero.html %} -{% elsif page.header.video.id and page.header.video.provider %} - {% include page__hero_video.html %} -{% endif %} - -
-
- {% if page.title %}{% endif %} - {% if page.excerpt %}{% endif %} - {% if page.date %}{% endif %} - {% if page.last_modified_at %}{% endif %} - -
- {{ content }} -
-
-
diff --git a/docs/_layouts/tag.html b/docs/_layouts/tag.html deleted file mode 100644 index 5f83c2aa..00000000 --- a/docs/_layouts/tag.html +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: archive ---- - -{{ content }} - -
- {% include posts-tag.html taxonomy=page.taxonomy type=page.entries_layout %} -
diff --git a/docs/_layouts/tags.html b/docs/_layouts/tags.html deleted file mode 100644 index 128e176e..00000000 --- a/docs/_layouts/tags.html +++ /dev/null @@ -1,42 +0,0 @@ ---- -layout: archive ---- - -{{ content }} - -{% assign tags_max = 0 %} -{% for tag in site.tags %} - {% if tag[1].size > tags_max %} - {% assign tags_max = tag[1].size %} - {% endif %} -{% endfor %} - -
    - {% for i in (1..tags_max) reversed %} - {% for tag in site.tags %} - {% if tag[1].size == i %} -
  • - - {{ tag[0] }} {{ i }} - -
  • - {% endif %} - {% endfor %} - {% endfor %} -
- -{% for i in (1..tags_max) reversed %} - {% for tag in site.tags %} - {% if tag[1].size == i %} -
-

{{ tag[0] }}

-
- {% for post in tag.last %} - {% include archive-single.html type=page.entries_layout %} - {% endfor %} -
- {{ site.data.ui-text[site.locale].back_to_top | default: 'Back to Top' }} ↑ -
- {% endif %} - {% endfor %} -{% endfor %} diff --git a/docs/_sass/minimal-mistakes.scss b/docs/_sass/minimal-mistakes.scss deleted file mode 100644 index eebfa526..00000000 --- a/docs/_sass/minimal-mistakes.scss +++ /dev/null @@ -1,41 +0,0 @@ -/*! - * Minimal Mistakes Jekyll Theme 4.16.5 by Michael Rose - * Copyright 2013-2019 Michael Rose - mademistakes.com | @mmistakes - * Licensed under MIT (https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE) -*/ - -/* Variables */ -@import "minimal-mistakes/variables"; - -/* Mixins and functions */ -@import "minimal-mistakes/vendor/breakpoint/breakpoint"; -@include breakpoint-set("to ems", true); -@import "minimal-mistakes/vendor/magnific-popup/magnific-popup"; // Magnific Popup -@import "minimal-mistakes/vendor/susy/susy"; -@import "minimal-mistakes/mixins"; - -/* Core CSS */ -@import "minimal-mistakes/reset"; -@import "minimal-mistakes/base"; -@import "minimal-mistakes/forms"; -@import "minimal-mistakes/tables"; -@import "minimal-mistakes/animations"; - -/* Components */ -@import "minimal-mistakes/buttons"; -@import "minimal-mistakes/notices"; -@import "minimal-mistakes/masthead"; -@import "minimal-mistakes/navigation"; -@import "minimal-mistakes/footer"; -@import "minimal-mistakes/search"; -@import "minimal-mistakes/syntax"; - -/* Utility classes */ -@import "minimal-mistakes/utilities"; - -/* Layout specific */ -@import "minimal-mistakes/page"; -@import "minimal-mistakes/archive"; -@import "minimal-mistakes/sidebar"; -@import "minimal-mistakes/print"; - diff --git a/docs/_sass/minimal-mistakes/_animations.scss b/docs/_sass/minimal-mistakes/_animations.scss deleted file mode 100644 index 25ef77fb..00000000 --- a/docs/_sass/minimal-mistakes/_animations.scss +++ /dev/null @@ -1,21 +0,0 @@ -/* ========================================================================== - ANIMATIONS - ========================================================================== */ - -@-webkit-keyframes intro { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} - -@keyframes intro { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} \ No newline at end of file diff --git a/docs/_sass/minimal-mistakes/_archive.scss b/docs/_sass/minimal-mistakes/_archive.scss deleted file mode 100644 index 7d069045..00000000 --- a/docs/_sass/minimal-mistakes/_archive.scss +++ /dev/null @@ -1,438 +0,0 @@ -/* ========================================================================== - ARCHIVE - ========================================================================== */ - -.archive { - margin-top: 1em; - margin-bottom: 2em; - - @include breakpoint($large) { - float: right; - width: calc(100% - #{$right-sidebar-width-narrow}); - padding-right: $right-sidebar-width-narrow; - } - - @include breakpoint($x-large) { - width: calc(100% - #{$right-sidebar-width}); - padding-right: $right-sidebar-width; - } -} - -.archive__item { - position: relative; -} - -.archive__subtitle { - margin: 1.414em 0 0; - padding-bottom: 0.5em; - font-size: $type-size-5; - color: $muted-text-color; - border-bottom: 1px solid $border-color; - - + .list__item .archive__item-title { - margin-top: 0.5em; - } -} - -.archive__item-title { - margin-bottom: 0.25em; - font-family: $sans-serif-narrow; - line-height: initial; - overflow: hidden; - text-overflow: ellipsis; - - a[rel="permalink"]::before { - content: ''; - position: absolute; - left: 0; - top: 0; - right: 0; - bottom: 0; - } - - a + a { - opacity: 0.5; - } -} - -/* remove border*/ -.page__content { - .archive__item-title { - margin-top: 1em; - border-bottom: none; - } -} - -.archive__item-excerpt { - margin-top: 0; - font-size: $type-size-6; - - & + p { - text-indent: 0; - } - - a { - position: relative; - } -} - -.archive__item-teaser { - position: relative; - border-radius: $border-radius; - overflow: hidden; - - img { - width: 100%; - } -} - -.archive__item-caption { - position: absolute; - bottom: 0; - right: 0; - margin: 0 auto; - padding: 2px 5px; - color: #fff; - font-family: $caption-font-family; - font-size: $type-size-8; - background: #000; - text-align: right; - z-index: 5; - opacity: 0.5; - border-radius: $border-radius 0 0 0; - - @include breakpoint($large) { - padding: 5px 10px; - } - - a { - color: #fff; - text-decoration: none; - } -} - -/* - List view - ========================================================================== */ - -.list__item { - .page__meta { - margin: 0 0 4px; - font-size: 0.6em; - } -} - -/* - Grid view - ========================================================================== */ - -.archive { - .grid__wrapper { - /* extend grid elements to the right */ - - @include breakpoint($large) { - margin-right: -1 * $right-sidebar-width-narrow; - } - - @include breakpoint($x-large) { - margin-right: -1 * $right-sidebar-width; - } - } -} - -.grid__item { - margin-bottom: 2em; - - @include breakpoint($small) { - float: left; - width: span(5 of 10); - - &:nth-child(2n + 1) { - clear: both; - margin-left: 0; - } - - &:nth-child(2n + 2) { - clear: none; - margin-left: gutter(of 10); - } - } - - @include breakpoint($medium) { - margin-left: 0; /* override margin*/ - margin-right: 0; /* override margin*/ - width: span(3 of 12); - - &:nth-child(2n + 1) { - clear: none; - } - - &:nth-child(4n + 1) { - clear: both; - } - - &:nth-child(4n + 2) { - clear: none; - margin-left: gutter(1 of 12); - } - - &:nth-child(4n + 3) { - clear: none; - margin-left: gutter(1 of 12); - } - - &:nth-child(4n + 4) { - clear: none; - margin-left: gutter(1 of 12); - } - } - - .page__meta { - margin: 0 0 4px; - font-size: 0.6em; - } - - .archive__item-title { - margin-top: 0.5em; - font-size: $type-size-5; - } - - .archive__item-excerpt { - display: none; - - @include breakpoint($medium) { - display: block; - font-size: $type-size-6; - } - } - - .archive__item-teaser { - @include breakpoint($small) { - max-height: 200px; - } - - @include breakpoint($medium) { - max-height: 120px; - } - } -} - -/* - Features - ========================================================================== */ - -.feature__wrapper { - @include clearfix(); - margin-bottom: 2em; - border-bottom: 1px solid $border-color; - - .archive__item-title { - margin-bottom: 0; - } -} - -.feature__item { - position: relative; - margin-bottom: 2em; - font-size: 1.125em; - - @include breakpoint($small) { - float: left; - margin-bottom: 0; - width: span(4 of 12); - - &:nth-child(3n + 1) { - clear: both; - margin-left: 0; - } - - &:nth-child(3n + 2) { - clear: none; - margin-left: gutter(of 12); - } - - &:nth-child(3n + 3) { - clear: none; - margin-left: gutter(of 12); - } - - .feature__item-teaser { - max-height: 200px; - overflow: hidden; - } - } - - .archive__item-body { - padding-left: gutter(1 of 12); - padding-right: gutter(1 of 12); - } - - a.btn::before { - content: ''; - position: absolute; - left: 0; - top: 0; - right: 0; - bottom: 0; - } - - &--left { - position: relative; - float: left; - margin-left: 0; - margin-right: 0; - width: 100%; - clear: both; - font-size: 1.125em; - - .archive__item { - float: left; - } - - .archive__item-teaser { - margin-bottom: 2em; - } - - a.btn::before { - content: ''; - position: absolute; - left: 0; - top: 0; - right: 0; - bottom: 0; - } - - @include breakpoint($small) { - .archive__item-teaser { - float: left; - width: span(5 of 12); - } - - .archive__item-body { - float: right; - padding-left: gutter(0.5 of 12); - padding-right: gutter(1 of 12); - width: span(7 of 12); - } - } - } - - &--right { - position: relative; - float: left; - margin-left: 0; - margin-right: 0; - width: 100%; - clear: both; - font-size: 1.125em; - - .archive__item { - float: left; - } - - .archive__item-teaser { - margin-bottom: 2em; - } - - a.btn::before { - content: ''; - position: absolute; - left: 0; - top: 0; - right: 0; - bottom: 0; - } - - @include breakpoint($small) { - text-align: right; - - .archive__item-teaser { - float: right; - width: span(5 of 12); - } - - .archive__item-body { - float: left; - width: span(7 of 12); - padding-left: gutter(0.5 of 12); - padding-right: gutter(1 of 12); - } - } - } - - &--center { - position: relative; - float: left; - margin-left: 0; - margin-right: 0; - width: 100%; - clear: both; - font-size: 1.125em; - - .archive__item { - float: left; - width: 100%; - } - - .archive__item-teaser { - margin-bottom: 2em; - } - - a.btn::before { - content: ''; - position: absolute; - left: 0; - top: 0; - right: 0; - bottom: 0; - } - - @include breakpoint($small) { - text-align: center; - - .archive__item-teaser { - margin: 0 auto; - width: span(5 of 12); - } - - .archive__item-body { - margin: 0 auto; - width: span(7 of 12); - } - } - } -} - -/* Place inside an archive layout */ - -.archive { - .feature__wrapper { - .archive__item-title { - margin-top: 0.25em; - font-size: 1em; - } - } - - .feature__item, - .feature__item--left, - .feature__item--center, - .feature__item--right { - font-size: 1em; - } -} - -/* - Wide Pages - ========================================================================== */ - - .wide { - .archive { - @include breakpoint($large) { - padding-right: 0; - } - - @include breakpoint($x-large) { - padding-right: 0; - } - } -} \ No newline at end of file diff --git a/docs/_sass/minimal-mistakes/_base.scss b/docs/_sass/minimal-mistakes/_base.scss deleted file mode 100644 index dd94cda1..00000000 --- a/docs/_sass/minimal-mistakes/_base.scss +++ /dev/null @@ -1,357 +0,0 @@ -/* ========================================================================== - BASE ELEMENTS - ========================================================================== */ - -html { - /* sticky footer fix */ - position: relative; - min-height: 100%; -} - -body { - margin: 0; - padding: 0; - color: $text-color; - font-family: $global-font-family; - line-height: 1.5; - - &.overflow--hidden { - /* when primary navigation is visible, the content in the background won't scroll */ - overflow: hidden; - } -} - -h1, -h2, -h3, -h4, -h5, -h6 { - margin: 2em 0 0.5em; - line-height: 1.2; - font-family: $header-font-family; - font-weight: bold; -} - -h1 { - margin-top: 0; - font-size: $type-size-3; -} - -h2 { - font-size: $type-size-4; -} - -h3 { - font-size: $type-size-5; -} - -h4 { - font-size: $type-size-6; -} - -h5 { - font-size: $type-size-6; -} - -h6 { - font-size: $type-size-6; -} - -small, -.small { - font-size: $type-size-6; -} - -p { - margin-bottom: 1.3em; -} - -u, -ins { - text-decoration: none; - border-bottom: 1px solid $text-color; - a { - color: inherit; - } -} - -del a { - color: inherit; -} - -/* reduce orphans and widows when printing */ - -p, -pre, -blockquote, -ul, -ol, -dl, -figure, -table, -fieldset { - orphans: 3; - widows: 3; -} - -/* abbreviations */ - -abbr[title], -abbr[data-original-title] { - text-decoration: none; - cursor: help; - border-bottom: 1px dotted $text-color; -} - -/* blockquotes */ - -blockquote { - margin: 2em 1em 2em 0; - padding-left: 1em; - padding-right: 1em; - font-style: italic; - border-left: 0.25em solid $primary-color; - - cite { - font-style: italic; - - &:before { - content: "\2014"; - padding-right: 5px; - } - } -} - -/* links */ - -a { - &:focus { - @extend %tab-focus; - } - - &:visited { - color: $link-color-visited; - } - - &:hover { - color: $link-color-hover; - outline: 0; - } -} - -/* buttons */ - -button:focus { - @extend %tab-focus; -} - -/* code */ - -tt, -code, -kbd, -samp, -pre { - font-family: $monospace; -} - -pre { - overflow-x: auto; /* add scrollbars to wide code blocks*/ -} - -p > code, -a > code, -li > code, -figcaption > code, -td > code { - padding-top: 0.1rem; - padding-bottom: 0.1rem; - font-size: 0.8em; - background: $code-background-color; - border-radius: $border-radius; - - &:before, - &:after { - letter-spacing: -0.2em; - content: "\00a0"; /* non-breaking space*/ - } -} - -/* horizontal rule */ - -hr { - display: block; - margin: 1em 0; - border: 0; - border-top: 1px solid $border-color; -} - -/* lists */ - -ul li, -ol li { - margin-bottom: 0.5em; -} - -li ul, -li ol { - margin-top: 0.5em; -} - -/* - Media and embeds - ========================================================================== */ - -/* Figures and images */ - -figure { - display: -webkit-box; - display: flex; - -webkit-box-pack: justify; - justify-content: space-between; - -webkit-box-align: start; - align-items: flex-start; - flex-wrap: wrap; - margin: 2em 0; - - img, - iframe, - .fluid-width-video-wrapper { - margin-bottom: 1em; - } - - img { - width: 100%; - border-radius: $border-radius; - -webkit-transition: $global-transition; - transition: $global-transition; - } - - > a { - display: block; - } - - &.half { - > a, - > img { - @include breakpoint($small) { - width: calc(50% - 0.5em); - } - } - - figcaption { - width: 100%; - } - } - - &.third { - > a, - > img { - @include breakpoint($small) { - width: calc(33.3333% - 0.5em); - } - } - - figcaption { - width: 100%; - } - } -} - -/* Figure captions */ - -figcaption { - margin-bottom: 0.5em; - color: $muted-text-color; - font-family: $caption-font-family; - font-size: $type-size-6; - - a { - -webkit-transition: $global-transition; - transition: $global-transition; - - &:hover { - color: $link-color-hover; - } - } -} - -/* Fix IE9 SVG bug */ - -svg:not(:root) { - overflow: hidden; -} - -/* - Navigation lists - ========================================================================== */ - -/** - * Removes margins, padding, and bullet points from navigation lists - * - * Example usage: - * - */ - -nav { - ul { - margin: 0; - padding: 0; - } - - li { - list-style: none; - } - - a { - text-decoration: none; - } - - /* override white-space for nested lists */ - ul li, - ol li { - margin-bottom: 0; - } - - li ul, - li ol { - margin-top: 0; - } -} - -/* - Global animation transition - ========================================================================== */ - -b, -i, -strong, -em, -blockquote, -p, -q, -span, -figure, -img, -h1, -h2, -header, -input, -a, -tr, -td, -form button, -input[type="submit"], -.btn, -.highlight, -.archive__item-teaser { - -webkit-transition: $global-transition; - transition: $global-transition; -} diff --git a/docs/_sass/minimal-mistakes/_buttons.scss b/docs/_sass/minimal-mistakes/_buttons.scss deleted file mode 100644 index 9ef60a84..00000000 --- a/docs/_sass/minimal-mistakes/_buttons.scss +++ /dev/null @@ -1,97 +0,0 @@ -/* ========================================================================== - BUTTONS - ========================================================================== */ - -/* - Default button - ========================================================================== */ - -.btn { - /* default */ - display: inline-block; - margin-bottom: 0.25em; - padding: 0.5em 1em; - font-family: $sans-serif; - font-size: $type-size-6; - font-weight: bold; - text-align: center; - text-decoration: none; - border-width: 0; - border-radius: $border-radius; - cursor: pointer; - - .icon { - margin-right: 0.5em; - } - - .icon + .hidden { - margin-left: -0.5em; /* override for hidden text*/ - } - - /* button colors */ - $buttoncolors: - (primary, $primary-color), - (inverse, #fff), - (light-outline, transparent), - (success, $success-color), - (warning, $warning-color), - (danger, $danger-color), - (info, $info-color), - (facebook, $facebook-color), - (twitter, $twitter-color), - (linkedin, $linkedin-color); - - @each $buttoncolor, $color in $buttoncolors { - &--#{$buttoncolor} { - @include yiq-contrasted($color); - @if ($buttoncolor == inverse) { - border: 1px solid $border-color; - } - @if ($buttoncolor == light-outline) { - border: 1px solid #fff; - } - - &:visited { - @include yiq-contrasted($color); - } - - &:hover { - @include yiq-contrasted(mix(#000, $color, 20%)); - } - } - } - - /* fills width of parent container */ - &--block { - display: block; - width: 100%; - - + .btn--block { - margin-top: 0.25em; - } - } - - /* disabled */ - &--disabled { - pointer-events: none; - cursor: not-allowed; - filter: alpha(opacity=65); - box-shadow: none; - opacity: 0.65; - } - - /* extra large button */ - &--x-large { - font-size: $type-size-4; - } - - /* large button */ - &--large { - font-size: $type-size-5; - } - - /* small button */ - &--small { - font-size: $type-size-7; - } -} \ No newline at end of file diff --git a/docs/_sass/minimal-mistakes/_footer.scss b/docs/_sass/minimal-mistakes/_footer.scss deleted file mode 100644 index 766c6c72..00000000 --- a/docs/_sass/minimal-mistakes/_footer.scss +++ /dev/null @@ -1,91 +0,0 @@ -/* ========================================================================== - FOOTER - ========================================================================== */ - -.page__footer { - @include clearfix; - float: left; - margin-left: 0; - margin-right: 0; - width: 100%; - clear: both; - /* sticky footer fix start */ - position: absolute; - bottom: 0; - height: auto; - /* sticky footer fix end */ - margin-top: 3em; - color: $muted-text-color; - -webkit-animation: $intro-transition; - animation: $intro-transition; - -webkit-animation-delay: 0.45s; - animation-delay: 0.45s; - background-color: $footer-background-color; - - footer { - @include clearfix; - margin-left: auto; - margin-right: auto; - margin-top: 2em; - max-width: 100%; - padding: 0 1em 2em; - - @include breakpoint($x-large) { - max-width: $x-large; - } - } - - a { - color: inherit; - text-decoration: none; - - &:hover { - text-decoration: underline; - } - } - - .fas, - .fab, - .far, - .fal { - color: $muted-text-color; - } -} - -.page__footer-copyright { - font-family: $global-font-family; - font-size: $type-size-7; -} - -.page__footer-follow { - ul { - margin: 0; - padding: 0; - list-style-type: none; - } - - li { - display: inline-block; - padding-top: 5px; - padding-bottom: 5px; - font-family: $sans-serif-narrow; - font-size: $type-size-6; - text-transform: uppercase; - } - - li + li:before { - content: ""; - padding-right: 5px; - } - - a { - padding-right: 10px; - font-weight: bold; - } - - .social-icons { - a { - white-space: nowrap; - } - } -} diff --git a/docs/_sass/minimal-mistakes/_forms.scss b/docs/_sass/minimal-mistakes/_forms.scss deleted file mode 100644 index 146b3799..00000000 --- a/docs/_sass/minimal-mistakes/_forms.scss +++ /dev/null @@ -1,393 +0,0 @@ -/* ========================================================================== - Forms - ========================================================================== */ - -form { - margin: 0 0 5px 0; - padding: 1em; - background-color: $form-background-color; - - fieldset { - margin-bottom: 5px; - padding: 0; - border-width: 0; - } - - legend { - display: block; - width: 100%; - margin-bottom: 5px * 2; - *margin-left: -7px; - padding: 0; - color: $text-color; - border: 0; - white-space: normal; - } - - p { - margin-bottom: (5px / 2); - } - - ul { - list-style-type: none; - margin: 0 0 5px 0; - padding: 0; - } - - br { - display: none; - } -} - -label, -input, -button, -select, -textarea { - vertical-align: baseline; - *vertical-align: middle; -} - -input, -button, -select, -textarea { - box-sizing: border-box; - font-family: $sans-serif; -} - -label { - display: block; - margin-bottom: 0.25em; - color: $text-color; - cursor: pointer; - - small { - font-size: $type-size-6; - } - - input, - textarea, - select { - display: block; - } -} - -input, -textarea, -select { - display: inline-block; - width: 100%; - padding: 0.25em; - margin-bottom: 0.5em; - color: $text-color; - background-color: $background-color; - border: $border-color; - border-radius: $border-radius; - box-shadow: $box-shadow; -} - -.input-mini { - width: 60px; -} - -.input-small { - width: 90px; -} - -input[type="image"], -input[type="checkbox"], -input[type="radio"] { - width: auto; - height: auto; - padding: 0; - margin: 3px 0; - *margin-top: 0; - line-height: normal; - cursor: pointer; - border-radius: 0; - border: 0 \9; -} - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; - padding: 0; - *width: 13px; - *height: 13px; -} - -input[type="image"] { - border: 0; - box-shadow: none; -} - -input[type="file"] { - width: auto; - padding: initial; - line-height: initial; - border: initial; - background-color: transparent; - background-color: initial; - box-shadow: none; -} - -input[type="button"], -input[type="reset"], -input[type="submit"] { - width: auto; - height: auto; - cursor: pointer; - *overflow: visible; -} - -select, -input[type="file"] { - *margin-top: 4px; -} - -select { - width: auto; - background-color: #fff; -} - -select[multiple], -select[size] { - height: auto; -} - -textarea { - resize: vertical; - height: auto; - overflow: auto; - vertical-align: top; -} - -input[type="hidden"] { - display: none; -} - -.form { - position: relative; -} - -.radio, -.checkbox { - padding-left: 18px; - font-weight: normal; -} - -.radio input[type="radio"], -.checkbox input[type="checkbox"] { - float: left; - margin-left: -18px; -} - -.radio.inline, -.checkbox.inline { - display: inline-block; - padding-top: 5px; - margin-bottom: 0; - vertical-align: middle; -} - -.radio.inline + .radio.inline, -.checkbox.inline + .checkbox.inline { - margin-left: 10px; -} - -/* - Disabled state - ========================================================================== */ - -input[disabled], -select[disabled], -textarea[disabled], -input[readonly], -select[readonly], -textarea[readonly] { - opacity: 0.5; - cursor: not-allowed; -} - -/* - Focus & active state - ========================================================================== */ - -input:focus, -textarea:focus { - border-color: $primary-color; - outline: 0; - outline: thin dotted \9; - box-shadow: inset 0 1px 3px rgba($text-color, 0.06), - 0 0 5px rgba($primary-color, 0.7); -} - -input[type="file"]:focus, -input[type="radio"]:focus, -input[type="checkbox"]:focus, -select:focus { - box-shadow: none; -} - -/* - Help text - ========================================================================== */ - -.help-block, -.help-inline { - color: $muted-text-color; -} - -.help-block { - display: block; - margin-bottom: 1em; - line-height: 1em; -} - -.help-inline { - display: inline-block; - vertical-align: middle; - padding-left: 5px; -} - -/* - .form-group - ========================================================================== */ - -.form-group { - margin-bottom: 5px; - padding: 0; - border-width: 0; -} - -/* - .form-inline - ========================================================================== */ - -.form-inline input, -.form-inline textarea, -.form-inline select { - display: inline-block; - margin-bottom: 0; -} - -.form-inline label { - display: inline-block; -} - -.form-inline .radio, -.form-inline .checkbox, -.form-inline .radio { - padding-left: 0; - margin-bottom: 0; - vertical-align: middle; -} - -.form-inline .radio input[type="radio"], -.form-inline .checkbox input[type="checkbox"] { - float: left; - margin-left: 0; - margin-right: 3px; -} - -/* - .form-search - ========================================================================== */ - -.form-search input, -.form-search textarea, -.form-search select { - display: inline-block; - margin-bottom: 0; -} - -.form-search .search-query { - padding-left: 14px; - padding-right: 14px; - margin-bottom: 0; - border-radius: 14px; -} - -.form-search label { - display: inline-block; -} - -.form-search .radio, -.form-search .checkbox, -.form-inline .radio { - padding-left: 0; - margin-bottom: 0; - vertical-align: middle; -} - -.form-search .radio input[type="radio"], -.form-search .checkbox input[type="checkbox"] { - float: left; - margin-left: 0; - margin-right: 3px; -} - -/* - .form--loading - ========================================================================== */ - -.form--loading:before { - content: ""; -} - -.form--loading .form__spinner { - display: block; -} - -.form:before { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-color: rgba(255, 255, 255, 0.7); - z-index: 10; -} - -.form__spinner { - display: none; - position: absolute; - top: 50%; - left: 50%; - z-index: 11; -} - -/* - Google search form - ========================================================================== */ - -#goog-fixurl { - ul { - list-style: none; - margin-left: 0; - padding-left: 0; - li { - list-style-type: none; - } - } -} - -#goog-wm-qt { - width: auto; - margin-right: 10px; - margin-bottom: 20px; - padding: 8px 20px; - display: inline-block; - font-size: $type-size-6; - background-color: #fff; - color: #000; - border-width: 2px !important; - border-style: solid !important; - border-color: $border-color; - border-radius: $border-radius; -} - -#goog-wm-sb { - @extend .btn; -} diff --git a/docs/_sass/minimal-mistakes/_masthead.scss b/docs/_sass/minimal-mistakes/_masthead.scss deleted file mode 100644 index 4c5eb153..00000000 --- a/docs/_sass/minimal-mistakes/_masthead.scss +++ /dev/null @@ -1,93 +0,0 @@ -/* ========================================================================== - MASTHEAD - ========================================================================== */ - -.masthead { - position: relative; - border-bottom: 1px solid $border-color; - -webkit-animation: $intro-transition; - animation: $intro-transition; - -webkit-animation-delay: 0.15s; - animation-delay: 0.15s; - z-index: 20; - - &__inner-wrap { - @include clearfix; - margin-left: auto; - margin-right: auto; - padding: 1em; - max-width: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - font-family: $sans-serif-narrow; - - @include breakpoint($x-large) { - max-width: $max-width; - } - - nav { - z-index: 10; - } - - a { - text-decoration: none; - } - } -} - -.site-logo img { - max-height: 2rem; -} - -.site-title { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-item-align: center; - align-self: center; - font-weight: bold; - z-index: 20; -} - -.site-subtitle { - display: block; - font-size: $type-size-8; -} - -.masthead__menu { - float: left; - margin-left: 0; - margin-right: 0; - width: 100%; - clear: both; - - .site-nav { - margin-left: 0; - - @include breakpoint($small) { - float: right; - } - } - - ul { - margin: 0; - padding: 0; - clear: both; - list-style-type: none; - } -} - -.masthead__menu-item { - display: block; - list-style-type: none; - white-space: nowrap; - - &--lg { - padding-right: 2em; - font-weight: 700; - } -} diff --git a/docs/_sass/minimal-mistakes/_mixins.scss b/docs/_sass/minimal-mistakes/_mixins.scss deleted file mode 100644 index 4aa9eb09..00000000 --- a/docs/_sass/minimal-mistakes/_mixins.scss +++ /dev/null @@ -1,92 +0,0 @@ -/* ========================================================================== - MIXINS - ========================================================================== */ - -%tab-focus { - /* Default*/ - outline: thin dotted $focus-color; - /* Webkit*/ - outline: 5px auto $focus-color; - outline-offset: -2px; -} - -/* - em function - ========================================================================== */ - -@function em($target, $context: $doc-font-size) { - @return ($target / $context) * 1em; -} - - -/* - Bourbon clearfix - ========================================================================== */ - -/* - * Provides an easy way to include a clearfix for containing floats. - * link http://cssmojo.com/latest_new_clearfix_so_far/ - * - * example scss - Usage - * - * .element { - * @include clearfix; - * } - * - * example css - CSS Output - * - * .element::after { - * clear: both; - * content: ""; - * display: table; - * } -*/ - -@mixin clearfix { - clear: both; - - &::after { - clear: both; - content: ""; - display: table; - } -} - -/* - Compass YIQ Color Contrast - https://github.com/easy-designs/yiq-color-contrast - ========================================================================== */ - -@function yiq-is-light( - $color, - $threshold: $yiq-contrasted-threshold -) { - $red: red($color); - $green: green($color); - $blue: blue($color); - - $yiq: (($red*299)+($green*587)+($blue*114))/1000; - - @if $yiq-debug { @debug $yiq, $threshold; } - - @return if($yiq >= $threshold, true, false); -} - -@function yiq-contrast-color( - $color, - $dark: $yiq-contrasted-dark-default, - $light: $yiq-contrasted-light-default, - $threshold: $yiq-contrasted-threshold -) { - @return if(yiq-is-light($color, $threshold), $yiq-contrasted-dark-default, $yiq-contrasted-light-default); -} - -@mixin yiq-contrasted( - $background-color, - $dark: $yiq-contrasted-dark-default, - $light: $yiq-contrasted-light-default, - $threshold: $yiq-contrasted-threshold -) { - background-color: $background-color; - color: yiq-contrast-color($background-color, $dark, $light, $threshold); -} \ No newline at end of file diff --git a/docs/_sass/minimal-mistakes/_navigation.scss b/docs/_sass/minimal-mistakes/_navigation.scss deleted file mode 100644 index ef73777c..00000000 --- a/docs/_sass/minimal-mistakes/_navigation.scss +++ /dev/null @@ -1,566 +0,0 @@ -/* ========================================================================== - NAVIGATION - ========================================================================== */ - -/* - Breadcrumb navigation links - ========================================================================== */ - -.breadcrumbs { - @include clearfix; - margin: 0 auto; - max-width: 100%; - padding-left: 1em; - padding-right: 1em; - font-family: $sans-serif; - -webkit-animation: $intro-transition; - animation: $intro-transition; - -webkit-animation-delay: 0.3s; - animation-delay: 0.3s; - - @include breakpoint($x-large) { - max-width: $x-large; - } - - ol { - padding: 0; - list-style: none; - font-size: $type-size-6; - - @include breakpoint($large) { - float: right; - width: calc(100% - #{$right-sidebar-width-narrow}); - } - - @include breakpoint($x-large) { - width: calc(100% - #{$right-sidebar-width}); - } - } - - li { - display: inline; - } - - .current { - font-weight: bold; - } -} - -/* - Post pagination navigation links - ========================================================================== */ - -.pagination { - @include clearfix(); - float: left; - margin-top: 1em; - padding-top: 1em; - width: 100%; - - ul { - margin: 0; - padding: 0; - list-style-type: none; - font-family: $sans-serif; - } - - li { - display: block; - float: left; - margin-left: -1px; - - a { - display: block; - margin-bottom: 0.25em; - padding: 0.5em 1em; - font-family: $sans-serif; - font-size: 14px; - font-weight: bold; - line-height: 1.5; - text-align: center; - text-decoration: none; - color: $muted-text-color; - border: 1px solid mix(#000, $border-color, 25%); - border-radius: 0; - - &:hover { - color: $link-color-hover; - } - - &.current, - &.current.disabled { - color: #fff; - background: $primary-color; - } - - &.disabled { - color: rgba($muted-text-color, 0.5); - pointer-events: none; - cursor: not-allowed; - } - } - - &:first-child { - margin-left: 0; - - a { - border-top-left-radius: $border-radius; - border-bottom-left-radius: $border-radius; - } - } - - &:last-child { - a { - border-top-right-radius: $border-radius; - border-bottom-right-radius: $border-radius; - } - } - } - - /* next/previous buttons */ - &--pager { - display: block; - padding: 1em 2em; - float: left; - width: 50%; - font-family: $sans-serif; - font-size: $type-size-5; - font-weight: bold; - text-align: center; - text-decoration: none; - color: $muted-text-color; - border: 1px solid mix(#000, $border-color, 25%); - border-radius: $border-radius; - - &:hover { - @include yiq-contrasted($muted-text-color); - } - - &:first-child { - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - - &:last-child { - margin-left: -1px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } - - &.disabled { - color: rgba($muted-text-color, 0.5); - pointer-events: none; - cursor: not-allowed; - } - } -} - -.page__content + .pagination, -.page__meta + .pagination, -.page__share + .pagination, -.page__comments + .pagination { - margin-top: 2em; - padding-top: 2em; - border-top: 1px solid $border-color; -} - -/* - Priority plus navigation - ========================================================================== */ - -.greedy-nav { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - min-height: $nav-height; - background: $background-color; - - a { - display: block; - margin: 0 1rem; - color: $masthead-link-color; - text-decoration: none; - - &:hover { - color: $masthead-link-color-hover; - } - - &.site-logo { - margin-left: 0; - margin-right: 0.5rem; - } - - &.site-title { - margin-left: 0; - } - } - - &__toggle { - -ms-flex-item-align: center; - align-self: center; - height: $nav-toggle-height; - border: 0; - outline: none; - background-color: transparent; - cursor: pointer; - } - - .visible-links { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - overflow: hidden; - - li { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - } - - a { - position: relative; - - &:before { - content: ""; - position: absolute; - left: 0; - bottom: 0; - height: 4px; - background: $primary-color; - width: 100%; - -webkit-transition: $global-transition; - transition: $global-transition; - -webkit-transform: scaleX(0) translate3d(0, 0, 0); - transform: scaleX(0) translate3d(0, 0, 0); // hide - } - - &:hover:before { - -webkit-transform: scaleX(1); - -ms-transform: scaleX(1); - transform: scaleX(1); // reveal - } - } - } - - .hidden-links { - position: absolute; - top: 100%; - right: 0; - margin-top: 15px; - padding: 5px; - border: 1px solid $border-color; - border-radius: $border-radius; - background: $background-color; - -webkit-box-shadow: 0 2px 4px 0 rgba(#000, 0.16), - 0 2px 10px 0 rgba(#000, 0.12); - box-shadow: 0 2px 4px 0 rgba(#000, 0.16), 0 2px 10px 0 rgba(#000, 0.12); - - &.hidden { - display: none; - } - - a { - margin: 0; - padding: 10px 20px; - font-size: $type-size-5; - - &:hover { - color: $masthead-link-color-hover; - background: $navicon-link-color-hover; - } - } - - &:before { - content: ""; - position: absolute; - top: -11px; - right: 10px; - width: 0; - border-style: solid; - border-width: 0 10px 10px; - border-color: $border-color transparent; - display: block; - z-index: 0; - } - - &:after { - content: ""; - position: absolute; - top: -10px; - right: 10px; - width: 0; - border-style: solid; - border-width: 0 10px 10px; - border-color: $background-color transparent; - display: block; - z-index: 1; - } - - li { - display: block; - border-bottom: 1px solid $border-color; - - &:last-child { - border-bottom: none; - } - } - } -} - -.no-js { - .greedy-nav { - .visible-links { - -ms-flex-wrap: wrap; - flex-wrap: wrap; - overflow: visible; - } - } -} - -/* - Navigation list - ========================================================================== */ - -.nav__list { - margin-bottom: 1.5em; - - input[type="checkbox"], - label { - display: none; - } - - @include breakpoint(max-width $large - 1px) { - label { - position: relative; - display: inline-block; - padding: 0.5em 2.5em 0.5em 1em; - color: $gray; - font-size: $type-size-6; - font-weight: bold; - border: 1px solid $light-gray; - border-radius: $border-radius; - z-index: 20; - -webkit-transition: 0.2s ease-out; - transition: 0.2s ease-out; - cursor: pointer; - - &:before, - &:after { - content: ""; - position: absolute; - right: 1em; - top: 1.25em; - width: 0.75em; - height: 0.125em; - line-height: 1; - background-color: $gray; - -webkit-transition: 0.2s ease-out; - transition: 0.2s ease-out; - } - - &:after { - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); - } - - &:hover { - color: #fff; - border-color: $gray; - background-color: mix(white, #000, 20%); - - &:before, - &:after { - background-color: #fff; - } - } - } - - /* selected*/ - input:checked + label { - color: white; - background-color: mix(white, #000, 20%); - - &:before, - &:after { - background-color: #fff; - } - } - - /* on hover show expand*/ - label:hover:after { - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); - } - - input:checked + label:hover:after { - -webkit-transform: rotate(0); - -ms-transform: rotate(0); - transform: rotate(0); - } - - ul { - margin-bottom: 1em; - } - - a { - display: block; - padding: 0.25em 0; - - @include breakpoint($large) { - padding-top: 0.125em; - padding-bottom: 0.125em; - } - - &:hover { - text-decoration: underline; - } - } - } -} - -.nav__list .nav__items { - margin: 0; - font-size: 1.25rem; - - a { - color: inherit; - } - - .active { - margin-left: -0.5em; - padding-left: 0.5em; - padding-right: 0.5em; - font-weight: bold; - } - - @include breakpoint(max-width $large - 1px) { - position: relative; - max-height: 0; - opacity: 0%; - overflow: hidden; - z-index: 10; - -webkit-transition: 0.3s ease-in-out; - transition: 0.3s ease-in-out; - -webkit-transform: translate(0, 10%); - -ms-transform: translate(0, 10%); - transform: translate(0, 10%); - } -} - -@include breakpoint(max-width $large - 1px) { - .nav__list input:checked ~ .nav__items { - -webkit-transition: 0.5s ease-in-out; - transition: 0.5s ease-in-out; - max-height: 9999px; /* exaggerate max-height to accommodate tall lists*/ - overflow: visible; - opacity: 1; - margin-top: 1em; - -webkit-transform: translate(0, 0); - -ms-transform: translate(0, 0); - transform: translate(0, 0); - } -} - -.nav__title { - margin: 0; - padding: 0.5rem 0.75rem; - font-family: $sans-serif-narrow; - font-size: $type-size-5; - font-weight: bold; -} - -.nav__sub-title { - display: block; - margin: 0.5rem 0; - padding: 0.25rem 0; - font-family: $sans-serif-narrow; - font-size: $type-size-6; - font-weight: bold; - text-transform: uppercase; - border-bottom: 1px solid $border-color; -} - -/* - Table of contents navigation - ========================================================================== */ - -.toc { - font-family: $sans-serif-narrow; - color: $gray; - background-color: $background-color; - border: 1px solid $border-color; - border-radius: $border-radius; - -webkit-box-shadow: $box-shadow; - box-shadow: $box-shadow; - - .nav__title { - color: #fff; - font-size: $type-size-6; - background: $primary-color; - border-top-left-radius: $border-radius; - border-top-right-radius: $border-radius; - } - - // Scrollspy marks toc items as .active when they are in focus - .active a { - @include yiq-contrasted($active-color); - } -} - -.toc__menu { - margin: 0; - padding: 0; - width: 100%; - list-style: none; - font-size: $type-size-6; - - @include breakpoint($large) { - font-size: $type-size-7; - } - - a { - display: block; - padding: 0.25rem 0.75rem; - color: $muted-text-color; - font-weight: bold; - line-height: 1.5; - border-bottom: 1px solid $border-color; - - &:hover { - color: $text-color; - } - } - - li ul > li a { - padding-left: 1.25rem; - font-weight: normal; - } - - li ul li ul > li a { - padding-left: 1.75rem; - } - - li ul li ul li ul > li a { - padding-left: 2.25rem; - } - - li ul li ul li ul li ul > li a { - padding-left: 2.75rem; - } - - li ul li ul li ul li ul li ul > li a { - padding-left: 3.25rem - } -} diff --git a/docs/_sass/minimal-mistakes/_notices.scss b/docs/_sass/minimal-mistakes/_notices.scss deleted file mode 100644 index 7f9b733f..00000000 --- a/docs/_sass/minimal-mistakes/_notices.scss +++ /dev/null @@ -1,100 +0,0 @@ -/* ========================================================================== - NOTICE TEXT BLOCKS - ========================================================================== */ - -/** - * Default Kramdown usage (no indents!): - *
- * #### Headline for the Notice - * Text for the notice - *
- */ - -@mixin notice($notice-color) { - margin: 2em 0 !important; /* override*/ - padding: 1em; - color: $dark-gray; - font-family: $global-font-family; - font-size: $type-size-6 !important; - text-indent: initial; /* override*/ - background-color: mix(#fff, $notice-color, 90%); - border-radius: $border-radius; - box-shadow: 0 1px 1px rgba($notice-color, 0.25); - - h4 { - margin-top: 0 !important; /* override*/ - margin-bottom: 0.75em; - } - - @at-root .page__content #{&} h4 { - /* using at-root to override .page-content h4 font size*/ - margin-bottom: 0; - font-size: 1em; - } - - p { - &:last-child { - margin-bottom: 0 !important; /* override*/ - } - } - - h4 + p { - /* remove space above paragraphs that appear directly after notice headline*/ - margin-top: 0; - padding-top: 0; - } - - a { - color: $notice-color; - - &:hover { - color: mix(#000, $notice-color, 40%); - } - } - - code { - background-color: mix(#fff, $notice-color, 95%) - } - - ul { - &:last-child { - margin-bottom: 0; /* override*/ - } - } -} - -/* Default notice */ - -.notice { - @include notice($light-gray); -} - -/* Primary notice */ - -.notice--primary { - @include notice($primary-color); -} - -/* Info notice */ - -.notice--info { - @include notice($info-color); -} - -/* Warning notice */ - -.notice--warning { - @include notice($warning-color); -} - -/* Success notice */ - -.notice--success { - @include notice($success-color); -} - -/* Danger notice */ - -.notice--danger { - @include notice($danger-color); -} \ No newline at end of file diff --git a/docs/_sass/minimal-mistakes/_page.scss b/docs/_sass/minimal-mistakes/_page.scss deleted file mode 100644 index c5dd864c..00000000 --- a/docs/_sass/minimal-mistakes/_page.scss +++ /dev/null @@ -1,520 +0,0 @@ -/* ========================================================================== - SINGLE PAGE/POST - ========================================================================== */ - -#main { - @include clearfix; - margin-left: auto; - margin-right: auto; - padding-left: 1em; - padding-right: 1em; - -webkit-animation: $intro-transition; - animation: $intro-transition; - max-width: 100%; - -webkit-animation-delay: 0.15s; - animation-delay: 0.15s; - - @include breakpoint($x-large) { - max-width: $max-width; - } -} - -.page { - @include breakpoint($large) { - float: right; - width: calc(100% - #{$right-sidebar-width-narrow}); - padding-right: $right-sidebar-width-narrow; - } - - @include breakpoint($x-large) { - width: calc(100% - #{$right-sidebar-width}); - padding-right: $right-sidebar-width; - } - - .page__inner-wrap { - float: left; - margin-top: 1em; - margin-left: 0; - margin-right: 0; - width: 100%; - clear: both; - - .page__content, - .page__meta, - .page__share { - position: relative; - float: left; - margin-left: 0; - margin-right: 0; - width: 100%; - clear: both; - } - } -} - -.page__title { - margin-top: 0; - line-height: 1; - - & + .page__meta { - margin-top: -0.5em; - } -} - -.page__lead { - font-family: $global-font-family; - font-size: $type-size-4; -} - -.page__content { - h2 { - padding-bottom: 0.5em; - border-bottom: 1px solid $border-color; - } - - p, - li, - dl { - font-size: 1em; - } - - /* paragraph indents */ - p { - margin: 0 0 $indent-var; - - /* sibling indentation*/ - @if $paragraph-indent == true { - & + p { - text-indent: $indent-var; - margin-top: -($indent-var); - } - } - } - - a:not(.btn) { - &:hover { - text-decoration: underline; - - img { - box-shadow: 0 0 10px rgba(#000, 0.25); - } - } - } - - dt { - margin-top: 1em; - font-family: $sans-serif; - font-weight: bold; - } - - dd { - margin-left: 1em; - font-family: $sans-serif; - font-size: $type-size-6; - } - - .small { - font-size: $type-size-6; - } - - /* blockquote citations */ - blockquote + .small { - margin-top: -1.5em; - padding-left: 1.25rem; - } -} - -.page__hero { - position: relative; - margin-bottom: 2em; - @include clearfix; - -webkit-animation: $intro-transition; - animation: $intro-transition; - -webkit-animation-delay: 0.25s; - animation-delay: 0.25s; - - &--overlay { - position: relative; - margin-bottom: 2em; - padding: 3em 0; - @include clearfix; - background-size: cover; - background-repeat: no-repeat; - background-position: center; - -webkit-animation: $intro-transition; - animation: $intro-transition; - -webkit-animation-delay: 0.25s; - animation-delay: 0.25s; - - a { - color: #fff; - } - - .wrapper { - padding-left: 1em; - padding-right: 1em; - - @include breakpoint($x-large) { - max-width: $x-large; - } - } - - .page__title, - .page__meta, - .page__lead, - .btn { - color: #fff; - text-shadow: 1px 1px 4px rgba(#000, 0.5); - } - - .page__lead { - max-width: $medium; - } - - .page__title { - font-size: $type-size-2; - - @include breakpoint($small) { - font-size: $type-size-1; - } - } - } -} - -.page__hero-image { - width: 100%; - height: auto; - -ms-interpolation-mode: bicubic; -} - -.page__hero-caption { - position: absolute; - bottom: 0; - right: 0; - margin: 0 auto; - padding: 2px 5px; - color: #fff; - font-family: $caption-font-family; - font-size: $type-size-7; - background: #000; - text-align: right; - z-index: 5; - opacity: 0.5; - border-radius: $border-radius 0 0 0; - - @include breakpoint($large) { - padding: 5px 10px; - } - - a { - color: #fff; - text-decoration: none; - } -} - -/* - Social sharing - ========================================================================== */ - -.page__share { - margin-top: 2em; - padding-top: 1em; - border-top: 1px solid $border-color; - - @include breakpoint(max-width $small) { - .btn span { - border: 0; - clip: rect(0 0 0 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; - } - } -} - -.page__share-title { - margin-bottom: 10px; - font-size: $type-size-6; - text-transform: uppercase; -} - -/* - Page meta - ========================================================================== */ - -.page__meta { - margin-top: 2em; - color: $muted-text-color; - font-family: $sans-serif; - font-size: $type-size-6; - - p { - margin: 0; - } - - a { - color: inherit; - } -} - -.page__meta-title { - margin-bottom: 10px; - font-size: $type-size-6; - text-transform: uppercase; -} - -/* - Page taxonomy - ========================================================================== */ - -.page__taxonomy { - .sep { - display: none; - } - - strong { - margin-right: 10px; - } -} - -.page__taxonomy-item { - display: inline-block; - margin-right: 5px; - margin-bottom: 8px; - padding: 5px 10px; - text-decoration: none; - border: 1px solid mix(#000, $border-color, 25%); - border-radius: $border-radius; - - &:hover { - text-decoration: none; - color: $link-color-hover; - } -} - -.taxonomy__section { - margin-bottom: 2em; - padding-bottom: 1em; - - &:not(:last-child) { - border-bottom: solid 1px $border-color; - } - - .archive__item-title { - margin-top: 0; - } - - .archive__subtitle { - clear: both; - border: 0; - } - - + .taxonomy__section { - margin-top: 2em; - } -} - -.taxonomy__title { - margin-bottom: 0.5em; - color: lighten($text-color, 60%); -} - -.taxonomy__count { - color: lighten($text-color, 50%); -} - -.taxonomy__index { - display: grid; - grid-column-gap: 2em; - grid-template-columns: repeat(2, 1fr); - margin: 1.414em 0; - padding: 0; - font-size: 0.75em; - list-style: none; - - @include breakpoint($large) { - grid-template-columns: repeat(3, 1fr); - } - - a { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - padding: 0.25em 0; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - color: inherit; - text-decoration: none; - border-bottom: 1px solid $border-color; - } -} - -.back-to-top { - display: block; - clear: both; - color: lighten($text-color, 50%); - font-size: 0.6em; - text-transform: uppercase; - text-align: right; - text-decoration: none; -} - -/* - Comments - ========================================================================== */ - -.page__comments { - float: left; - margin-left: 0; - margin-right: 0; - width: 100%; - clear: both; -} - -.page__comments-title { - margin-top: 2rem; - margin-bottom: 10px; - padding-top: 2rem; - font-size: $type-size-6; - border-top: 1px solid $border-color; - text-transform: uppercase; -} - -.page__comments-form { - -webkit-transition: $global-transition; - transition: $global-transition; - - &.disabled { - input, - button, - textarea, - label { - pointer-events: none; - cursor: not-allowed; - filter: alpha(opacity=65); - box-shadow: none; - opacity: 0.65; - } - } -} - -.comment { - @include clearfix(); - margin: 1em 0; - - &:not(:last-child) { - border-bottom: 1px solid $border-color; - } -} - -.comment__avatar-wrapper { - float: left; - width: 60px; - height: 60px; - - @include breakpoint($large) { - width: 100px; - height: 100px; - } -} - -.comment__avatar { - width: 40px; - height: 40px; - border-radius: 50%; - - @include breakpoint($large) { - width: 80px; - height: 80px; - padding: 5px; - border: 1px solid $border-color; - } -} - -.comment__content-wrapper { - float: right; - width: calc(100% - 60px); - - @include breakpoint($large) { - width: calc(100% - 100px); - } -} - -.comment__author { - margin: 0; - - a { - text-decoration: none; - } -} - -.comment__date { - @extend .page__meta; - margin: 0; - - a { - text-decoration: none; - } -} - -/* - Related - ========================================================================== */ - -.page__related { - @include clearfix(); - float: left; - margin-top: 2em; - padding-top: 1em; - border-top: 1px solid $border-color; - - @include breakpoint($large) { - float: right; - width: calc(100% - #{$right-sidebar-width-narrow}); - } - - @include breakpoint($x-large) { - width: calc(100% - #{$right-sidebar-width}); - } - - a { - color: inherit; - text-decoration: none; - } -} - -.page__related-title { - margin-bottom: 10px; - font-size: $type-size-6; - text-transform: uppercase; -} - -/* - Wide Pages - ========================================================================== */ - -.wide { - .page { - @include breakpoint($large) { - padding-right: 0; - } - - @include breakpoint($x-large) { - padding-right: 0; - } - } - - .page__related { - @include breakpoint($large) { - padding-right: 0; - } - - @include breakpoint($x-large) { - padding-right: 0; - } - } -} diff --git a/docs/_sass/minimal-mistakes/_print.scss b/docs/_sass/minimal-mistakes/_print.scss deleted file mode 100644 index b93f1d40..00000000 --- a/docs/_sass/minimal-mistakes/_print.scss +++ /dev/null @@ -1,252 +0,0 @@ -/* ========================================================================== - PRINT STYLES - ========================================================================== */ - -@media print { - - [hidden] { - display: none; - } - - * { - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; - } - - html { - margin: 0; - padding: 0; - min-height: auto !important; - font-size: 16px; - } - - body { - margin: 0 auto; - background: #fff !important; - color: #000 !important; - font-size: 1rem; - line-height: 1.5; - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - text-rendering: optimizeLegibility; - } - - h1, - h2, - h3, - h4, - h5, - h6 { - color: #000; - line-height: 1.2; - margin-bottom: 0.75rem; - margin-top: 0; - } - - h1 { - font-size: 2.5rem; - } - - h2 { - font-size: 2rem; - } - - h3 { - font-size: 1.75rem; - } - - h4 { - font-size: 1.5rem; - } - - h5 { - font-size: 1.25rem; - } - - h6 { - font-size: 1rem; - } - - a, - a:visited { - color: #000; - text-decoration: underline; - word-wrap: break-word; - } - - table { - border-collapse: collapse; - } - - thead { - display: table-header-group; - } - - table, - th, - td { - border-bottom: 1px solid #000; - } - - td, - th { - padding: 8px 16px; - } - - img { - border: 0; - display: block; - max-width: 100% !important; - vertical-align: middle; - } - - hr { - border: 0; - border-bottom: 2px solid #bbb; - height: 0; - margin: 2.25rem 0; - padding: 0; - } - - dt { - font-weight: bold; - } - - dd { - margin: 0; - margin-bottom: 0.75rem; - } - - abbr[title], - acronym[title] { - border: 0; - text-decoration: none; - } - - table, - blockquote, - pre, - code, - figure, - li, - hr, - ul, - ol, - a, - tr { - page-break-inside: avoid; - } - - h2, - h3, - h4, - p, - a { - orphans: 3; - widows: 3; - } - - h1, - h2, - h3, - h4, - h5, - h6 { - page-break-after: avoid; - page-break-inside: avoid; - } - - h1 + p, - h2 + p, - h3 + p { - page-break-before: avoid; - } - - img { - page-break-after: auto; - page-break-before: auto; - page-break-inside: avoid; - } - - pre { - white-space: pre-wrap !important; - word-wrap: break-word; - } - - a[href^='http://']:after, - a[href^='https://']:after, - a[href^='ftp://']:after { - content: " (" attr(href) ")"; - font-size: 80%; - } - - abbr[title]:after, - acronym[title]:after { - content: " (" attr(title) ")"; - } - - #main { - max-width: 100%; - } - - .page { - margin: 0; - padding: 0; - width: 100%; - } - - .page-break, - .page-break-before { - page-break-before: always; - } - - .page-break-after { - page-break-after: always; - } - - .no-print { - display: none; - } - - a.no-reformat:after { - content: ''; - } - - abbr[title].no-reformat:after, - acronym[title].no-reformat:after { - content: ''; - } - - .page__hero-caption { - color: #000 !important; - background: #fff !important; - opacity: 1; - - a { - color: #000 !important; - } - } - -/* - Hide the following elements on print - ========================================================================== */ - - .masthead, - .toc, - .page__share, - .page__related, - .pagination, - .ads, - .page__footer, - .page__comments-form, - .author__avatar, - .author__content, - .author__urls-wrapper, - .nav__list, - .sidebar, - .adsbygoogle { - display: none !important; - height: 1px !important; - } -} \ No newline at end of file diff --git a/docs/_sass/minimal-mistakes/_reset.scss b/docs/_sass/minimal-mistakes/_reset.scss deleted file mode 100644 index ac5a60b0..00000000 --- a/docs/_sass/minimal-mistakes/_reset.scss +++ /dev/null @@ -1,187 +0,0 @@ -/* ========================================================================== - STYLE RESETS - ========================================================================== */ - -* { box-sizing: border-box; } - -html { - /* apply a natural box layout model to all elements */ - box-sizing: border-box; - background-color: $background-color; - font-size: 10px; - - @include breakpoint($medium) { - font-size: 12px; - } - - @include breakpoint($large) { - font-size: 15px; - } - - @include breakpoint($x-large) { - font-size: 20px; - } - - -webkit-text-size-adjust: 80%; - -ms-text-size-adjust: 80%; -} - -/* Remove margin */ - -body { margin: 0; } - -/* Selected elements */ - -::-moz-selection { - color: #fff; - background: #000; -} - -::selection { - color: #fff; - background: #000; -} - -/* Display HTML5 elements in IE6-9 and FF3 */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -nav, -section { - display: block; -} - -/* Display block in IE6-9 and FF3 */ - -audio, -canvas, -video { - display: inline-block; - *display: inline; - *zoom: 1; -} - -/* Prevents modern browsers from displaying 'audio' without controls */ - -audio:not([controls]) { - display: none; -} - -a { - color: $link-color; -} - -/* Apply focus state */ - -a:focus { - @extend %tab-focus; -} - -/* Remove outline from links */ - -a:hover, -a:active { - outline: 0; -} - -/* Prevent sub and sup affecting line-height in all browsers */ - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -/* img border in anchor's and image quality */ - -img { - /* Responsive images (ensure images don't scale beyond their parents) */ - max-width: 100%; /* part 1: Set a maximum relative to the parent*/ - width: auto\9; /* IE7-8 need help adjusting responsive images*/ - height: auto; /* part 2: Scale the height according to the width, otherwise you get stretching*/ - - vertical-align: middle; - border: 0; - -ms-interpolation-mode: bicubic; -} - -/* Prevent max-width from affecting Google Maps */ - -#map_canvas img, -.google-maps img { - max-width: none; -} - -/* Consistent form font size in all browsers, margin changes, misc */ - -button, -input, -select, -textarea { - margin: 0; - font-size: 100%; - vertical-align: middle; -} - -button, -input { - *overflow: visible; /* inner spacing ie IE6/7*/ - line-height: normal; /* FF3/4 have !important on line-height in UA stylesheet*/ -} - -button::-moz-focus-inner, -input::-moz-focus-inner { /* inner padding and border oddities in FF3/4*/ - padding: 0; - border: 0; -} - -button, -html input[type="button"], // avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* corrects inability to style clickable `input` types in iOS*/ - cursor: pointer; /* improves usability and consistency of cursor style between image-type `input` and others*/ -} - -label, -select, -button, -input[type="button"], -input[type="reset"], -input[type="submit"], -input[type="radio"], -input[type="checkbox"] { - cursor: pointer; /* improves usability and consistency of cursor style between image-type `input` and others*/ -} - -input[type="search"] { /* Appearance in Safari/Chrome*/ - box-sizing: border-box; - -webkit-appearance: textfield; -} - -input[type="search"]::-webkit-search-decoration, -input[type="search"]::-webkit-search-cancel-button { - -webkit-appearance: none; /* inner-padding issues in Chrome OSX, Safari 5*/ -} - -textarea { - overflow: auto; /* remove vertical scrollbar in IE6-9*/ - vertical-align: top; /* readability and alignment cross-browser*/ -} \ No newline at end of file diff --git a/docs/_sass/minimal-mistakes/_search.scss b/docs/_sass/minimal-mistakes/_search.scss deleted file mode 100644 index fa7ee832..00000000 --- a/docs/_sass/minimal-mistakes/_search.scss +++ /dev/null @@ -1,132 +0,0 @@ -/* ========================================================================== - SEARCH - ========================================================================== */ - -.layout--search { - .archive__item-teaser { - margin-bottom: 0.25em; - } -} - -.search__toggle { - margin-left: 1rem; - margin-right: 1rem; - height: $nav-toggle-height; - border: 0; - outline: none; - color: $primary-color; - background-color: transparent; - cursor: pointer; - -webkit-transition: 0.2s; - transition: 0.2s; - - &:hover { - color: mix(#000, $primary-color, 25%); - } -} - -.search-icon { - width: 100%; - height: 100%; -} - -.search-content { - display: none; - visibility: hidden; - padding-top: 1em; - padding-bottom: 1em; - - &__inner-wrap { - width: 100%; - margin-left: auto; - margin-right: auto; - padding-left: 1em; - padding-right: 1em; - -webkit-animation: $intro-transition; - animation: $intro-transition; - -webkit-animation-delay: 0.15s; - animation-delay: 0.15s; - - @include breakpoint($x-large) { - max-width: $max-width; - } - - } - - &__form { - background-color: transparent; - } - - .search-input { - display: block; - margin-bottom: 0; - padding: 0; - border: none; - outline: none; - box-shadow: none; - background-color: transparent; - font-size: $type-size-3; - - @include breakpoint($large) { - font-size: $type-size-2; - } - - @include breakpoint($x-large) { - font-size: $type-size-1; - } - } - - &.is--visible { - display: block; - visibility: visible; - - &::after { - content: ""; - display: block; - } - } - - .results__found { - margin-top: 0.5em; - font-size: $type-size-6; - } - - .archive__item { - margin-bottom: 2em; - - @include breakpoint($large) { - width: 75%; - } - - @include breakpoint($x-large) { - width: 50%; - } - } - - .archive__item-title { - margin-top: 0; - } - - .archive__item-excerpt { - margin-bottom: 0; - } -} - -/* Algolia search */ - -.ais-search-box { - max-width: 100% !important; - margin-bottom: 2em; -} - -.archive__item-title .ais-Highlight { - color: $primary-color; - font-style: normal; - text-decoration: underline; -} - -.archive__item-excerpt .ais-Highlight { - color: $primary-color; - font-style: normal; - font-weight: bold; -} diff --git a/docs/_sass/minimal-mistakes/_sidebar.scss b/docs/_sass/minimal-mistakes/_sidebar.scss deleted file mode 100644 index f7fc72dc..00000000 --- a/docs/_sass/minimal-mistakes/_sidebar.scss +++ /dev/null @@ -1,318 +0,0 @@ -/* ========================================================================== - SIDEBAR - ========================================================================== */ - -/* - Default - ========================================================================== */ - -.sidebar { - @include clearfix(); - @include breakpoint(max-width $large) { - /* fix z-index order of follow links */ - position: relative; - z-index: 10; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - @include breakpoint($large) { - float: left; - width: calc(#{$right-sidebar-width-narrow} - 1em); - opacity: 0.75; - -webkit-transition: opacity 0.2s ease-in-out; - transition: opacity 0.2s ease-in-out; - - &:hover { - opacity: 1; - } - - &.sticky { - overflow-y: auto; - /* calculate height of nav list - viewport height - nav height - masthead x-padding - */ - height: calc(100vh - #{$nav-height} - 2em); - } - } - - @include breakpoint($x-large) { - width: calc(#{$right-sidebar-width} - 1em); - } - - > * { - margin-top: 1em; - margin-bottom: 1em; - } - - h2, - h3, - h4, - h5, - h6 { - margin-bottom: 0; - font-family: $sans-serif-narrow; - } - - p, - li { - font-family: $sans-serif; - font-size: $type-size-6; - line-height: 1.5; - } - - img { - width: 100%; - - &.emoji { - width: 20px; - height: 20px; - } - } -} - -.sidebar__right { - margin-bottom: 1em; - - @include breakpoint($large) { - position: absolute; - top: 0; - right: 0; - width: $right-sidebar-width-narrow; - margin-right: -1 * $right-sidebar-width-narrow; - padding-left: 1em; - z-index: 10; - - &.sticky { - @include clearfix(); - position: -webkit-sticky; - position: sticky; - top: 2em; - float: right; - } - } - - @include breakpoint($x-large) { - width: $right-sidebar-width; - margin-right: -1 * $right-sidebar-width; - } -} - -.splash .sidebar__right { - @include breakpoint($large) { - position: relative; - float: right; - margin-right: 0; - } - - @include breakpoint($x-large) { - margin-right: 0; - } -} - -/* - Author profile and links - ========================================================================== */ - -.author__avatar { - display: table-cell; - vertical-align: top; - width: 36px; - height: 36px; - - @include breakpoint($large) { - display: block; - width: auto; - height: auto; - } - - img { - max-width: 110px; - border-radius: 50%; - - @include breakpoint($large) { - padding: 5px; - border: 1px solid $border-color; - } - } -} - -.author__content { - display: table-cell; - vertical-align: top; - padding-left: 15px; - padding-right: 25px; - line-height: 1; - - @include breakpoint($large) { - display: block; - width: 100%; - padding-left: 0; - padding-right: 0; - } - - a { - color: inherit; - text-decoration: none; - } -} - -.author__name { - margin: 0; - - @include breakpoint($large) { - margin-top: 10px; - margin-bottom: 10px; - } -} -.sidebar .author__name { - font-family: $sans-serif; - font-size: $type-size-5; -} - -.author__bio { - margin: 0; - - @include breakpoint($large) { - margin-top: 10px; - margin-bottom: 20px; - } -} - -.author__urls-wrapper { - position: relative; - display: table-cell; - vertical-align: middle; - font-family: $sans-serif; - z-index: 10; - position: relative; - cursor: pointer; - - li:last-child { - a { - margin-bottom: 0; - } - } - - @include breakpoint($large) { - display: block; - } - - button { - margin-bottom: 0; - - @include breakpoint($large) { - display: none; - } - } -} - -.author__urls { - display: none; - position: absolute; - right: 0; - margin-top: 15px; - padding: 10px; - list-style-type: none; - border: 1px solid $border-color; - border-radius: $border-radius; - background: $background-color; - z-index: -1; - box-shadow: 0 2px 4px 0 rgba(#000, 0.16), 0 2px 10px 0 rgba(#000, 0.12); - cursor: default; - - &.is--visible { - display: block; - } - - @include breakpoint($large) { - display: block; - position: relative; - margin: 0; - padding: 0; - border: 0; - background: transparent; - box-shadow: none; - } - - &:before { - display: block; - content: ""; - position: absolute; - top: -11px; - left: calc(50% - 10px); - width: 0; - border-style: solid; - border-width: 0 10px 10px; - border-color: $border-color transparent; - z-index: 0; - - @include breakpoint($large) { - display: none; - } - } - - &:after { - display: block; - content: ""; - position: absolute; - top: -10px; - left: calc(50% - 10px); - width: 0; - border-style: solid; - border-width: 0 10px 10px; - border-color: $background-color transparent; - z-index: 1; - - @include breakpoint($large) { - display: none; - } - } - - li { - white-space: nowrap; - } - - a { - display: block; - margin-bottom: 5px; - padding-right: 5px; - padding-top: 2px; - padding-bottom: 2px; - color: inherit; - font-size: $type-size-5; - text-decoration: none; - - &:hover { - text-decoration: underline; - } - } -} - -/* - Wide Pages - ========================================================================== */ - -.wide .sidebar__right { - margin-bottom: 1em; - - @include breakpoint($large) { - position: initial; - top: initial; - right: initial; - width: initial; - margin-right: initial; - padding-left: initial; - z-index: initial; - - &.sticky { - float: none; - } - } - - @include breakpoint($x-large) { - width: initial; - margin-right: initial; - } -} - diff --git a/docs/_sass/minimal-mistakes/_syntax.scss b/docs/_sass/minimal-mistakes/_syntax.scss deleted file mode 100644 index 72652020..00000000 --- a/docs/_sass/minimal-mistakes/_syntax.scss +++ /dev/null @@ -1,324 +0,0 @@ -/* ========================================================================== - Syntax highlighting - ========================================================================== */ - -div.highlighter-rouge, -figure.highlight { - position: relative; - margin-bottom: 1em; - background: $base00; - color: $base05; - font-family: $monospace; - font-size: $type-size-6; - line-height: 1.8; - border-radius: $border-radius; - - > pre, - pre.highlight { - margin: 0; - padding: 1em; - } -} - -.highlight table { - margin-bottom: 0; - font-size: 1em; - border: 0; - - td { - padding: 0; - width: calc(100% - 1em); - border: 0; - - /* line numbers*/ - &.gutter, - &.rouge-gutter { - padding-right: 1em; - width: 1em; - color: $base04; - border-right: 1px solid $base04; - text-align: right; - } - - /* code */ - &.code, - &.rouge-code { - padding-left: 1em; - } - } - - pre { - margin: 0; - } -} - -.highlight pre { - width: 100%; -} - -.highlight .hll { - background-color: $base06; -} -.highlight { - .c { - /* Comment */ - color: $base04; - } - .err { - /* Error */ - color: $base08; - } - .k { - /* Keyword */ - color: $base0e; - } - .l { - /* Literal */ - color: $base09; - } - .n { - /* Name */ - color: $base05; - } - .o { - /* Operator */ - color: $base0c; - } - .p { - /* Punctuation */ - color: $base05; - } - .cm { - /* Comment.Multiline */ - color: $base04; - } - .cp { - /* Comment.Preproc */ - color: $base04; - } - .c1 { - /* Comment.Single */ - color: $base04; - } - .cs { - /* Comment.Special */ - color: $base04; - } - .gd { - /* Generic.Deleted */ - color: $base08; - } - .ge { - /* Generic.Emph */ - font-style: italic; - } - .gh { - /* Generic.Heading */ - color: $base05; - font-weight: bold; - } - .gi { - /* Generic.Inserted */ - color: $base0b; - } - .gp { - /* Generic.Prompt */ - color: $base04; - font-weight: bold; - } - .gs { - /* Generic.Strong */ - font-weight: bold; - } - .gu { - /* Generic.Subheading */ - color: $base0c; - font-weight: bold; - } - .kc { - /* Keyword.Constant */ - color: $base0e; - } - .kd { - /* Keyword.Declaration */ - color: $base0e; - } - .kn { - /* Keyword.Namespace */ - color: $base0c; - } - .kp { - /* Keyword.Pseudo */ - color: $base0e; - } - .kr { - /* Keyword.Reserved */ - color: $base0e; - } - .kt { - /* Keyword.Type */ - color: $base0a; - } - .ld { - /* Literal.Date */ - color: $base0b; - } - .m { - /* Literal.Number */ - color: $base09; - } - .s { - /* Literal.String */ - color: $base0b; - } - .na { - /* Name.Attribute */ - color: $base0d; - } - .nb { - /* Name.Builtin */ - color: $base05; - } - .nc { - /* Name.Class */ - color: $base0a; - } - .no { - /* Name.Constant */ - color: $base08; - } - .nd { - /* Name.Decorator */ - color: $base0c; - } - .ni { - /* Name.Entity */ - color: $base05; - } - .ne { - /* Name.Exception */ - color: $base08; - } - .nf { - /* Name.Function */ - color: $base0d; - } - .nl { - /* Name.Label */ - color: $base05; - } - .nn { - /* Name.Namespace */ - color: $base0a; - } - .nx { - /* Name.Other */ - color: $base0d; - } - .py { - /* Name.Property */ - color: $base05; - } - .nt { - /* Name.Tag */ - color: $base0c; - } - .nv { - /* Name.Variable */ - color: $base08; - } - .ow { - /* Operator.Word */ - color: $base0c; - } - .w { - /* Text.Whitespace */ - color: $base05; - } - .mf { - /* Literal.Number.Float */ - color: $base09; - } - .mh { - /* Literal.Number.Hex */ - color: $base09; - } - .mi { - /* Literal.Number.Integer */ - color: $base09; - } - .mo { - /* Literal.Number.Oct */ - color: $base09; - } - .sb { - /* Literal.String.Backtick */ - color: $base0b; - } - .sc { - /* Literal.String.Char */ - color: $base05; - } - .sd { - /* Literal.String.Doc */ - color: $base04; - } - .s2 { - /* Literal.String.Double */ - color: $base0b; - } - .se { - /* Literal.String.Escape */ - color: $base09; - } - .sh { - /* Literal.String.Heredoc */ - color: $base0b; - } - .si { - /* Literal.String.Interpol */ - color: $base09; - } - .sx { - /* Literal.String.Other */ - color: $base0b; - } - .sr { - /* Literal.String.Regex */ - color: $base0b; - } - .s1 { - /* Literal.String.Single */ - color: $base0b; - } - .ss { - /* Literal.String.Symbol */ - color: $base0b; - } - .bp { - /* Name.Builtin.Pseudo */ - color: $base05; - } - .vc { - /* Name.Variable.Class */ - color: $base08; - } - .vg { - /* Name.Variable.Global */ - color: $base08; - } - .vi { - /* Name.Variable.Instance */ - color: $base08; - } - .il { - /* Literal.Number.Integer.Long */ - color: $base09; - } -} - -.gist { - th, td { - border-bottom: 0; - } -} \ No newline at end of file diff --git a/docs/_sass/minimal-mistakes/_tables.scss b/docs/_sass/minimal-mistakes/_tables.scss deleted file mode 100644 index c270a775..00000000 --- a/docs/_sass/minimal-mistakes/_tables.scss +++ /dev/null @@ -1,39 +0,0 @@ -/* ========================================================================== - TABLES - ========================================================================== */ - -table { - display: block; - margin-bottom: 1em; - width: 100%; - font-family: $global-font-family; - font-size: $type-size-6; - border-collapse: collapse; - overflow-x: auto; - - & + table { - margin-top: 1em; - } -} - -thead { - background-color: $border-color; - border-bottom: 2px solid mix(#000, $border-color, 25%); -} - -th { - padding: 0.5em; - font-weight: bold; - text-align: left; -} - -td { - padding: 0.5em; - border-bottom: 1px solid mix(#000, $border-color, 25%); -} - -tr, -td, -th { - vertical-align: middle; -} \ No newline at end of file diff --git a/docs/_sass/minimal-mistakes/_utilities.scss b/docs/_sass/minimal-mistakes/_utilities.scss deleted file mode 100644 index a2f4b1ce..00000000 --- a/docs/_sass/minimal-mistakes/_utilities.scss +++ /dev/null @@ -1,558 +0,0 @@ -/* ========================================================================== - UTILITY CLASSES - ========================================================================== */ - -/* - Visibility - ========================================================================== */ - -/* http://www.456bereastreet.com/archive/200711/screen_readers_sometimes_ignore_displaynone/ */ - -.hidden, -.is--hidden { - display: none; - visibility: hidden; -} - -/* for preloading images */ - -.load { - display: none; -} - -.transparent { - opacity: 0; -} - -/* https://developer.yahoo.com/blogs/ydn/clip-hidden-content-better-accessibility-53456.html */ - -.visually-hidden, -.screen-reader-text, -.screen-reader-text span, -.screen-reader-shortcut { - position: absolute !important; - clip: rect(1px, 1px, 1px, 1px); - height: 1px !important; - width: 1px !important; - border: 0 !important; - overflow: hidden; -} - -body:hover .visually-hidden a, -body:hover .visually-hidden input, -body:hover .visually-hidden button { - display: none !important; -} - -/* screen readers */ - -.screen-reader-text:focus, -.screen-reader-shortcut:focus { - clip: auto !important; - height: auto !important; - width: auto !important; - display: block; - font-size: 1em; - font-weight: bold; - padding: 15px 23px 14px; - background: #fff; - z-index: 100000; - text-decoration: none; - box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); -} - -/* - Skip links - ========================================================================== */ - -.skip-link { - position: fixed; - z-index: 20; - margin: 0; - font-family: $sans-serif; - white-space: nowrap; -} - -.skip-link li { - height: 0; - width: 0; - list-style: none; -} - -/* - Type - ========================================================================== */ - -.text-left { - text-align: left; -} - -.text-center { - text-align: center; -} - -.text-right { - text-align: right; -} - -.text-justify { - text-align: justify; -} - -.text-nowrap { - white-space: nowrap; -} - -/* - Task lists - ========================================================================== */ - -.task-list { - padding:0; - - li { - list-style-type: none; - } - - .task-list-item-checkbox { - margin-right: 0.5em; - opacity: 1; - } -} - -/* - Alignment - ========================================================================== */ - -/* clearfix */ - -.cf { - clear: both; -} - -.wrapper { - margin-left: auto; - margin-right: auto; - width: 100%; -} - -/* - Images - ========================================================================== */ - -/* image align left */ - -.align-left { - display: block; - margin-left: auto; - margin-right: auto; - - @include breakpoint($small) { - float: left; - margin-right: 1em; - } -} - -/* image align right */ - -.align-right { - display: block; - margin-left: auto; - margin-right: auto; - - @include breakpoint($small) { - float: right; - margin-left: 1em; - } -} - -/* image align center */ - -.align-center { - display: block; - margin-left: auto; - margin-right: auto; -} - -/* file page content container */ - -.full { - @include breakpoint($large) { - margin-right: -1 * span(2.5 of 12) !important; - } -} - -/* - Icons - ========================================================================== */ - -.icon { - display: inline-block; - fill: currentColor; - width: 1em; - height: 1.1em; - line-height: 1; - position: relative; - top: -0.1em; - vertical-align: middle; -} - -/* social icons*/ - -.social-icons { - .fas, - .fab, - .far, - .fal { - color: $text-color; - } - - .fa-behance, - .fa-behance-square { - color: $behance-color; - } - - .fa-bitbucket { - color: $bitbucket-color; - } - - .fa-dribbble, - .fa-dribble-square { - color: $dribbble-color; - } - - .fa-facebook, - .fa-facebook-square, - .fa-facebook-f { - color: $facebook-color; - } - - .fa-flickr { - color: $flickr-color; - } - - .fa-foursquare { - color: $foursquare-color; - } - - .fa-github, - .fa-github-alt, - .fa-github-square { - color: $github-color; - } - - .fa-gitlab { - color: $gitlab-color; - } - - .fa-instagram { - color: $instagram-color; - } - - .fa-lastfm, - .fa-lastfm-square { - color: $lastfm-color; - } - - .fa-linkedin, - .fa-linkedin-in { - color: $linkedin-color; - } - - .fa-mastodon, - .fa-mastodon-square { - color: $mastodon-color; - } - - .fa-pinterest, - .fa-pinterest-p, - .fa-pinterest-square { - color: $pinterest-color; - } - - .fa-reddit { - color: $reddit-color; - } - - .fa-rss, - .fa-rss-square { - color: $rss-color; - } - - .fa-soundcloud { - color: $soundcloud-color; - } - - .fa-stack-exchange, - .fa-stack-overflow { - color: $stackoverflow-color; - } - - .fa-tumblr, - .fa-tumblr-square { - color: $tumblr-color; - } - - .fa-twitter, - .fa-twitter-square { - color: $twitter-color; - } - - .fa-vimeo, - .fa-vimeo-square, - .fa-vimeo-v { - color: $vimeo-color; - } - - .fa-vine { - color: $vine-color; - } - - .fa-youtube { - color: $youtube-color; - } - - .fa-xing, - .fa-xing-square { - color: $xing-color; - } -} - -/* - Navicons - ========================================================================== */ - -.navicon { - position: relative; - width: $navicon-width; - height: $navicon-height; - background: $primary-color; - margin: auto; - -webkit-transition: 0.3s; - transition: 0.3s; - - &:before, - &:after { - content: ""; - position: absolute; - left: 0; - width: $navicon-width; - height: $navicon-height; - background: $primary-color; - -webkit-transition: 0.3s; - transition: 0.3s; - } - - &:before { - top: (-2 * $navicon-height); - } - - &:after { - bottom: (-2 * $navicon-height); - } -} - -.close .navicon { - /* hide the middle line*/ - background: transparent; - - /* overlay the lines by setting both their top values to 0*/ - &:before, - &:after { - -webkit-transform-origin: 50% 50%; - -ms-transform-origin: 50% 50%; - transform-origin: 50% 50%; - top: 0; - width: $navicon-width; - } - - /* rotate the lines to form the x shape*/ - &:before { - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - } - &:after { - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - } -} - -.greedy-nav__toggle:hover { - .navicon, - .navicon:before, - .navicon:after { - background: mix(#000, $primary-color, 25%); - } - - &.close { - .navicon { - background: transparent; - } - } -} - -/* - Sticky, fixed to top content - ========================================================================== */ - -.sticky { - @include breakpoint($large) { - @include clearfix(); - position: -webkit-sticky; - position: sticky; - top: 2em; - - > * { - display: block; - } - } -} - -/* - Wells - ========================================================================== */ - -.well { - min-height: 20px; - padding: 19px; - margin-bottom: 20px; - background-color: #f5f5f5; - border: 1px solid #e3e3e3; - border-radius: $border-radius; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); -} - -/* - Modals - ========================================================================== */ - -.show-modal { - overflow: hidden; - position: relative; - - &:before { - position: absolute; - content: ""; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 999; - background-color: rgba(255, 255, 255, 0.85); - } - - .modal { - display: block; - } -} - -.modal { - display: none; - position: fixed; - width: 300px; - top: 50%; - left: 50%; - margin-left: -150px; - margin-top: -150px; - min-height: 0; - z-index: 9999; - background: #fff; - border: 1px solid $border-color; - border-radius: $border-radius; - box-shadow: $box-shadow; - - &__title { - margin: 0; - padding: 0.5em 1em; - } - - &__supporting-text { - padding: 0 1em 0.5em 1em; - } - - &__actions { - padding: 0.5em 1em; - border-top: 1px solid $border-color; - } -} - -/* - Footnotes - ========================================================================== */ - -.footnote { - color: mix(#fff, $gray, 25%); - text-decoration: none; -} - -.footnotes { - color: mix(#fff, $gray, 25%); - - ol, - li, - p { - margin-bottom: 0; - font-size: $type-size-6; - } -} - -a.reversefootnote { - color: $gray; - text-decoration: none; - - &:hover { - text-decoration: underline; - } -} - -/* - Required - ========================================================================== */ - -.required { - color: $danger-color; - font-weight: bold; -} - -/* - Google Custom Search Engine - ========================================================================== */ - -.gsc-control-cse { - table, - tr, - td { - border: 0; /* remove table borders widget */ - } -} - -/* - Responsive Video Embed - ========================================================================== */ - -.responsive-video-container { - position: relative; - margin-bottom: 1em; - padding-bottom: 56.25%; - height: 0; - overflow: hidden; - max-width: 100%; - - iframe, - object, - embed { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - } -} - -// full screen video fixes -:-webkit-full-screen-ancestor { - .masthead, - .page__footer { - position: static; - } -} diff --git a/docs/_sass/minimal-mistakes/_variables.scss b/docs/_sass/minimal-mistakes/_variables.scss deleted file mode 100644 index 9dd3a386..00000000 --- a/docs/_sass/minimal-mistakes/_variables.scss +++ /dev/null @@ -1,160 +0,0 @@ -/* ========================================================================== - Variables - ========================================================================== */ - -/* - Typography - ========================================================================== */ - -$doc-font-size: 16 !default; - -/* paragraph indention */ -$paragraph-indent: false !default; // true, false (default) -$indent-var: 1.3em !default; - -/* system typefaces */ -$serif: Georgia, Times, serif !default; -$sans-serif: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", - "Helvetica Neue", "Lucida Grande", Arial, sans-serif !default; -$monospace: Monaco, Consolas, "Lucida Console", monospace !default; - -/* sans serif typefaces */ -$sans-serif-narrow: $sans-serif !default; -$helvetica: Helvetica, "Helvetica Neue", Arial, sans-serif !default; - -/* serif typefaces */ -$georgia: Georgia, serif !default; -$times: Times, serif !default; -$bodoni: "Bodoni MT", serif !default; -$calisto: "Calisto MT", serif !default; -$garamond: Garamond, serif !default; - -$global-font-family: $sans-serif !default; -$header-font-family: $sans-serif !default; -$caption-font-family: $serif !default; - -/* type scale */ -$type-size-1: 2.441em !default; // ~39.056px -$type-size-2: 1.953em !default; // ~31.248px -$type-size-3: 1.563em !default; // ~25.008px -$type-size-4: 1.25em !default; // ~20px -$type-size-5: 1em !default; // ~16px -$type-size-6: 0.75em !default; // ~12px -$type-size-7: 0.6875em !default; // ~11px -$type-size-8: 0.625em !default; // ~10px - -/* - Colors - ========================================================================== */ - -$gray: #7a8288 !default; -$dark-gray: mix(#000, $gray, 40%) !default; -$darker-gray: mix(#000, $gray, 60%) !default; -$light-gray: mix(#fff, $gray, 50%) !default; -$lighter-gray: mix(#fff, $gray, 90%) !default; - -$background-color: #fff !default; -$code-background-color: #fafafa !default; -$code-background-color-dark: $light-gray !default; -$text-color: $dark-gray !default; -$muted-text-color: mix(#fff, $text-color, 35%) !default; -$border-color: $lighter-gray !default; -$form-background-color: $lighter-gray !default; -$footer-background-color: $lighter-gray !default; - -$primary-color: #6f777d !default; -$success-color: #3fa63f !default; -$warning-color: #d67f05 !default; -$danger-color: #ee5f5b !default; -$info-color: #3b9cba !default; -$focus-color: $primary-color !default; -$active-color: mix(#fff, $primary-color, 80%) !default; - -/* YIQ color contrast */ -$yiq-contrasted-dark-default: $dark-gray !default; -$yiq-contrasted-light-default: #fff !default; -$yiq-contrasted-threshold: 175 !default; -$yiq-debug: false !default; - -/* brands */ -$behance-color: #1769ff !default; -$bitbucket-color: #205081 !default; -$dribbble-color: #ea4c89 !default; -$facebook-color: #3b5998 !default; -$flickr-color: #ff0084 !default; -$foursquare-color: #0072b1 !default; -$github-color: #171516 !default; -$gitlab-color: #e24329 !default; -$instagram-color: #517fa4 !default; -$lastfm-color: #d51007 !default; -$linkedin-color: #007bb6 !default; -$mastodon-color: #2b90d9 !default; -$pinterest-color: #cb2027 !default; -$reddit-color: #ff4500 !default; -$rss-color: #fa9b39 !default; -$soundcloud-color: #ff3300 !default; -$stackoverflow-color: #fe7a15 !default; -$tumblr-color: #32506d !default; -$twitter-color: #55acee !default; -$vimeo-color: #1ab7ea !default; -$vine-color: #00bf8f !default; -$youtube-color: #bb0000 !default; -$xing-color: #006567 !default; - -/* links */ -$link-color: mix(#000, $info-color, 15%) !default; -$link-color-hover: mix(#000, $link-color, 25%) !default; -$link-color-visited: mix(#fff, $link-color, 15%) !default; -$masthead-link-color: $primary-color !default; -$masthead-link-color-hover: mix(#000, $primary-color, 25%) !default; -$navicon-link-color-hover: mix(#fff, $primary-color, 75%) !default; - -/* syntax highlighting (base16) */ -$base00: #263238 !default; -$base01: #2e3c43 !default; -$base02: #314549 !default; -$base03: #546e7a !default; -$base04: #b2ccd6 !default; -$base05: #eeffff !default; -$base06: #eeffff !default; -$base07: #ffffff !default; -$base08: #f07178 !default; -$base09: #f78c6c !default; -$base0a: #ffcb6b !default; -$base0b: #c3e88d !default; -$base0c: #89ddff !default; -$base0d: #82aaff !default; -$base0e: #c792ea !default; -$base0f: #ff5370 !default; - -/* - Breakpoints - ========================================================================== */ - -$small: 600px !default; -$medium: 768px !default; -$medium-wide: 900px !default; -$large: 1024px !default; -$x-large: 1280px !default; -$max-width: $x-large !default; - -/* - Grid - ========================================================================== */ - -$right-sidebar-width-narrow: 200px !default; -$right-sidebar-width: 300px !default; -$right-sidebar-width-wide: 400px !default; - -/* - Other - ========================================================================== */ - -$border-radius: 4px !default; -$box-shadow: 0 1px 1px rgba(0, 0, 0, 0.125) !default; -$nav-height: 2em !default; -$nav-toggle-height: 2rem !default; -$navicon-width: 1.5rem !default; -$navicon-height: 0.25rem !default; -$global-transition: all 0.2s ease-in-out !default; -$intro-transition: intro 0.3s both !default; diff --git a/docs/_sass/minimal-mistakes/skins/_air.scss b/docs/_sass/minimal-mistakes/skins/_air.scss deleted file mode 100644 index 0e5360c3..00000000 --- a/docs/_sass/minimal-mistakes/skins/_air.scss +++ /dev/null @@ -1,23 +0,0 @@ -/* ========================================================================== - Air skin - ========================================================================== */ - -/* Colors */ -$background-color: #eeeeee !default; -$text-color: #222831 !default; -$muted-text-color: #393e46 !default; -$primary-color: #0092ca !default; -$border-color: mix(#fff, #393e46, 75%) !default; -$footer-background-color: $primary-color !default; -$link-color: #393e46 !default; -$masthead-link-color: $text-color !default; -$masthead-link-color-hover: $text-color !default; -$navicon-link-color-hover: mix(#fff, $text-color, 80%) !default; - -.page__footer { - color: #fff !important; // override -} - -.page__footer-follow .social-icons .svg-inline--fa { - color: inherit; -} diff --git a/docs/_sass/minimal-mistakes/skins/_aqua.scss b/docs/_sass/minimal-mistakes/skins/_aqua.scss deleted file mode 100644 index f5a69af5..00000000 --- a/docs/_sass/minimal-mistakes/skins/_aqua.scss +++ /dev/null @@ -1,30 +0,0 @@ -/* ========================================================================== - Aqua skin - ========================================================================== */ - -/* Colors */ -$gray : #1976d2 !default; -$dark-gray : mix(#000, $gray, 40%) !default; -$darker-gray : mix(#000, $gray, 60%) !default; -$light-gray : mix(#fff, $gray, 50%) !default; -$lighter-gray : mix(#fff, $gray, 90%) !default; - -$body-color : #fff !default; -$background-color : #f0fff0 !default; -$code-background-color : $lighter-gray !default; -$code-background-color-dark : $light-gray !default; -$text-color : $dark-gray !default; -$border-color : $lighter-gray !default; - -$primary-color : $gray !default; -$success-color : #27ae60 !default; -$warning-color : #e67e22 !default; -$danger-color : #c0392b !default; -$info-color : #03a9f4 !default; - -/* links */ -$link-color : $info-color !default; -$link-color-hover : mix(#000, $link-color, 25%) !default; -$link-color-visited : mix(#fff, $link-color, 25%) !default; -$masthead-link-color : $primary-color !default; -$masthead-link-color-hover : mix(#000, $primary-color, 25%) !default; \ No newline at end of file diff --git a/docs/_sass/minimal-mistakes/skins/_contrast.scss b/docs/_sass/minimal-mistakes/skins/_contrast.scss deleted file mode 100644 index 4635e533..00000000 --- a/docs/_sass/minimal-mistakes/skins/_contrast.scss +++ /dev/null @@ -1,51 +0,0 @@ -/* ========================================================================== - Contrast skin - ========================================================================== */ - -/* Colors */ -$text-color: #000 !default; -$muted-text-color: $text-color !default; -$primary-color: #ff0000 !default; -$border-color: mix(#fff, $text-color, 75%) !default; -$footer-background-color: #000 !default; -$link-color: #0000ff !default; -$masthead-link-color: $text-color !default; -$masthead-link-color-hover: $text-color !default; -$navicon-link-color-hover: mix(#fff, $text-color, 80%) !default; - -/* contrast syntax highlighting (base16) */ -$base00: #000000 !default; -$base01: #242422 !default; -$base02: #484844 !default; -$base03: #6c6c66 !default; -$base04: #918f88 !default; -$base05: #b5b3aa !default; -$base06: #d9d7cc !default; -$base07: #fdfbee !default; -$base08: #ff6c60 !default; -$base09: #e9c062 !default; -$base0a: #ffffb6 !default; -$base0b: #a8ff60 !default; -$base0c: #c6c5fe !default; -$base0d: #96cbfe !default; -$base0e: #ff73fd !default; -$base0f: #b18a3d !default; - -.page__content { - .notice, - .notice--primary, - .notice--info, - .notice--warning, - .notice--success, - .notice--danger { - color: $text-color; - } -} - -.page__footer { - color: #fff !important; // override -} - -.page__footer-follow .social-icons .svg-inline--fa { - color: inherit; -} diff --git a/docs/_sass/minimal-mistakes/skins/_dark.scss b/docs/_sass/minimal-mistakes/skins/_dark.scss deleted file mode 100644 index 44f1bda0..00000000 --- a/docs/_sass/minimal-mistakes/skins/_dark.scss +++ /dev/null @@ -1,28 +0,0 @@ -/* ========================================================================== - Dark skin - ========================================================================== */ - -/* Colors */ -$background-color: #252a34 !default; -$text-color: #eaeaea !default; -$primary-color: #00adb5 !default; -$border-color: mix(#fff, $background-color, 20%) !default; -$code-background-color: mix(#000, $background-color, 15%) !default; -$code-background-color-dark: mix(#000, $background-color, 20%) !default; -$form-background-color: mix(#000, $background-color, 15%) !default; -$footer-background-color: mix(#000, $background-color, 30%) !default; -$link-color: mix($primary-color, $text-color, 40%) !default; -$link-color-hover: mix(#fff, $link-color, 25%) !default; -$link-color-visited: mix(#000, $link-color, 25%) !default; -$masthead-link-color: $text-color !default; -$masthead-link-color-hover: mix(#000, $text-color, 20%) !default; -$navicon-link-color-hover: mix(#000, $background-color, 30%) !default; - -.author__urls.social-icons .svg-inline--fa, -.page__footer-follow .social-icons .svg-inline--fa { - color: inherit; -} - -.ais-search-box .ais-search-box--input { - background-color: $form-background-color; -} \ No newline at end of file diff --git a/docs/_sass/minimal-mistakes/skins/_default.scss b/docs/_sass/minimal-mistakes/skins/_default.scss deleted file mode 100644 index 7489b584..00000000 --- a/docs/_sass/minimal-mistakes/skins/_default.scss +++ /dev/null @@ -1,5 +0,0 @@ -/* ========================================================================== - Default skin - ========================================================================== */ - -// Intentionally left blank diff --git a/docs/_sass/minimal-mistakes/skins/_dirt.scss b/docs/_sass/minimal-mistakes/skins/_dirt.scss deleted file mode 100644 index 5090f559..00000000 --- a/docs/_sass/minimal-mistakes/skins/_dirt.scss +++ /dev/null @@ -1,33 +0,0 @@ -/* ========================================================================== - Dirt skin - ========================================================================== */ - -/* Colors */ -$background-color: #f3f3f3 !default; -$text-color: #343434 !default; -$muted-text-color: #8e8b82 !default; -$primary-color: #343434 !default; -$border-color: #e9dcbe !default; -$footer-background-color: #e9dcbe !default; -$link-color: #343434 !default; -$masthead-link-color: $text-color !default; -$masthead-link-color-hover: $text-color !default; -$navicon-link-color-hover: mix(#fff, $text-color, 80%) !default; - -/* dirt syntax highlighting (base16) */ -$base00: #231e18 !default; -$base01: #302b25 !default; -$base02: #48413a !default; -$base03: #9d8b70 !default; -$base04: #b4a490 !default; -$base05: #cabcb1 !default; -$base06: #d7c8bc !default; -$base07: #e4d4c8 !default; -$base08: #d35c5c !default; -$base09: #ca7f32 !default; -$base0a: #e0ac16 !default; -$base0b: #b7ba53 !default; -$base0c: #6eb958 !default; -$base0d: #88a4d3 !default; -$base0e: #bb90e2 !default; -$base0f: #b49368 !default; diff --git a/docs/_sass/minimal-mistakes/skins/_mint.scss b/docs/_sass/minimal-mistakes/skins/_mint.scss deleted file mode 100644 index 575e977d..00000000 --- a/docs/_sass/minimal-mistakes/skins/_mint.scss +++ /dev/null @@ -1,23 +0,0 @@ -/* ========================================================================== - Mint skin - ========================================================================== */ - -/* Colors */ -$background-color: #f3f6f6 !default; -$text-color: #40514e !default; -$muted-text-color: #40514e !default; -$primary-color: #11999e !default; -$border-color: mix(#fff, #40514e, 75%) !default; -$footer-background-color: #30e3ca !default; -$link-color: #11999e !default; -$masthead-link-color: $text-color !default; -$masthead-link-color-hover: $text-color !default; -$navicon-link-color-hover: mix(#fff, $text-color, 80%) !default; - -.page__footer { - color: #fff !important; // override -} - -.page__footer-follow .social-icons .svg-inline--fa { - color: inherit; -} diff --git a/docs/_sass/minimal-mistakes/skins/_neon.scss b/docs/_sass/minimal-mistakes/skins/_neon.scss deleted file mode 100644 index 649cbff2..00000000 --- a/docs/_sass/minimal-mistakes/skins/_neon.scss +++ /dev/null @@ -1,57 +0,0 @@ -/* ========================================================================== - Neon skin - ========================================================================== */ - -/* Colors */ -$background-color: #141010 !default; -$text-color: #fff6fb !default; -$primary-color: #f21368 !default; -$border-color: mix(#fff, $background-color, 20%) !default; -$code-background-color: mix(#000, $background-color, 15%) !default; -$code-background-color-dark: mix(#000, $background-color, 20%) !default; -$form-background-color: mix(#000, $background-color, 15%) !default; -$footer-background-color: mix($primary-color, #000, 10%) !default; -$link-color: $primary-color !default; -$link-color-hover: mix(#fff, $link-color, 25%) !default; -$link-color-visited: mix(#000, $link-color, 25%) !default; -$masthead-link-color: $text-color !default; -$masthead-link-color-hover: mix(#000, $text-color, 20%) !default; -$navicon-link-color-hover: mix(#000, $background-color, 30%) !default; - -/* neon syntax highlighting (base16) */ -$base00: #ffffff !default; -$base01: #e0e0e0 !default; -$base02: #d0d0d0 !default; -$base03: #b0b0b0 !default; -$base04: #000000 !default; -$base05: #101010 !default; -$base06: #151515 !default; -$base07: #202020 !default; -$base08: #ff0086 !default; -$base09: #fd8900 !default; -$base0a: #aba800 !default; -$base0b: #00c918 !default; -$base0c: #1faaaa !default; -$base0d: #3777e6 !default; -$base0e: #ad00a1 !default; -$base0f: #cc6633 !default; - -.author__urls.social-icons .svg-inline--fa, -.page__footer-follow .social-icons .svg-inline--fa { - color: inherit; -} - -/* next/previous buttons */ -.pagination--pager { - color: $text-color; - background-color: $primary-color; - border-color: transparent; - - &:visited { - color: $text-color; - } -} - -.ais-search-box .ais-search-box--input { - background-color: $form-background-color; -} \ No newline at end of file diff --git a/docs/_sass/minimal-mistakes/skins/_plum.scss b/docs/_sass/minimal-mistakes/skins/_plum.scss deleted file mode 100644 index 67975d50..00000000 --- a/docs/_sass/minimal-mistakes/skins/_plum.scss +++ /dev/null @@ -1,64 +0,0 @@ -/* ========================================================================== - Plum skin - ========================================================================== */ - -/* Colors */ -$background-color: #521477 !default; -$text-color: #fffd86 !default; -$primary-color: #c327ab !default; -$border-color: mix(#fff, $background-color, 20%) !default; -$code-background-color: mix(#000, $background-color, 15%) !default; -$code-background-color-dark: mix(#000, $background-color, 20%) !default; -$form-background-color: mix(#000, $background-color, 15%) !default; -$footer-background-color: mix(#000, $background-color, 25%) !default; -$link-color: $primary-color !default; -$link-color-hover: mix(#fff, $link-color, 25%) !default; -$link-color-visited: mix(#000, $link-color, 25%) !default; -$masthead-link-color: $text-color !default; -$masthead-link-color-hover: mix(#000, $text-color, 20%) !default; -$navicon-link-color-hover: mix(#000, $background-color, 30%) !default; - -/* plum syntax highlighting (base16) */ -$base00: #ffffff !default; -$base01: #e0e0e0 !default; -$base02: #d0d0d0 !default; -$base03: #b0b0b0 !default; -$base04: #000000 !default; -$base05: #101010 !default; -$base06: #151515 !default; -$base07: #202020 !default; -$base08: #ff0086 !default; -$base09: #fd8900 !default; -$base0a: #aba800 !default; -$base0b: #00c918 !default; -$base0c: #1faaaa !default; -$base0d: #3777e6 !default; -$base0e: #ad00a1 !default; -$base0f: #cc6633 !default; - -.author__urls.social-icons .svg-inline--fa, -.page__footer-follow .social-icons .svg-inline--fa { - color: inherit; -} - -.page__content { - a, - a:visited { - color: inherit; - } -} - -/* next/previous buttons */ -.pagination--pager { - color: $text-color; - background-color: $primary-color; - border-color: transparent; - - &:visited { - color: $text-color; - } -} - -.ais-search-box .ais-search-box--input { - background-color: $form-background-color; -} \ No newline at end of file diff --git a/docs/_sass/minimal-mistakes/skins/_sunrise.scss b/docs/_sass/minimal-mistakes/skins/_sunrise.scss deleted file mode 100644 index 1f0dca39..00000000 --- a/docs/_sass/minimal-mistakes/skins/_sunrise.scss +++ /dev/null @@ -1,44 +0,0 @@ -/* ========================================================================== - Sunrise skin - ========================================================================== */ - -/* Colors */ -$dark-gray: #0e2431 !default; -$background-color: #e8d5b7 !default; -$text-color: #000 !default; -$muted-text-color: $dark-gray !default; -$primary-color: #fc3a52 !default; -$border-color: mix(#000, $background-color, 20%) !default; -$code-background-color: mix(#fff, $background-color, 20%) !default; -$code-background-color-dark: mix(#000, $background-color, 10%) !default; -$form-background-color: mix(#fff, $background-color, 15%) !default; -$footer-background-color: #f9b248 !default; -$link-color: mix(#000, $primary-color, 10%) !default; -$link-color-hover: mix(#fff, $link-color, 25%) !default; -$link-color-visited: mix(#000, $link-color, 25%) !default; -$masthead-link-color: $text-color !default; -$masthead-link-color-hover: mix(#000, $text-color, 20%) !default; -$navicon-link-color-hover: mix(#000, $background-color, 30%) !default; - -/* sunrise syntax highlighting (base16) */ -$base00: #1d1f21 !default; -$base01: #282a2e !default; -$base02: #373b41 !default; -$base03: #969896 !default; -$base04: #b4b7b4 !default; -$base05: #c5c8c6 !default; -$base06: #e0e0e0 !default; -$base07: #ffffff !default; -$base08: #cc6666 !default; -$base09: #de935f !default; -$base0a: #f0c674 !default; -$base0b: #b5bd68 !default; -$base0c: #8abeb7 !default; -$base0d: #81a2be !default; -$base0e: #b294bb !default; -$base0f: #a3685a !default; - -.author__urls.social-icons .fa, -.page__footer-follow .social-icons .svg-inline--fa { - color: inherit; -} diff --git a/docs/collections/_abouttopics/about_tsssession.md b/docs/about_topics/authentication/about_tsssession.md similarity index 96% rename from docs/collections/_abouttopics/about_tsssession.md rename to docs/about_topics/authentication/about_tsssession.md index 64f28e60..1bded14f 100644 --- a/docs/collections/_abouttopics/about_tsssession.md +++ b/docs/about_topics/authentication/about_tsssession.md @@ -1,7 +1,5 @@ --- -category: authentication title: "TssSession" -last_modified_at: 2021-02-15T00:00:00-00:00 --- # TOPIC diff --git a/docs/about_topics/authentication/readme.md b/docs/about_topics/authentication/readme.md new file mode 100644 index 00000000..667ef395 --- /dev/null +++ b/docs/about_topics/authentication/readme.md @@ -0,0 +1,3 @@ +# Authentication + +{% include list.liquid all=true %} \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tssconfigurationapplicationsettings.md b/docs/about_topics/configurations/about_tssconfigurationapplicationsettings.md similarity index 97% rename from docs/collections/_abouttopics/about_tssconfigurationapplicationsettings.md rename to docs/about_topics/configurations/about_tssconfigurationapplicationsettings.md index 0a0969fb..194e5030 100644 --- a/docs/collections/_abouttopics/about_tssconfigurationapplicationsettings.md +++ b/docs/about_topics/configurations/about_tssconfigurationapplicationsettings.md @@ -1,7 +1,5 @@ --- -category: configurations title: "TssConfigurationApplicationSettings" -last_modified_at: 2021-04-04T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssconfigurationemailsettings.md b/docs/about_topics/configurations/about_tssconfigurationemailsettings.md similarity index 92% rename from docs/collections/_abouttopics/about_tssconfigurationemailsettings.md rename to docs/about_topics/configurations/about_tssconfigurationemailsettings.md index 77cd6653..def47d9d 100644 --- a/docs/collections/_abouttopics/about_tssconfigurationemailsettings.md +++ b/docs/about_topics/configurations/about_tssconfigurationemailsettings.md @@ -1,7 +1,5 @@ --- -category: configurations title: "TssConfigurationEmailSettings" -last_modified_at: 2021-04-04T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssconfigurationfolders.md b/docs/about_topics/configurations/about_tssconfigurationfolders.md similarity index 92% rename from docs/collections/_abouttopics/about_tssconfigurationfolders.md rename to docs/about_topics/configurations/about_tssconfigurationfolders.md index 4c7fb783..aa8062e8 100644 --- a/docs/collections/_abouttopics/about_tssconfigurationfolders.md +++ b/docs/about_topics/configurations/about_tssconfigurationfolders.md @@ -1,7 +1,5 @@ --- -category: configurations title: "TssConfigurationFolders" -last_modified_at: 2021-04-04T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssconfigurationgeneral.md b/docs/about_topics/configurations/about_tssconfigurationgeneral.md similarity index 93% rename from docs/collections/_abouttopics/about_tssconfigurationgeneral.md rename to docs/about_topics/configurations/about_tssconfigurationgeneral.md index 55d34d41..69f34e6e 100644 --- a/docs/collections/_abouttopics/about_tssconfigurationgeneral.md +++ b/docs/about_topics/configurations/about_tssconfigurationgeneral.md @@ -1,7 +1,5 @@ --- -category: configurations title: "TssConfigurationGeneral" -last_modified_at: 2021-04-04T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssconfigurationlaunchersettings.md b/docs/about_topics/configurations/about_tssconfigurationlaunchersettings.md similarity index 91% rename from docs/collections/_abouttopics/about_tssconfigurationlaunchersettings.md rename to docs/about_topics/configurations/about_tssconfigurationlaunchersettings.md index e2904a33..67d8457d 100644 --- a/docs/collections/_abouttopics/about_tssconfigurationlaunchersettings.md +++ b/docs/about_topics/configurations/about_tssconfigurationlaunchersettings.md @@ -1,7 +1,5 @@ --- -category: configurations -title: "TssConfigurationGeneral" -last_modified_at: 2021-04-04T00:00:00-00:00 +title: "TssConfigurationLauncherSettings" --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssconfigurationlocaluserpasswords.md b/docs/about_topics/configurations/about_tssconfigurationlocaluserpasswords.md similarity index 96% rename from docs/collections/_abouttopics/about_tssconfigurationlocaluserpasswords.md rename to docs/about_topics/configurations/about_tssconfigurationlocaluserpasswords.md index bddca083..c4132ae4 100644 --- a/docs/collections/_abouttopics/about_tssconfigurationlocaluserpasswords.md +++ b/docs/about_topics/configurations/about_tssconfigurationlocaluserpasswords.md @@ -1,7 +1,5 @@ --- -category: configurations title: "TssConfigurationLocalUserPasswords" -last_modified_at: 2021-04-04T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssconfigurationpermissionoptions.md b/docs/about_topics/configurations/about_tssconfigurationpermissionoptions.md similarity index 92% rename from docs/collections/_abouttopics/about_tssconfigurationpermissionoptions.md rename to docs/about_topics/configurations/about_tssconfigurationpermissionoptions.md index 55361b36..bbb67e93 100644 --- a/docs/collections/_abouttopics/about_tssconfigurationpermissionoptions.md +++ b/docs/about_topics/configurations/about_tssconfigurationpermissionoptions.md @@ -1,7 +1,5 @@ --- -category: configurations title: "TssConfigurationPermissionOptions" -last_modified_at: 2021-04-04T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssconfigurationprotocolhandlersettings.md b/docs/about_topics/configurations/about_tssconfigurationprotocolhandlersettings.md similarity index 90% rename from docs/collections/_abouttopics/about_tssconfigurationprotocolhandlersettings.md rename to docs/about_topics/configurations/about_tssconfigurationprotocolhandlersettings.md index e6544e7b..47c87733 100644 --- a/docs/collections/_abouttopics/about_tssconfigurationprotocolhandlersettings.md +++ b/docs/about_topics/configurations/about_tssconfigurationprotocolhandlersettings.md @@ -1,7 +1,5 @@ --- -category: configurations title: "TssConfigurationProtocolHandlerSettings" -last_modified_at: 2021-04-05T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssconfigurationuserexperience.md b/docs/about_topics/configurations/about_tssconfigurationuserexperience.md similarity index 95% rename from docs/collections/_abouttopics/about_tssconfigurationuserexperience.md rename to docs/about_topics/configurations/about_tssconfigurationuserexperience.md index 62c86515..fb7c4cdf 100644 --- a/docs/collections/_abouttopics/about_tssconfigurationuserexperience.md +++ b/docs/about_topics/configurations/about_tssconfigurationuserexperience.md @@ -1,7 +1,5 @@ --- -category: configurations title: "TssConfigurationUserExperience" -last_modified_at: 2021-04-04T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssconfigurationuserinterface.md b/docs/about_topics/configurations/about_tssconfigurationuserinterface.md similarity index 90% rename from docs/collections/_abouttopics/about_tssconfigurationuserinterface.md rename to docs/about_topics/configurations/about_tssconfigurationuserinterface.md index cac1b661..70e444d1 100644 --- a/docs/collections/_abouttopics/about_tssconfigurationuserinterface.md +++ b/docs/about_topics/configurations/about_tssconfigurationuserinterface.md @@ -1,7 +1,5 @@ --- -category: configurations title: "TssConfigurationUserInterface" -last_modified_at: 2021-04-04T00:00:00-00:00 --- # TOPIC diff --git a/docs/about_topics/configurations/readme.md b/docs/about_topics/configurations/readme.md new file mode 100644 index 00000000..b1660bc6 --- /dev/null +++ b/docs/about_topics/configurations/readme.md @@ -0,0 +1,3 @@ +# Configurations + +{% include list.liquid all=true %} \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tssdomainsummary.md b/docs/about_topics/directory_services/about_tssdomainsummary.md similarity index 88% rename from docs/collections/_abouttopics/about_tssdomainsummary.md rename to docs/about_topics/directory_services/about_tssdomainsummary.md index b57c1cfe..b7aa25bd 100644 --- a/docs/collections/_abouttopics/about_tssdomainsummary.md +++ b/docs/about_topics/directory_services/about_tssdomainsummary.md @@ -1,7 +1,5 @@ --- -category: directory-services title: "TssDomainSummary" -last_modified_at: 2021-04-05T00:00:00-00:00 --- # TOPIC diff --git a/docs/about_topics/directory_services/readme.md b/docs/about_topics/directory_services/readme.md new file mode 100644 index 00000000..a6f630b2 --- /dev/null +++ b/docs/about_topics/directory_services/readme.md @@ -0,0 +1,3 @@ +# Directory Services + +{% include list.liquid all=true %} \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tsssitemetrics.md b/docs/about_topics/distributed_engines/about_tsssitemetrics.md similarity index 86% rename from docs/collections/_abouttopics/about_tsssitemetrics.md rename to docs/about_topics/distributed_engines/about_tsssitemetrics.md index 273cbaa5..b88ffcb6 100644 --- a/docs/collections/_abouttopics/about_tsssitemetrics.md +++ b/docs/about_topics/distributed_engines/about_tsssitemetrics.md @@ -1,7 +1,5 @@ --- -category: distributed-engines, sites title: "TssSiteSummary" -last_modified_at: 2021-04-05T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsssitesummary.md b/docs/about_topics/distributed_engines/about_tsssitesummary.md similarity index 91% rename from docs/collections/_abouttopics/about_tsssitesummary.md rename to docs/about_topics/distributed_engines/about_tsssitesummary.md index c84c16af..cfb5ebe5 100644 --- a/docs/collections/_abouttopics/about_tsssitesummary.md +++ b/docs/about_topics/distributed_engines/about_tsssitesummary.md @@ -1,7 +1,5 @@ --- -category: distributed-engines, sites title: "TssSiteSummary" -last_modified_at: 2021-04-05T00:00:00-00:00 --- # TOPIC diff --git a/docs/about_topics/distributed_engines/readme.md b/docs/about_topics/distributed_engines/readme.md new file mode 100644 index 00000000..b6ee5b0b --- /dev/null +++ b/docs/about_topics/distributed_engines/readme.md @@ -0,0 +1,3 @@ +# Distributed Engines + +{% include list.liquid all=true %} \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tssfolderpermission.md b/docs/about_topics/folder_permissions/about_tssfolderpermission.md similarity index 88% rename from docs/collections/_abouttopics/about_tssfolderpermission.md rename to docs/about_topics/folder_permissions/about_tssfolderpermission.md index cbf05a4c..a77eebe5 100644 --- a/docs/collections/_abouttopics/about_tssfolderpermission.md +++ b/docs/about_topics/folder_permissions/about_tssfolderpermission.md @@ -1,7 +1,5 @@ --- -category: folder-permissions title: "TssFolderPermission" -last_modified_at: 2021-02-24T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssfolderpermissionsummary.md b/docs/about_topics/folder_permissions/about_tssfolderpermissionsummary.md similarity index 91% rename from docs/collections/_abouttopics/about_tssfolderpermissionsummary.md rename to docs/about_topics/folder_permissions/about_tssfolderpermissionsummary.md index db06f722..d72e8d3f 100644 --- a/docs/collections/_abouttopics/about_tssfolderpermissionsummary.md +++ b/docs/about_topics/folder_permissions/about_tssfolderpermissionsummary.md @@ -1,7 +1,5 @@ --- -category: folder-permissions title: "TssFolderPermissionSummary" -last_modified_at: 2021-02-24T00:00:00-00:00 --- # TOPIC diff --git a/docs/about_topics/folder_permissions/readme.md b/docs/about_topics/folder_permissions/readme.md new file mode 100644 index 00000000..520d4b94 --- /dev/null +++ b/docs/about_topics/folder_permissions/readme.md @@ -0,0 +1,3 @@ +# Folder Permissions + +{% include list.liquid all=true %} \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tssfolder.md b/docs/about_topics/folders/about_tssfolder.md similarity index 92% rename from docs/collections/_abouttopics/about_tssfolder.md rename to docs/about_topics/folders/about_tssfolder.md index 7a328744..e1afbd56 100644 --- a/docs/collections/_abouttopics/about_tssfolder.md +++ b/docs/about_topics/folders/about_tssfolder.md @@ -1,7 +1,5 @@ --- -category: folders title: "TssFolder" -last_modified_at: 2021-02-10T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssfolderauditsummary.md b/docs/about_topics/folders/about_tssfolderauditsummary.md similarity index 87% rename from docs/collections/_abouttopics/about_tssfolderauditsummary.md rename to docs/about_topics/folders/about_tssfolderauditsummary.md index fd2064c3..7d93246e 100644 --- a/docs/collections/_abouttopics/about_tssfolderauditsummary.md +++ b/docs/about_topics/folders/about_tssfolderauditsummary.md @@ -1,7 +1,5 @@ --- -category: folders title: "TssFolderAuditSummary" -last_modified_at: 2021-02-11T00:00:00-00:00 --- # TOPIC diff --git a/docs/about_topics/folders/about_tssfolderdetailview.md b/docs/about_topics/folders/about_tssfolderdetailview.md new file mode 100644 index 00000000..a4894a80 --- /dev/null +++ b/docs/about_topics/folders/about_tssfolderdetailview.md @@ -0,0 +1,44 @@ +--- +title: "TssFolderDetailView" +--- + +# TOPIC + This help topic describes the TssFolderDetailView class in the Thycotic.SecretServer module + +# CLASS + TssFolderDetailView + +# INHERITANCE + None + +# DESCRIPTION + The TssFolderDetailView class represents the FolderDetailViewModel object returned by Secret Server endpoint GET /folder-details/{id} + +# CONSTRUCTORS + new() + +# PROPERTIES + Actions: string[] + Actions. (CreateSubfolder , EditFolder , AddSecret , DeleteFolder , MoveFolder) + + AllowedTemplates: TssFolderDetailTemplateView[] + AllowedTemplates + + FolderWarning: string + FolderWarning + + Id: integer (int32) + Id + + Name: string + Name + +# METHODS + [System.String[]] GetActions() + Returns the Actions, sorted + + [System.Boolean] TestAction([string]Action) + Returns true if action exist, false if not + +# RELATED LINKS: + Get-TssFolderState \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tssfolderlookup.md b/docs/about_topics/folders/about_tssfolderlookup.md similarity index 84% rename from docs/collections/_abouttopics/about_tssfolderlookup.md rename to docs/about_topics/folders/about_tssfolderlookup.md index 44704fd5..561ccd25 100644 --- a/docs/collections/_abouttopics/about_tssfolderlookup.md +++ b/docs/about_topics/folders/about_tssfolderlookup.md @@ -1,7 +1,5 @@ --- -category: folders title: "TssFolderLookup" -last_modified_at: 2021-02-10T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssfoldersummary.md b/docs/about_topics/folders/about_tssfoldersummary.md similarity index 90% rename from docs/collections/_abouttopics/about_tssfoldersummary.md rename to docs/about_topics/folders/about_tssfoldersummary.md index ffdcb7c6..6cea014c 100644 --- a/docs/collections/_abouttopics/about_tssfoldersummary.md +++ b/docs/about_topics/folders/about_tssfoldersummary.md @@ -1,7 +1,5 @@ --- -category: folders title: "TssFolderSummary" -last_modified_at: 2021-02-10T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssfoldertemplate.md b/docs/about_topics/folders/about_tssfoldertemplate.md similarity index 86% rename from docs/collections/_abouttopics/about_tssfoldertemplate.md rename to docs/about_topics/folders/about_tssfoldertemplate.md index b4e4b1f5..0592c82f 100644 --- a/docs/collections/_abouttopics/about_tssfoldertemplate.md +++ b/docs/about_topics/folders/about_tssfoldertemplate.md @@ -1,7 +1,5 @@ --- -category: folders title: "TssFolderTemplate" -last_modified_at: 2021-02-10T00:00:00-00:00 --- # TOPIC diff --git a/docs/about_topics/folders/readme.md b/docs/about_topics/folders/readme.md new file mode 100644 index 00000000..b557fc24 --- /dev/null +++ b/docs/about_topics/folders/readme.md @@ -0,0 +1,3 @@ +# Folders + +{% include list.liquid all=true %} \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tssdelete.md b/docs/about_topics/general/about_tssdelete.md similarity index 81% rename from docs/collections/_abouttopics/about_tssdelete.md rename to docs/about_topics/general/about_tssdelete.md index 69569976..994f6595 100644 --- a/docs/collections/_abouttopics/about_tssdelete.md +++ b/docs/about_topics/general/about_tssdelete.md @@ -1,7 +1,5 @@ --- -category: general -title: "TssVersion" -last_modified_at: 2021-02-10T00:00:00-00:00 +title: "TssDelete" --- # TOPIC diff --git a/docs/about_topics/general/about_tsssite.md b/docs/about_topics/general/about_tsssite.md new file mode 100644 index 00000000..a4712980 --- /dev/null +++ b/docs/about_topics/general/about_tsssite.md @@ -0,0 +1,33 @@ +--- +title: "TssSite" +--- + +# TOPIC + This help topic describes the TssSite class in the Thycotic.SecretServer module + +# CLASS + TssSite + +# INHERITANCE + None + +# DESCRIPTION + The TssSite class represents the SiteModel object returned by most of the DELETE endpoints in Secret Server + +# CONSTRUCTORS + new() + +# PROPERTIES + Active: boolean + Active flag + + SiteId: integer (int32) + Site Id + + SiteName: string + Site Name + +# METHODS + +# RELATED LINKS: + Get-TssSite \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tssversion.md b/docs/about_topics/general/about_tssversion.md similarity index 88% rename from docs/collections/_abouttopics/about_tssversion.md rename to docs/about_topics/general/about_tssversion.md index 055d6da0..2653c400 100644 --- a/docs/collections/_abouttopics/about_tssversion.md +++ b/docs/about_topics/general/about_tssversion.md @@ -1,7 +1,5 @@ --- -category: general title: "TssVersion" -last_modified_at: 2021-02-10T00:00:00-00:00 --- # TOPIC diff --git a/docs/about_topics/general/readme.md b/docs/about_topics/general/readme.md new file mode 100644 index 00000000..550632ed --- /dev/null +++ b/docs/about_topics/general/readme.md @@ -0,0 +1,3 @@ +# General + +{% include list.liquid all=true %} \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tssgroup.md b/docs/about_topics/groups/about_tssgroup.md similarity index 95% rename from docs/collections/_abouttopics/about_tssgroup.md rename to docs/about_topics/groups/about_tssgroup.md index 34aa5eb5..0a7e3b5e 100644 --- a/docs/collections/_abouttopics/about_tssgroup.md +++ b/docs/about_topics/groups/about_tssgroup.md @@ -1,7 +1,5 @@ --- -category: groups title: "TssGroup" -last_modified_at: 2021-05-26T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssgrouplookup.md b/docs/about_topics/groups/about_tssgrouplookup.md similarity index 85% rename from docs/collections/_abouttopics/about_tssgrouplookup.md rename to docs/about_topics/groups/about_tssgrouplookup.md index 7fd499bb..d0f5fa83 100644 --- a/docs/collections/_abouttopics/about_tssgrouplookup.md +++ b/docs/about_topics/groups/about_tssgrouplookup.md @@ -1,7 +1,5 @@ --- -category: groups title: "TssGroupLookup" -last_modified_at: 2021-05-26T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssgroupowner.md b/docs/about_topics/groups/about_tssgroupowner.md similarity index 89% rename from docs/collections/_abouttopics/about_tssgroupowner.md rename to docs/about_topics/groups/about_tssgroupowner.md index da0dd081..37b5eadc 100644 --- a/docs/collections/_abouttopics/about_tssgroupowner.md +++ b/docs/about_topics/groups/about_tssgroupowner.md @@ -1,7 +1,5 @@ --- -category: groups title: "TssGroupOwner" -last_modified_at: 2021-05-26T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssgroupsummary.md b/docs/about_topics/groups/about_tssgroupsummary.md similarity index 92% rename from docs/collections/_abouttopics/about_tssgroupsummary.md rename to docs/about_topics/groups/about_tssgroupsummary.md index 3f0dceb8..fe2439a1 100644 --- a/docs/collections/_abouttopics/about_tssgroupsummary.md +++ b/docs/about_topics/groups/about_tssgroupsummary.md @@ -1,7 +1,5 @@ --- -category: groups title: "TssGroupSummary" -last_modified_at: 2021-02-10T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssgroupuser.md b/docs/about_topics/groups/about_tssgroupuser.md similarity index 89% rename from docs/collections/_abouttopics/about_tssgroupuser.md rename to docs/about_topics/groups/about_tssgroupuser.md index 649b5e0e..9059f33b 100644 --- a/docs/collections/_abouttopics/about_tssgroupuser.md +++ b/docs/about_topics/groups/about_tssgroupuser.md @@ -1,7 +1,5 @@ --- -category: groups title: "TssGroupUser" -last_modified_at: 2021-05-28T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssgroupusersummary.md b/docs/about_topics/groups/about_tssgroupusersummary.md similarity index 92% rename from docs/collections/_abouttopics/about_tssgroupusersummary.md rename to docs/about_topics/groups/about_tssgroupusersummary.md index 3b5b3ee4..d00f9238 100644 --- a/docs/collections/_abouttopics/about_tssgroupusersummary.md +++ b/docs/about_topics/groups/about_tssgroupusersummary.md @@ -1,7 +1,5 @@ --- -category: groups title: "TssGroupUserSummary" -last_modified_at: 2021-04-25T00:00:00-00:00 --- # TOPIC diff --git a/docs/about_topics/groups/readme.md b/docs/about_topics/groups/readme.md new file mode 100644 index 00000000..894461f9 --- /dev/null +++ b/docs/about_topics/groups/readme.md @@ -0,0 +1,3 @@ +# Groups + +{% include list.liquid all=true %} \ No newline at end of file diff --git a/docs/about_topics/readme.md b/docs/about_topics/readme.md new file mode 100644 index 00000000..b017e0d5 --- /dev/null +++ b/docs/about_topics/readme.md @@ -0,0 +1,9 @@ +--- +sort: 3 +--- + +# About Topics + +The Thycotic.SecretServer module utilizes PowerShell Classes for strongly-typing the output for the REST API with Secret Server. This provides an easier mechanims for providing special methods that can be used to shortcut the need to add additional code to your scripts. + +{% include list.liquid all=true %} \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tsspasswordtype.md b/docs/about_topics/remote_password_changing/about_tsspasswordtype.md similarity index 95% rename from docs/collections/_abouttopics/about_tsspasswordtype.md rename to docs/about_topics/remote_password_changing/about_tsspasswordtype.md index 397c682f..af7e0a16 100644 --- a/docs/collections/_abouttopics/about_tsspasswordtype.md +++ b/docs/about_topics/remote_password_changing/about_tsspasswordtype.md @@ -1,7 +1,5 @@ --- -category: rpc, secrets title: "TssPasswordType" -last_modified_at: 2021-04-25T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsspasswordtypefield.md b/docs/about_topics/remote_password_changing/about_tsspasswordtypefield.md similarity index 88% rename from docs/collections/_abouttopics/about_tsspasswordtypefield.md rename to docs/about_topics/remote_password_changing/about_tsspasswordtypefield.md index 867b07db..c10c9679 100644 --- a/docs/collections/_abouttopics/about_tsspasswordtypefield.md +++ b/docs/about_topics/remote_password_changing/about_tsspasswordtypefield.md @@ -1,7 +1,5 @@ --- -category: rpc, secrets title: "TssPasswordTypeField" -last_modified_at: 2021-04-25T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsspasswordtypesummary.md b/docs/about_topics/remote_password_changing/about_tsspasswordtypesummary.md similarity index 92% rename from docs/collections/_abouttopics/about_tsspasswordtypesummary.md rename to docs/about_topics/remote_password_changing/about_tsspasswordtypesummary.md index 89f3a302..4db068a0 100644 --- a/docs/collections/_abouttopics/about_tsspasswordtypesummary.md +++ b/docs/about_topics/remote_password_changing/about_tsspasswordtypesummary.md @@ -1,7 +1,5 @@ --- -category: rpc, secrets title: "TssPasswordTypeSummary" -last_modified_at: 2021-04-25T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsssecretrpcassociated.md b/docs/about_topics/remote_password_changing/about_tsssecretrpcassociated.md similarity index 90% rename from docs/collections/_abouttopics/about_tsssecretrpcassociated.md rename to docs/about_topics/remote_password_changing/about_tsssecretrpcassociated.md index e81e9cbf..7330511a 100644 --- a/docs/collections/_abouttopics/about_tsssecretrpcassociated.md +++ b/docs/about_topics/remote_password_changing/about_tsssecretrpcassociated.md @@ -1,7 +1,5 @@ --- -category: rpc title: "TssSecretRpcAssociated" -last_modified_at: 2021-04-14T00:00:00-00:00 --- # TOPIC diff --git a/docs/about_topics/remote_password_changing/readme.md b/docs/about_topics/remote_password_changing/readme.md new file mode 100644 index 00000000..a6e59df1 --- /dev/null +++ b/docs/about_topics/remote_password_changing/readme.md @@ -0,0 +1,3 @@ +# Remote Password Changing + +{% include list.liquid all=true %} \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tssreport.md b/docs/about_topics/reports/about_tssreport.md similarity index 92% rename from docs/collections/_abouttopics/about_tssreport.md rename to docs/about_topics/reports/about_tssreport.md index bd4ae994..142274ff 100644 --- a/docs/collections/_abouttopics/about_tssreport.md +++ b/docs/about_topics/reports/about_tssreport.md @@ -1,7 +1,5 @@ --- -category: reports title: "TssReport" -last_modified_at: 2021-02-10T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssreportcategory.md b/docs/about_topics/reports/about_tssreportcategory.md similarity index 85% rename from docs/collections/_abouttopics/about_tssreportcategory.md rename to docs/about_topics/reports/about_tssreportcategory.md index 7903a93d..c1871728 100644 --- a/docs/collections/_abouttopics/about_tssreportcategory.md +++ b/docs/about_topics/reports/about_tssreportcategory.md @@ -1,7 +1,5 @@ --- -category: reports title: "TssReportCategory" -last_modified_at: 2021-03-18T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssreportcategorydetail.md b/docs/about_topics/reports/about_tssreportcategorydetail.md similarity index 84% rename from docs/collections/_abouttopics/about_tssreportcategorydetail.md rename to docs/about_topics/reports/about_tssreportcategorydetail.md index b4692f99..e7b7eaf1 100644 --- a/docs/collections/_abouttopics/about_tssreportcategorydetail.md +++ b/docs/about_topics/reports/about_tssreportcategorydetail.md @@ -1,7 +1,5 @@ --- -category: reports -title: "TssReportCategory" -last_modified_at: 2021-03-18T00:00:00-00:00 +title: "TssReportCategoryDetail" --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssreportschedulesummary.md b/docs/about_topics/reports/about_tssreportschedulesummary.md similarity index 91% rename from docs/collections/_abouttopics/about_tssreportschedulesummary.md rename to docs/about_topics/reports/about_tssreportschedulesummary.md index 673c50d9..0b4a56af 100644 --- a/docs/collections/_abouttopics/about_tssreportschedulesummary.md +++ b/docs/about_topics/reports/about_tssreportschedulesummary.md @@ -1,7 +1,5 @@ --- -category: reports title: "TssReportScheduleSummary" -last_modified_at: 2021-02-10T00:00:00-00:00 --- # TOPIC diff --git a/docs/about_topics/reports/readme.md b/docs/about_topics/reports/readme.md new file mode 100644 index 00000000..1a28593b --- /dev/null +++ b/docs/about_topics/reports/readme.md @@ -0,0 +1,3 @@ +# Reports + +{% include list.liquid all=true %} \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tssrole.md b/docs/about_topics/roles/about_tssrole.md similarity index 86% rename from docs/collections/_abouttopics/about_tssrole.md rename to docs/about_topics/roles/about_tssrole.md index 2b6b0ac7..a7bbc65b 100644 --- a/docs/collections/_abouttopics/about_tssrole.md +++ b/docs/about_topics/roles/about_tssrole.md @@ -1,7 +1,5 @@ --- -category: roles title: "TssRole" -last_modified_at: 2021-03-03T00:00:00-00:00 --- # TOPIC diff --git a/docs/about_topics/roles/readme.md b/docs/about_topics/roles/readme.md new file mode 100644 index 00000000..2978ea3a --- /dev/null +++ b/docs/about_topics/roles/readme.md @@ -0,0 +1,3 @@ +# Roles + +{% include list.liquid all=true %} \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tsssecretdependency.md b/docs/about_topics/secret_dependencies/about_tsssecretdependency.md similarity index 96% rename from docs/collections/_abouttopics/about_tsssecretdependency.md rename to docs/about_topics/secret_dependencies/about_tsssecretdependency.md index f4d225d5..18f54865 100644 --- a/docs/collections/_abouttopics/about_tsssecretdependency.md +++ b/docs/about_topics/secret_dependencies/about_tsssecretdependency.md @@ -1,7 +1,5 @@ --- -category: secrets,dependencies title: "TssSecretDependency" -last_modified_at: 2021-05-05T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsssecretdependencygroup.md b/docs/about_topics/secret_dependencies/about_tsssecretdependencygroup.md similarity index 92% rename from docs/collections/_abouttopics/about_tsssecretdependencygroup.md rename to docs/about_topics/secret_dependencies/about_tsssecretdependencygroup.md index 1881ee2d..257651e8 100644 --- a/docs/collections/_abouttopics/about_tsssecretdependencygroup.md +++ b/docs/about_topics/secret_dependencies/about_tsssecretdependencygroup.md @@ -1,7 +1,5 @@ --- -category: secrets,dependencies title: "TssSecretDependencyGroup" -last_modified_at: 2021-05-02T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsssecretdependencysummary.md b/docs/about_topics/secret_dependencies/about_tsssecretdependencysummary.md similarity index 92% rename from docs/collections/_abouttopics/about_tsssecretdependencysummary.md rename to docs/about_topics/secret_dependencies/about_tsssecretdependencysummary.md index 23b0dd19..191637cb 100644 --- a/docs/collections/_abouttopics/about_tsssecretdependencysummary.md +++ b/docs/about_topics/secret_dependencies/about_tsssecretdependencysummary.md @@ -1,7 +1,5 @@ --- -category: secrets,dependencies title: "TssSecretDependencyGroup" -last_modified_at: 2021-05-02T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsssecretdependencytaskerror.md b/docs/about_topics/secret_dependencies/about_tsssecretdependencytaskerror.md similarity index 84% rename from docs/collections/_abouttopics/about_tsssecretdependencytaskerror.md rename to docs/about_topics/secret_dependencies/about_tsssecretdependencytaskerror.md index ad41c82f..75e8c597 100644 --- a/docs/collections/_abouttopics/about_tsssecretdependencytaskerror.md +++ b/docs/about_topics/secret_dependencies/about_tsssecretdependencytaskerror.md @@ -1,7 +1,5 @@ --- -category: secrets,dependencies title: "TssSecretDependencyTaskError" -last_modified_at: 2021-05-07T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsssecretdependencytaskprogress.md b/docs/about_topics/secret_dependencies/about_tsssecretdependencytaskprogress.md similarity index 88% rename from docs/collections/_abouttopics/about_tsssecretdependencytaskprogress.md rename to docs/about_topics/secret_dependencies/about_tsssecretdependencytaskprogress.md index d3570e53..b780027f 100644 --- a/docs/collections/_abouttopics/about_tsssecretdependencytaskprogress.md +++ b/docs/about_topics/secret_dependencies/about_tsssecretdependencytaskprogress.md @@ -1,7 +1,5 @@ --- -category: secrets,dependencies title: "TssSecretDependencyTaskProgress" -last_modified_at: 2021-05-07T00:00:00-00:00 --- # TOPIC diff --git a/docs/about_topics/secret_dependencies/readme.md b/docs/about_topics/secret_dependencies/readme.md new file mode 100644 index 00000000..90fabd28 --- /dev/null +++ b/docs/about_topics/secret_dependencies/readme.md @@ -0,0 +1,3 @@ +# Secret Dependencies + +{% include list.liquid all=true %} \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tsssecretpermission.md b/docs/about_topics/secret_permissions/about_tsssecretpermission.md similarity index 90% rename from docs/collections/_abouttopics/about_tsssecretpermission.md rename to docs/about_topics/secret_permissions/about_tsssecretpermission.md index 43405dca..0d1c155d 100644 --- a/docs/collections/_abouttopics/about_tsssecretpermission.md +++ b/docs/about_topics/secret_permissions/about_tsssecretpermission.md @@ -1,7 +1,5 @@ --- -category: secret-permissions title: "TssSecretPermission" -last_modified_at: 2021-05-29T00:00:00-00:00 --- # TOPIC diff --git a/docs/about_topics/secret_permissions/readme.md b/docs/about_topics/secret_permissions/readme.md new file mode 100644 index 00000000..f4df1c19 --- /dev/null +++ b/docs/about_topics/secret_permissions/readme.md @@ -0,0 +1,3 @@ +# Secret Permissions + +{% include list.liquid all=true %} \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tsssecretpolicy.md b/docs/about_topics/secret_policies/about_tsssecretpolicy.md similarity index 88% rename from docs/collections/_abouttopics/about_tsssecretpolicy.md rename to docs/about_topics/secret_policies/about_tsssecretpolicy.md index 5f0cbb79..1c50b51a 100644 --- a/docs/collections/_abouttopics/about_tsssecretpolicy.md +++ b/docs/about_topics/secret_policies/about_tsssecretpolicy.md @@ -1,7 +1,5 @@ --- -category: secret-policy title: "TssSecretPolicy" -last_modified_at: 2021-05-30T00:00:00-00:00 --- # TOPIC diff --git a/docs/about_topics/secret_policies/readme.md b/docs/about_topics/secret_policies/readme.md new file mode 100644 index 00000000..7508cf95 --- /dev/null +++ b/docs/about_topics/secret_policies/readme.md @@ -0,0 +1,3 @@ +# Secret Policies + +{% include list.liquid all=true %} \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tsssecrettemplate.md b/docs/about_topics/secret_templates/about_tsssecrettemplate.md similarity index 89% rename from docs/collections/_abouttopics/about_tsssecrettemplate.md rename to docs/about_topics/secret_templates/about_tsssecrettemplate.md index 11a140c7..b26bfeb3 100644 --- a/docs/collections/_abouttopics/about_tsssecrettemplate.md +++ b/docs/about_topics/secret_templates/about_tsssecrettemplate.md @@ -1,7 +1,5 @@ --- -category: secrets title: "TssSecretTemplate" -last_modified_at: 2021-02-10T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsssecrettemplatefield.md b/docs/about_topics/secret_templates/about_tsssecrettemplatefield.md similarity index 93% rename from docs/collections/_abouttopics/about_tsssecrettemplatefield.md rename to docs/about_topics/secret_templates/about_tsssecrettemplatefield.md index b814218b..4575bdf5 100644 --- a/docs/collections/_abouttopics/about_tsssecrettemplatefield.md +++ b/docs/about_topics/secret_templates/about_tsssecrettemplatefield.md @@ -1,7 +1,5 @@ --- -category: secrettemplates title: "TssSecretTemplateField" -last_modified_at: 2021-02-10T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsssecrettemplatesummary.md b/docs/about_topics/secret_templates/about_tsssecrettemplatesummary.md similarity index 87% rename from docs/collections/_abouttopics/about_tsssecrettemplatesummary.md rename to docs/about_topics/secret_templates/about_tsssecrettemplatesummary.md index 8e4453ae..ed166d6c 100644 --- a/docs/collections/_abouttopics/about_tsssecrettemplatesummary.md +++ b/docs/about_topics/secret_templates/about_tsssecrettemplatesummary.md @@ -1,7 +1,5 @@ --- -category: secrettemplates title: "TssSecretTemplateSummary" -last_modified_at: 2021-03-18T00:00:00-00:00 --- # TOPIC diff --git a/docs/about_topics/secret_templates/readme.md b/docs/about_topics/secret_templates/readme.md new file mode 100644 index 00000000..2f6f2836 --- /dev/null +++ b/docs/about_topics/secret_templates/readme.md @@ -0,0 +1,3 @@ +# Secret Templates + +{% include list.liquid all=true %} \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tssonetimepasswordsettings.md b/docs/about_topics/secrets/about_tssonetimepasswordsettings.md similarity index 84% rename from docs/collections/_abouttopics/about_tssonetimepasswordsettings.md rename to docs/about_topics/secrets/about_tssonetimepasswordsettings.md index b0563879..37b0a57f 100644 --- a/docs/collections/_abouttopics/about_tssonetimepasswordsettings.md +++ b/docs/about_topics/secrets/about_tssonetimepasswordsettings.md @@ -1,7 +1,5 @@ --- -category: secrets title: "TssOneTimePasswordSettings" -last_modified_at: 2021-03-18T00:00:00-00:00 --- # TOPIC @@ -38,5 +36,5 @@ last_modified_at: 2021-03-18T00:00:00-00:00 # METHODS # RELATED LINKS: - TssSEcretDetilSettings + TssSecretDetailSettings Get-TssSecretSetting \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tssrdplaunchersettings.md b/docs/about_topics/secrets/about_tssrdplaunchersettings.md similarity index 92% rename from docs/collections/_abouttopics/about_tssrdplaunchersettings.md rename to docs/about_topics/secrets/about_tssrdplaunchersettings.md index 289aaac1..f7460267 100644 --- a/docs/collections/_abouttopics/about_tssrdplaunchersettings.md +++ b/docs/about_topics/secrets/about_tssrdplaunchersettings.md @@ -1,7 +1,5 @@ --- -category: secrets title: "TssRdpLauncherSettings" -last_modified_at: 2021-03-18T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsssecret.md b/docs/about_topics/secrets/about_tsssecret.md similarity index 97% rename from docs/collections/_abouttopics/about_tsssecret.md rename to docs/about_topics/secrets/about_tsssecret.md index e9bb537c..aef16268 100644 --- a/docs/collections/_abouttopics/about_tsssecret.md +++ b/docs/about_topics/secrets/about_tsssecret.md @@ -1,7 +1,5 @@ --- -category: secrets title: "TssSecretItem" -last_modified_at: 2021-03-17T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsssecretaudit.md b/docs/about_topics/secrets/about_tsssecretaudit.md similarity index 92% rename from docs/collections/_abouttopics/about_tsssecretaudit.md rename to docs/about_topics/secrets/about_tsssecretaudit.md index c7e3bfb7..6a16f5a1 100644 --- a/docs/collections/_abouttopics/about_tsssecretaudit.md +++ b/docs/about_topics/secrets/about_tsssecretaudit.md @@ -1,7 +1,5 @@ --- -category: secrets title: "TssSecretAudit" -last_modified_at: 2021-03-03T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsssecretdetailsettings.md b/docs/about_topics/secrets/about_tsssecretdetailsettings.md similarity index 93% rename from docs/collections/_abouttopics/about_tsssecretdetailsettings.md rename to docs/about_topics/secrets/about_tsssecretdetailsettings.md index de3ff90a..6fc884d3 100644 --- a/docs/collections/_abouttopics/about_tsssecretdetailsettings.md +++ b/docs/about_topics/secrets/about_tsssecretdetailsettings.md @@ -1,7 +1,5 @@ --- -category: secrets title: "TssSecretDetailSettings" -last_modified_at: 2021-03-18T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsssecretdetailstate.md b/docs/about_topics/secrets/about_tsssecretdetailstate.md similarity index 94% rename from docs/collections/_abouttopics/about_tsssecretdetailstate.md rename to docs/about_topics/secrets/about_tsssecretdetailstate.md index 76b99de9..3fb8f677 100644 --- a/docs/collections/_abouttopics/about_tsssecretdetailstate.md +++ b/docs/about_topics/secrets/about_tsssecretdetailstate.md @@ -1,7 +1,5 @@ --- -category: secrets title: "TssSecretDetailState" -last_modified_at: 2021-03-03T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsssecretheartbeatstatus.md b/docs/about_topics/secrets/about_tsssecretheartbeatstatus.md similarity index 88% rename from docs/collections/_abouttopics/about_tsssecretheartbeatstatus.md rename to docs/about_topics/secrets/about_tsssecretheartbeatstatus.md index 06f5acc3..2087253a 100644 --- a/docs/collections/_abouttopics/about_tsssecretheartbeatstatus.md +++ b/docs/about_topics/secrets/about_tsssecretheartbeatstatus.md @@ -1,7 +1,5 @@ --- -category: secrets title: "TssSecretHeartbeatStatus" -last_modified_at: 2021-03-18T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsssecretitem.md b/docs/about_topics/secrets/about_tsssecretitem.md similarity index 92% rename from docs/collections/_abouttopics/about_tsssecretitem.md rename to docs/about_topics/secrets/about_tsssecretitem.md index 9ec22b23..1ea006e5 100644 --- a/docs/collections/_abouttopics/about_tsssecretitem.md +++ b/docs/about_topics/secrets/about_tsssecretitem.md @@ -1,7 +1,5 @@ --- -category: secrets title: "TssSecretItem" -last_modified_at: 2021-03-17T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsssecretlookup.md b/docs/about_topics/secrets/about_tsssecretlookup.md similarity index 91% rename from docs/collections/_abouttopics/about_tsssecretlookup.md rename to docs/about_topics/secrets/about_tsssecretlookup.md index 65cee3e8..66320edb 100644 --- a/docs/collections/_abouttopics/about_tsssecretlookup.md +++ b/docs/about_topics/secrets/about_tsssecretlookup.md @@ -1,7 +1,5 @@ --- -category: secrets title: "TssSecretLookup" -last_modified_at: 2021-02-10T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsssecretpasswordstatus.md b/docs/about_topics/secrets/about_tsssecretpasswordstatus.md similarity index 89% rename from docs/collections/_abouttopics/about_tsssecretpasswordstatus.md rename to docs/about_topics/secrets/about_tsssecretpasswordstatus.md index 2390e20d..9de5ab97 100644 --- a/docs/collections/_abouttopics/about_tsssecretpasswordstatus.md +++ b/docs/about_topics/secrets/about_tsssecretpasswordstatus.md @@ -1,7 +1,5 @@ --- -category: secrets title: "TssSecretPasswordStatus" -last_modified_at: 2021-03-03T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsssecretsummary.md b/docs/about_topics/secrets/about_tsssecretsummary.md similarity index 96% rename from docs/collections/_abouttopics/about_tsssecretsummary.md rename to docs/about_topics/secrets/about_tsssecretsummary.md index 2fa770af..8dbc17f5 100644 --- a/docs/collections/_abouttopics/about_tsssecretsummary.md +++ b/docs/about_topics/secrets/about_tsssecretsummary.md @@ -1,7 +1,5 @@ --- -category: secrets title: "TssSecretSummary" -last_modified_at: 2021-03-07T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsssecretsummaryextendedfield.md b/docs/about_topics/secrets/about_tsssecretsummaryextendedfield.md similarity index 86% rename from docs/collections/_abouttopics/about_tsssecretsummaryextendedfield.md rename to docs/about_topics/secrets/about_tsssecretsummaryextendedfield.md index 93c2204f..79d4115d 100644 --- a/docs/collections/_abouttopics/about_tsssecretsummaryextendedfield.md +++ b/docs/about_topics/secrets/about_tsssecretsummaryextendedfield.md @@ -1,7 +1,5 @@ --- -category: secrets title: "TssSecretSummaryExtendedField" -last_modified_at: 2021-02-10T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tsssshlaunchersettings.md b/docs/about_topics/secrets/about_tsssshlaunchersettings.md similarity index 89% rename from docs/collections/_abouttopics/about_tsssshlaunchersettings.md rename to docs/about_topics/secrets/about_tsssshlaunchersettings.md index afef6fd5..43b2b9c3 100644 --- a/docs/collections/_abouttopics/about_tsssshlaunchersettings.md +++ b/docs/about_topics/secrets/about_tsssshlaunchersettings.md @@ -1,7 +1,5 @@ --- -category: secrets title: "TssSshLauncherSettings" -last_modified_at: 2021-03-18T00:00:00-00:00 --- # TOPIC diff --git a/docs/about_topics/secrets/readme.md b/docs/about_topics/secrets/readme.md new file mode 100644 index 00000000..b9cd8256 --- /dev/null +++ b/docs/about_topics/secrets/readme.md @@ -0,0 +1,3 @@ +# Secrets + +{% include list.liquid all=true %} \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tsscurrentuser.md b/docs/about_topics/users/about_tsscurrentuser.md similarity index 93% rename from docs/collections/_abouttopics/about_tsscurrentuser.md rename to docs/about_topics/users/about_tsscurrentuser.md index 68f994d3..edde020d 100644 --- a/docs/collections/_abouttopics/about_tsscurrentuser.md +++ b/docs/about_topics/users/about_tsscurrentuser.md @@ -1,7 +1,5 @@ --- -category: users title: "TssCurrentUser" -last_modified_at: 2021-03-03T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssmenulink.md b/docs/about_topics/users/about_tssmenulink.md similarity index 80% rename from docs/collections/_abouttopics/about_tssmenulink.md rename to docs/about_topics/users/about_tssmenulink.md index f3699b5b..2fbedd3d 100644 --- a/docs/collections/_abouttopics/about_tssmenulink.md +++ b/docs/about_topics/users/about_tssmenulink.md @@ -1,7 +1,5 @@ --- -category: users title: "TssMenuLink" -last_modified_at: 2021-03-03T00:00:00-00:00 --- # TOPIC @@ -29,5 +27,5 @@ last_modified_at: 2021-03-03T00:00:00-00:00 # METHODS # RELATED LINKS: - about_tsscurrentuser + TssCurrentUser Show-TssCurrentUser \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tssrolepermission.md b/docs/about_topics/users/about_tssrolepermission.md similarity index 80% rename from docs/collections/_abouttopics/about_tssrolepermission.md rename to docs/about_topics/users/about_tssrolepermission.md index c7ab53e4..d0249803 100644 --- a/docs/collections/_abouttopics/about_tssrolepermission.md +++ b/docs/about_topics/users/about_tssrolepermission.md @@ -1,7 +1,5 @@ --- -category: users title: "TssRolePermission" -last_modified_at: 2021-03-03T00:00:00-00:00 --- # TOPIC @@ -26,5 +24,5 @@ last_modified_at: 2021-03-03T00:00:00-00:00 # METHODS # RELATED LINKS: - about_tsscurrentuser + TssCurrentUser Show-TssCurrentUser \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tssrolesummary.md b/docs/about_topics/users/about_tssrolesummary.md similarity index 85% rename from docs/collections/_abouttopics/about_tssrolesummary.md rename to docs/about_topics/users/about_tssrolesummary.md index 6fc8089a..114a5466 100644 --- a/docs/collections/_abouttopics/about_tssrolesummary.md +++ b/docs/about_topics/users/about_tssrolesummary.md @@ -1,7 +1,5 @@ --- -category: roles,users title: "TssRoleSummary" -last_modified_at: 2021-03-03T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssuser.md b/docs/about_topics/users/about_tssuser.md similarity index 96% rename from docs/collections/_abouttopics/about_tssuser.md rename to docs/about_topics/users/about_tssuser.md index dc151688..0bbb74c5 100644 --- a/docs/collections/_abouttopics/about_tssuser.md +++ b/docs/about_topics/users/about_tssuser.md @@ -1,7 +1,5 @@ --- -category: users title: "TssUser" -last_modified_at: 2021-03-03T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssuserauditsummary.md b/docs/about_topics/users/about_tssuserauditsummary.md similarity index 91% rename from docs/collections/_abouttopics/about_tssuserauditsummary.md rename to docs/about_topics/users/about_tssuserauditsummary.md index 0377520d..2e8747d6 100644 --- a/docs/collections/_abouttopics/about_tssuserauditsummary.md +++ b/docs/about_topics/users/about_tssuserauditsummary.md @@ -1,7 +1,5 @@ --- -category: users title: "TssUserAuditSummary" -last_modified_at: 2021-03-18T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssuserlookup.md b/docs/about_topics/users/about_tssuserlookup.md similarity index 85% rename from docs/collections/_abouttopics/about_tssuserlookup.md rename to docs/about_topics/users/about_tssuserlookup.md index a060297f..a68c07e9 100644 --- a/docs/collections/_abouttopics/about_tssuserlookup.md +++ b/docs/about_topics/users/about_tssuserlookup.md @@ -1,7 +1,5 @@ --- -category: users title: "TssUserLookup" -last_modified_at: 2021-03-03T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssuserownersummary.md b/docs/about_topics/users/about_tssuserownersummary.md similarity index 79% rename from docs/collections/_abouttopics/about_tssuserownersummary.md rename to docs/about_topics/users/about_tssuserownersummary.md index 08b8de9b..28f3c78a 100644 --- a/docs/collections/_abouttopics/about_tssuserownersummary.md +++ b/docs/about_topics/users/about_tssuserownersummary.md @@ -1,19 +1,23 @@ -TOPIC +--- +title: "TssUserOwnerSummary" +--- + +# TOPIC This help topic describes the TssUserOwnerSummary class in the Thycotic.SecretServer module -CLASS +# CLASS TssUserOwnerSummary -INHERITANCE +# INHERITANCE None -DESCRIPTION +# DESCRIPTION The TssUserOwnerSummary class represents the UserOwnerSummary object returned by Secret Server endpoint GET /users/{id}/owners -CONSTRUCTORS +# CONSTRUCTORS new() -PROPERTIES +# PROPERTIES DomainId: integer (int32) Active Directory domain ID @@ -32,7 +36,7 @@ PROPERTIES UserId: integer (int32) User ID -METHODS +# METHODS -RELATED LINKS: +# RELATED LINKS: Get-TssUserOwner \ No newline at end of file diff --git a/docs/collections/_abouttopics/about_tssuserrolesummary.md b/docs/about_topics/users/about_tssuserrolesummary.md similarity index 88% rename from docs/collections/_abouttopics/about_tssuserrolesummary.md rename to docs/about_topics/users/about_tssuserrolesummary.md index e285af26..47ce837c 100644 --- a/docs/collections/_abouttopics/about_tssuserrolesummary.md +++ b/docs/about_topics/users/about_tssuserrolesummary.md @@ -1,7 +1,5 @@ --- -category: roles,users title: "TssUserRoleSummary" -last_modified_at: 2021-03-03T00:00:00-00:00 --- # TOPIC diff --git a/docs/collections/_abouttopics/about_tssusersummary.md b/docs/about_topics/users/about_tssusersummary.md similarity index 92% rename from docs/collections/_abouttopics/about_tssusersummary.md rename to docs/about_topics/users/about_tssusersummary.md index e2311fbe..a0c2e948 100644 --- a/docs/collections/_abouttopics/about_tssusersummary.md +++ b/docs/about_topics/users/about_tssusersummary.md @@ -1,7 +1,5 @@ --- -category: users title: "TssUserSummary" -last_modified_at: 2021-03-03T00:00:00-00:00 --- # TOPIC diff --git a/docs/about_topics/users/readme.md b/docs/about_topics/users/readme.md new file mode 100644 index 00000000..445710a1 --- /dev/null +++ b/docs/about_topics/users/readme.md @@ -0,0 +1,3 @@ +# Users + +{% include list.liquid all=true %} \ No newline at end of file diff --git a/docs/assets/css/main.scss b/docs/assets/css/main.scss deleted file mode 100644 index 23346e77..00000000 --- a/docs/assets/css/main.scss +++ /dev/null @@ -1,8 +0,0 @@ ---- -# Only the main Sass file needs front matter (the dashes are enough) ---- - -@charset "utf-8"; - -@import "minimal-mistakes/skins/{{ site.minimal_mistakes_skin | default: 'default' }}"; // skin -@import "minimal-mistakes"; // main partials \ No newline at end of file diff --git a/docs/assets/images/banner_symbol.png b/docs/assets/images/banner_symbol.png deleted file mode 100644 index 29b38df3..00000000 Binary files a/docs/assets/images/banner_symbol.png and /dev/null differ diff --git a/docs/assets/images/banner_symbol_title.png b/docs/assets/images/banner_symbol_title.png deleted file mode 100644 index c99f478f..00000000 Binary files a/docs/assets/images/banner_symbol_title.png and /dev/null differ diff --git a/docs/assets/images/banner_symbol_wborder.png b/docs/assets/images/banner_symbol_wborder.png deleted file mode 100644 index 7e146219..00000000 Binary files a/docs/assets/images/banner_symbol_wborder.png and /dev/null differ diff --git a/docs/assets/images/bio-photo.jpg b/docs/assets/images/bio-photo.jpg deleted file mode 100644 index 11ad489a..00000000 Binary files a/docs/assets/images/bio-photo.jpg and /dev/null differ diff --git a/docs/assets/images/favicon.png b/docs/assets/images/favicon.png deleted file mode 100644 index fa3ea8c3..00000000 Binary files a/docs/assets/images/favicon.png and /dev/null differ diff --git a/docs/assets/images/github.png b/docs/assets/images/github.png deleted file mode 100644 index 2e61d5d6..00000000 Binary files a/docs/assets/images/github.png and /dev/null differ diff --git a/docs/assets/images/help.png b/docs/assets/images/help.png deleted file mode 100644 index a71afd2b..00000000 Binary files a/docs/assets/images/help.png and /dev/null differ diff --git a/docs/assets/images/import.png b/docs/assets/images/import.png deleted file mode 100644 index 72f388be..00000000 Binary files a/docs/assets/images/import.png and /dev/null differ diff --git a/docs/assets/images/install.png b/docs/assets/images/install.png deleted file mode 100644 index 78014ecb..00000000 Binary files a/docs/assets/images/install.png and /dev/null differ diff --git a/docs/assets/images/linkedin.png b/docs/assets/images/linkedin.png deleted file mode 100644 index d524d17c..00000000 Binary files a/docs/assets/images/linkedin.png and /dev/null differ diff --git a/docs/assets/images/logo.png b/docs/assets/images/logo.png deleted file mode 100644 index 2d454f17..00000000 Binary files a/docs/assets/images/logo.png and /dev/null differ diff --git a/docs/assets/images/symbol.png b/docs/assets/images/symbol.png deleted file mode 100644 index 1a4b3cf8..00000000 Binary files a/docs/assets/images/symbol.png and /dev/null differ diff --git a/docs/assets/js/_main.js b/docs/assets/js/_main.js deleted file mode 100644 index 79f974d7..00000000 --- a/docs/assets/js/_main.js +++ /dev/null @@ -1,135 +0,0 @@ -/* ========================================================================== - jQuery plugin settings and other scripts - ========================================================================== */ - -$(document).ready(function() { - // Sticky footer - var bumpIt = function() { - $("body").css("margin-bottom", $(".page__footer").outerHeight(true)); - }; - - bumpIt(); - $(window).resize( - jQuery.throttle(250, function() { - bumpIt(); - }) - ); - - // FitVids init - $("#main").fitVids(); - - // Sticky sidebar - var stickySideBar = function() { - var show = - $(".author__urls-wrapper button").length === 0 - ? $(window).width() > 1024 // width should match $large Sass variable - : !$(".author__urls-wrapper button").is(":visible"); - if (show) { - // fix - $(".sidebar").addClass("sticky"); - } else { - // unfix - $(".sidebar").removeClass("sticky"); - } - }; - - stickySideBar(); - - $(window).resize(function() { - stickySideBar(); - }); - - // Follow menu drop down - $(".author__urls-wrapper button").on("click", function() { - $(".author__urls").toggleClass("is--visible"); - $(".author__urls-wrapper button").toggleClass("open"); - }); - - // Close search screen with Esc key - $(document).keyup(function(e) { - if (e.keyCode === 27) { - if ($(".initial-content").hasClass("is--hidden")) { - $(".search-content").toggleClass("is--visible"); - $(".initial-content").toggleClass("is--hidden"); - } - } - }); - - // Search toggle - $(".search__toggle").on("click", function() { - $(".search-content").toggleClass("is--visible"); - $(".initial-content").toggleClass("is--hidden"); - // set focus on input - setTimeout(function() { - $(".search-content input").focus(); - }, 400); - }); - - // Smooth scrolling - var scroll = new SmoothScroll('a[href*="#"]', { - offset: 20, - speed: 400, - speedAsDuration: true, - durationMax: 500 - }); - - // Gumshoe scroll spy init - if($("nav.toc").length > 0) { - var spy = new Gumshoe("nav.toc a", { - // Active classes - navClass: "active", // applied to the nav list item - contentClass: "active", // applied to the content - - // Nested navigation - nested: false, // if true, add classes to parents of active link - nestedClass: "active", // applied to the parent items - - // Offset & reflow - offset: 20, // how far from the top of the page to activate a content area - reflow: true, // if true, listen for reflows - - // Event support - events: true // if true, emit custom events - }); - } - - // add lightbox class to all image links - $( - "a[href$='.jpg'],a[href$='.jpeg'],a[href$='.JPG'],a[href$='.png'],a[href$='.gif']" - ).addClass("image-popup"); - - // Magnific-Popup options - $(".image-popup").magnificPopup({ - // disableOn: function() { - // if( $(window).width() < 500 ) { - // return false; - // } - // return true; - // }, - type: "image", - tLoading: "Loading image #%curr%...", - gallery: { - enabled: true, - navigateByImgClick: true, - preload: [0, 1] // Will preload 0 - before current, and 1 after the current image - }, - image: { - tError: 'Image #%curr% could not be loaded.' - }, - removalDelay: 500, // Delay in milliseconds before popup is removed - // Class that is added to body when popup is open. - // make it unique to apply your CSS animations just to this exact popup - mainClass: "mfp-zoom-in", - callbacks: { - beforeOpen: function() { - // just a hack that adds mfp-anim class to markup - this.st.image.markup = this.st.image.markup.replace( - "mfp-figure", - "mfp-figure mfp-with-anim" - ); - } - }, - closeOnContentClick: true, - midClick: true // allow opening popup on middle mouse click. Always set it to true if you don't provide alternative source. - }); -}); diff --git a/docs/assets/js/lunr/lunr-en.js b/docs/assets/js/lunr/lunr-en.js deleted file mode 100644 index 5a5814f3..00000000 --- a/docs/assets/js/lunr/lunr-en.js +++ /dev/null @@ -1,73 +0,0 @@ ---- -layout: null ---- - -var idx = lunr(function () { - this.field('title') - this.field('excerpt') - this.field('categories') - this.field('tags') - this.ref('id') - - this.pipeline.remove(lunr.trimmer) - - for (var item in store) { - this.add({ - title: store[item].title, - excerpt: store[item].excerpt, - categories: store[item].categories, - tags: store[item].tags, - id: item - }) - } -}); - -$(document).ready(function() { - $('input#search').on('keyup', function () { - var resultdiv = $('#results'); - var query = $(this).val().toLowerCase(); - var result = - idx.query(function (q) { - query.split(lunr.tokenizer.separator).forEach(function (term) { - q.term(term, { boost: 100 }) - if(query.lastIndexOf(" ") != query.length-1){ - q.term(term, { usePipeline: false, wildcard: lunr.Query.wildcard.TRAILING, boost: 10 }) - } - if (term != ""){ - q.term(term, { usePipeline: false, editDistance: 1, boost: 1 }) - } - }) - }); - resultdiv.empty(); - resultdiv.prepend('

'+result.length+' {{ site.data.ui-text[site.locale].results_found | default: "Result(s) found" }}

'); - for (var item in result) { - var ref = result[item].ref; - if(store[ref].teaser){ - var searchitem = - '
'+ - '
'+ - '

'+ - ''+store[ref].title+''+ - '

'+ - '
'+ - ''+ - '
'+ - '

'+store[ref].excerpt.split(" ").splice(0,20).join(" ")+'...

'+ - '
'+ - '
'; - } - else{ - var searchitem = - '
'+ - '
'+ - '

'+ - ''+store[ref].title+''+ - '

'+ - '

'+store[ref].excerpt.split(" ").splice(0,20).join(" ")+'...

'+ - '
'+ - '
'; - } - resultdiv.append(searchitem); - } - }); -}); diff --git a/docs/assets/js/lunr/lunr-gr.js b/docs/assets/js/lunr/lunr-gr.js deleted file mode 100644 index eb4daaef..00000000 --- a/docs/assets/js/lunr/lunr-gr.js +++ /dev/null @@ -1,526 +0,0 @@ ---- -layout: null ---- - -step1list = new Array(); -step1list["ΦΑΓΙΑ"] = "ΦΑ"; -step1list["ΦΑΓΙΟΥ"] = "ΦΑ"; -step1list["ΦΑΓΙΩΝ"] = "ΦΑ"; -step1list["ΣΚΑΓΙΑ"] = "ΣΚΑ"; -step1list["ΣΚΑΓΙΟΥ"] = "ΣΚΑ"; -step1list["ΣΚΑΓΙΩΝ"] = "ΣΚΑ"; -step1list["ΟΛΟΓΙΟΥ"] = "ΟΛΟ"; -step1list["ΟΛΟΓΙΑ"] = "ΟΛΟ"; -step1list["ΟΛΟΓΙΩΝ"] = "ΟΛΟ"; -step1list["ΣΟΓΙΟΥ"] = "ΣΟ"; -step1list["ΣΟΓΙΑ"] = "ΣΟ"; -step1list["ΣΟΓΙΩΝ"] = "ΣΟ"; -step1list["ΤΑΤΟΓΙΑ"] = "ΤΑΤΟ"; -step1list["ΤΑΤΟΓΙΟΥ"] = "ΤΑΤΟ"; -step1list["ΤΑΤΟΓΙΩΝ"] = "ΤΑΤΟ"; -step1list["ΚΡΕΑΣ"] = "ΚΡΕ"; -step1list["ΚΡΕΑΤΟΣ"] = "ΚΡΕ"; -step1list["ΚΡΕΑΤΑ"] = "ΚΡΕ"; -step1list["ΚΡΕΑΤΩΝ"] = "ΚΡΕ"; -step1list["ΠΕΡΑΣ"] = "ΠΕΡ"; -step1list["ΠΕΡΑΤΟΣ"] = "ΠΕΡ"; -step1list["ΠΕΡΑΤΑ"] = "ΠΕΡ"; -step1list["ΠΕΡΑΤΩΝ"] = "ΠΕΡ"; -step1list["ΤΕΡΑΣ"] = "ΤΕΡ"; -step1list["ΤΕΡΑΤΟΣ"] = "ΤΕΡ"; -step1list["ΤΕΡΑΤΑ"] = "ΤΕΡ"; -step1list["ΤΕΡΑΤΩΝ"] = "ΤΕΡ"; -step1list["ΦΩΣ"] = "ΦΩ"; -step1list["ΦΩΤΟΣ"] = "ΦΩ"; -step1list["ΦΩΤΑ"] = "ΦΩ"; -step1list["ΦΩΤΩΝ"] = "ΦΩ"; -step1list["ΚΑΘΕΣΤΩΣ"] = "ΚΑΘΕΣΤ"; -step1list["ΚΑΘΕΣΤΩΤΟΣ"] = "ΚΑΘΕΣΤ"; -step1list["ΚΑΘΕΣΤΩΤΑ"] = "ΚΑΘΕΣΤ"; -step1list["ΚΑΘΕΣΤΩΤΩΝ"] = "ΚΑΘΕΣΤ"; -step1list["ΓΕΓΟΝΟΣ"] = "ΓΕΓΟΝ"; -step1list["ΓΕΓΟΝΟΤΟΣ"] = "ΓΕΓΟΝ"; -step1list["ΓΕΓΟΝΟΤΑ"] = "ΓΕΓΟΝ"; -step1list["ΓΕΓΟΝΟΤΩΝ"] = "ΓΕΓΟΝ"; - -v = "[ΑΕΗΙΟΥΩ]"; -v2 = "[ΑΕΗΙΟΩ]" - -function stemWord(w) { - var stem; - var suffix; - var firstch; - var origword = w; - test1 = new Boolean(true); - - if(w.length < 4) { - return w; - } - - var re; - var re2; - var re3; - var re4; - - re = /(.*)(ΦΑΓΙΑ|ΦΑΓΙΟΥ|ΦΑΓΙΩΝ|ΣΚΑΓΙΑ|ΣΚΑΓΙΟΥ|ΣΚΑΓΙΩΝ|ΟΛΟΓΙΟΥ|ΟΛΟΓΙΑ|ΟΛΟΓΙΩΝ|ΣΟΓΙΟΥ|ΣΟΓΙΑ|ΣΟΓΙΩΝ|ΤΑΤΟΓΙΑ|ΤΑΤΟΓΙΟΥ|ΤΑΤΟΓΙΩΝ|ΚΡΕΑΣ|ΚΡΕΑΤΟΣ|ΚΡΕΑΤΑ|ΚΡΕΑΤΩΝ|ΠΕΡΑΣ|ΠΕΡΑΤΟΣ|ΠΕΡΑΤΑ|ΠΕΡΑΤΩΝ|ΤΕΡΑΣ|ΤΕΡΑΤΟΣ|ΤΕΡΑΤΑ|ΤΕΡΑΤΩΝ|ΦΩΣ|ΦΩΤΟΣ|ΦΩΤΑ|ΦΩΤΩΝ|ΚΑΘΕΣΤΩΣ|ΚΑΘΕΣΤΩΤΟΣ|ΚΑΘΕΣΤΩΤΑ|ΚΑΘΕΣΤΩΤΩΝ|ΓΕΓΟΝΟΣ|ΓΕΓΟΝΟΤΟΣ|ΓΕΓΟΝΟΤΑ|ΓΕΓΟΝΟΤΩΝ)$/; - - if(re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - w = stem + step1list[suffix]; - test1 = false; - } - - re = /^(.+?)(ΑΔΕΣ|ΑΔΩΝ)$/; - - if(re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - w = stem; - - reg1 = /(ΟΚ|ΜΑΜ|ΜΑΝ|ΜΠΑΜΠ|ΠΑΤΕΡ|ΓΙΑΓΙ|ΝΤΑΝΤ|ΚΥΡ|ΘΕΙ|ΠΕΘΕΡ)$/; - - if(!(reg1.test(w))) { - w = w + "ΑΔ"; - } - } - - re2 = /^(.+?)(ΕΔΕΣ|ΕΔΩΝ)$/; - - if(re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1]; - w = stem; - - exept2 = /(ΟΠ|ΙΠ|ΕΜΠ|ΥΠ|ΓΗΠ|ΔΑΠ|ΚΡΑΣΠ|ΜΙΛ)$/; - - if(exept2.test(w)) { - w = w + "ΕΔ"; - } - } - - re3 = /^(.+?)(ΟΥΔΕΣ|ΟΥΔΩΝ)$/; - - if(re3.test(w)) { - var fp = re3.exec(w); - stem = fp[1]; - w = stem; - - exept3 = /(ΑΡΚ|ΚΑΛΙΑΚ|ΠΕΤΑΛ|ΛΙΧ|ΠΛΕΞ|ΣΚ|Σ|ΦΛ|ΦΡ|ΒΕΛ|ΛΟΥΛ|ΧΝ|ΣΠ|ΤΡΑΓ|ΦΕ)$/; - - if(exept3.test(w)) { - w = w + "ΟΥΔ"; - } - } - - re4 = /^(.+?)(ΕΩΣ|ΕΩΝ)$/; - - if(re4.test(w)) { - var fp = re4.exec(w); - stem = fp[1]; - w = stem; - test1 = false; - - exept4 = /^(Θ|Δ|ΕΛ|ΓΑΛ|Ν|Π|ΙΔ|ΠΑΡ)$/; - - if(exept4.test(w)) { - w = w + "Ε"; - } - } - - re = /^(.+?)(ΙΑ|ΙΟΥ|ΙΩΝ)$/; - - if(re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - w = stem; - re2 = new RegExp(v + "$"); - test1 = false; - - if(re2.test(w)) { - w = stem + "Ι"; - } - } - - re = /^(.+?)(ΙΚΑ|ΙΚΟ|ΙΚΟΥ|ΙΚΩΝ)$/; - - if(re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - w = stem; - test1 = false; - - re2 = new RegExp(v + "$"); - exept5 = /^(ΑΛ|ΑΔ|ΕΝΔ|ΑΜΑΝ|ΑΜΜΟΧΑΛ|ΗΘ|ΑΝΗΘ|ΑΝΤΙΔ|ΦΥΣ|ΒΡΩΜ|ΓΕΡ|ΕΞΩΔ|ΚΑΛΠ|ΚΑΛΛΙΝ|ΚΑΤΑΔ|ΜΟΥΛ|ΜΠΑΝ|ΜΠΑΓΙΑΤ|ΜΠΟΛ|ΜΠΟΣ|ΝΙΤ|ΞΙΚ|ΣΥΝΟΜΗΛ|ΠΕΤΣ|ΠΙΤΣ|ΠΙΚΑΝΤ|ΠΛΙΑΤΣ|ΠΟΣΤΕΛΝ|ΠΡΩΤΟΔ|ΣΕΡΤ|ΣΥΝΑΔ|ΤΣΑΜ|ΥΠΟΔ|ΦΙΛΟΝ|ΦΥΛΟΔ|ΧΑΣ)$/; - - if((exept5.test(w)) || (re2.test(w))) { - w = w + "ΙΚ"; - } - } - - re = /^(.+?)(ΑΜΕ)$/; - re2 = /^(.+?)(ΑΓΑΜΕ|ΗΣΑΜΕ|ΟΥΣΑΜΕ|ΗΚΑΜΕ|ΗΘΗΚΑΜΕ)$/; - if(w == "ΑΓΑΜΕ") { - w = "ΑΓΑΜ"; - } - - if(re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1]; - w = stem; - test1 = false; - } - - if(re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - w = stem; - test1 = false; - - exept6 = /^(ΑΝΑΠ|ΑΠΟΘ|ΑΠΟΚ|ΑΠΟΣΤ|ΒΟΥΒ|ΞΕΘ|ΟΥΛ|ΠΕΘ|ΠΙΚΡ|ΠΟΤ|ΣΙΧ|Χ)$/; - - if(exept6.test(w)) { - w = w + "ΑΜ"; - } - } - - re2 = /^(.+?)(ΑΝΕ)$/; - re3 = /^(.+?)(ΑΓΑΝΕ|ΗΣΑΝΕ|ΟΥΣΑΝΕ|ΙΟΝΤΑΝΕ|ΙΟΤΑΝΕ|ΙΟΥΝΤΑΝΕ|ΟΝΤΑΝΕ|ΟΤΑΝΕ|ΟΥΝΤΑΝΕ|ΗΚΑΝΕ|ΗΘΗΚΑΝΕ)$/; - - if(re3.test(w)) { - var fp = re3.exec(w); - stem = fp[1]; - w = stem; - test1 = false; - - re3 = /^(ΤΡ|ΤΣ)$/; - - if(re3.test(w)) { - w = w + "ΑΓΑΝ"; - } - } - - if(re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1]; - w = stem; - test1 = false; - - re2 = new RegExp(v2 + "$"); - exept7 = /^(ΒΕΤΕΡ|ΒΟΥΛΚ|ΒΡΑΧΜ|Γ|ΔΡΑΔΟΥΜ|Θ|ΚΑΛΠΟΥΖ|ΚΑΣΤΕΛ|ΚΟΡΜΟΡ|ΛΑΟΠΛ|ΜΩΑΜΕΘ|Μ|ΜΟΥΣΟΥΛΜ|Ν|ΟΥΛ|Π|ΠΕΛΕΚ|ΠΛ|ΠΟΛΙΣ|ΠΟΡΤΟΛ|ΣΑΡΑΚΑΤΣ|ΣΟΥΛΤ|ΤΣΑΡΛΑΤ|ΟΡΦ|ΤΣΙΓΓ|ΤΣΟΠ|ΦΩΤΟΣΤΕΦ|Χ|ΨΥΧΟΠΛ|ΑΓ|ΟΡΦ|ΓΑΛ|ΓΕΡ|ΔΕΚ|ΔΙΠΛ|ΑΜΕΡΙΚΑΝ|ΟΥΡ|ΠΙΘ|ΠΟΥΡΙΤ|Σ|ΖΩΝΤ|ΙΚ|ΚΑΣΤ|ΚΟΠ|ΛΙΧ|ΛΟΥΘΗΡ|ΜΑΙΝΤ|ΜΕΛ|ΣΙΓ|ΣΠ|ΣΤΕΓ|ΤΡΑΓ|ΤΣΑΓ|Φ|ΕΡ|ΑΔΑΠ|ΑΘΙΓΓ|ΑΜΗΧ|ΑΝΙΚ|ΑΝΟΡΓ|ΑΠΗΓ|ΑΠΙΘ|ΑΤΣΙΓΓ|ΒΑΣ|ΒΑΣΚ|ΒΑΘΥΓΑΛ|ΒΙΟΜΗΧ|ΒΡΑΧΥΚ|ΔΙΑΤ|ΔΙΑΦ|ΕΝΟΡΓ|ΘΥΣ|ΚΑΠΝΟΒΙΟΜΗΧ|ΚΑΤΑΓΑΛ|ΚΛΙΒ|ΚΟΙΛΑΡΦ|ΛΙΒ|ΜΕΓΛΟΒΙΟΜΗΧ|ΜΙΚΡΟΒΙΟΜΗΧ|ΝΤΑΒ|ΞΗΡΟΚΛΙΒ|ΟΛΙΓΟΔΑΜ|ΟΛΟΓΑΛ|ΠΕΝΤΑΡΦ|ΠΕΡΗΦ|ΠΕΡΙΤΡ|ΠΛΑΤ|ΠΟΛΥΔΑΠ|ΠΟΛΥΜΗΧ|ΣΤΕΦ|ΤΑΒ|ΤΕΤ|ΥΠΕΡΗΦ|ΥΠΟΚΟΠ|ΧΑΜΗΛΟΔΑΠ|ΨΗΛΟΤΑΒ)$/; - - if((re2.test(w)) || (exept7.test(w))) { - w = w + "ΑΝ"; - } - } - - re3 = /^(.+?)(ΕΤΕ)$/; - re4 = /^(.+?)(ΗΣΕΤΕ)$/; - - if(re4.test(w)) { - var fp = re4.exec(w); - stem = fp[1]; - w = stem; - test1 = false; - } - - if(re3.test(w)) { - var fp = re3.exec(w); - stem = fp[1]; - w = stem; - test1 = false; - - re3 = new RegExp(v2 + "$"); - exept8 = /(ΟΔ|ΑΙΡ|ΦΟΡ|ΤΑΘ|ΔΙΑΘ|ΣΧ|ΕΝΔ|ΕΥΡ|ΤΙΘ|ΥΠΕΡΘ|ΡΑΘ|ΕΝΘ|ΡΟΘ|ΣΘ|ΠΥΡ|ΑΙΝ|ΣΥΝΔ|ΣΥΝ|ΣΥΝΘ|ΧΩΡ|ΠΟΝ|ΒΡ|ΚΑΘ|ΕΥΘ|ΕΚΘ|ΝΕΤ|ΡΟΝ|ΑΡΚ|ΒΑΡ|ΒΟΛ|ΩΦΕΛ)$/; - exept9 = /^(ΑΒΑΡ|ΒΕΝ|ΕΝΑΡ|ΑΒΡ|ΑΔ|ΑΘ|ΑΝ|ΑΠΛ|ΒΑΡΟΝ|ΝΤΡ|ΣΚ|ΚΟΠ|ΜΠΟΡ|ΝΙΦ|ΠΑΓ|ΠΑΡΑΚΑΛ|ΣΕΡΠ|ΣΚΕΛ|ΣΥΡΦ|ΤΟΚ|Υ|Δ|ΕΜ|ΘΑΡΡ|Θ)$/; - - if((re3.test(w)) || (exept8.test(w)) || (exept9.test(w))) { - w = w + "ΕΤ"; - } - } - - re = /^(.+?)(ΟΝΤΑΣ|ΩΝΤΑΣ)$/; - - if(re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - w = stem; - test1 = false; - - exept10 = /^(ΑΡΧ)$/; - exept11 = /(ΚΡΕ)$/; - if(exept10.test(w)) { - w = w + "ΟΝΤ"; - } - if(exept11.test(w)) { - w = w + "ΩΝΤ"; - } - } - - re = /^(.+?)(ΟΜΑΣΤΕ|ΙΟΜΑΣΤΕ)$/; - - if(re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - w = stem; - test1 = false; - - exept11 = /^(ΟΝ)$/; - - if(exept11.test(w)) { - w = w + "ΟΜΑΣΤ"; - } - } - - re = /^(.+?)(ΕΣΤΕ)$/; - re2 = /^(.+?)(ΙΕΣΤΕ)$/; - - if(re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1]; - w = stem; - test1 = false; - - re2 = /^(Π|ΑΠ|ΣΥΜΠ|ΑΣΥΜΠ|ΑΚΑΤΑΠ|ΑΜΕΤΑΜΦ)$/; - - if(re2.test(w)) { - w = w + "ΙΕΣΤ"; - } - } - - if(re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - w = stem; - test1 = false; - - exept12 = /^(ΑΛ|ΑΡ|ΕΚΤΕΛ|Ζ|Μ|Ξ|ΠΑΡΑΚΑΛ|ΑΡ|ΠΡΟ|ΝΙΣ)$/; - - if(exept12.test(w)) { - w = w + "ΕΣΤ"; - } - } - - re = /^(.+?)(ΗΚΑ|ΗΚΕΣ|ΗΚΕ)$/; - re2 = /^(.+?)(ΗΘΗΚΑ|ΗΘΗΚΕΣ|ΗΘΗΚΕ)$/; - - if(re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1]; - w = stem; - test1 = false; - } - - if(re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - w = stem; - test1 = false; - - exept13 = /(ΣΚΩΛ|ΣΚΟΥΛ|ΝΑΡΘ|ΣΦ|ΟΘ|ΠΙΘ)$/; - exept14 = /^(ΔΙΑΘ|Θ|ΠΑΡΑΚΑΤΑΘ|ΠΡΟΣΘ|ΣΥΝΘ|)$/; - - if((exept13.test(w)) || (exept14.test(w))) { - w = w + "ΗΚ"; - } - } - - re = /^(.+?)(ΟΥΣΑ|ΟΥΣΕΣ|ΟΥΣΕ)$/; - - if(re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - w = stem; - test1 = false; - - exept15 = /^(ΦΑΡΜΑΚ|ΧΑΔ|ΑΓΚ|ΑΝΑΡΡ|ΒΡΟΜ|ΕΚΛΙΠ|ΛΑΜΠΙΔ|ΛΕΧ|Μ|ΠΑΤ|Ρ|Λ|ΜΕΔ|ΜΕΣΑΖ|ΥΠΟΤΕΙΝ|ΑΜ|ΑΙΘ|ΑΝΗΚ|ΔΕΣΠΟΖ|ΕΝΔΙΑΦΕΡ|ΔΕ|ΔΕΥΤΕΡΕΥ|ΚΑΘΑΡΕΥ|ΠΛΕ|ΤΣΑ)$/; - exept16 = /(ΠΟΔΑΡ|ΒΛΕΠ|ΠΑΝΤΑΧ|ΦΡΥΔ|ΜΑΝΤΙΛ|ΜΑΛΛ|ΚΥΜΑΤ|ΛΑΧ|ΛΗΓ|ΦΑΓ|ΟΜ|ΠΡΩΤ)$/; - - if((exept15.test(w)) || (exept16.test(w))) { - w = w + "ΟΥΣ"; - } - } - - re = /^(.+?)(ΑΓΑ|ΑΓΕΣ|ΑΓΕ)$/; - - if(re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - w = stem; - test1 = false; - - exept17 = /^(ΨΟΦ|ΝΑΥΛΟΧ)$/; - exept20 = /(ΚΟΛΛ)$/; - exept18 = /^(ΑΒΑΣΤ|ΠΟΛΥΦ|ΑΔΗΦ|ΠΑΜΦ|Ρ|ΑΣΠ|ΑΦ|ΑΜΑΛ|ΑΜΑΛΛΙ|ΑΝΥΣΤ|ΑΠΕΡ|ΑΣΠΑΡ|ΑΧΑΡ|ΔΕΡΒΕΝ|ΔΡΟΣΟΠ|ΞΕΦ|ΝΕΟΠ|ΝΟΜΟΤ|ΟΛΟΠ|ΟΜΟΤ|ΠΡΟΣΤ|ΠΡΟΣΩΠΟΠ|ΣΥΜΠ|ΣΥΝΤ|Τ|ΥΠΟΤ|ΧΑΡ|ΑΕΙΠ|ΑΙΜΟΣΤ|ΑΝΥΠ|ΑΠΟΤ|ΑΡΤΙΠ|ΔΙΑΤ|ΕΝ|ΕΠΙΤ|ΚΡΟΚΑΛΟΠ|ΣΙΔΗΡΟΠ|Λ|ΝΑΥ|ΟΥΛΑΜ|ΟΥΡ|Π|ΤΡ|Μ)$/; - exept19 = /(ΟΦ|ΠΕΛ|ΧΟΡΤ|ΛΛ|ΣΦ|ΡΠ|ΦΡ|ΠΡ|ΛΟΧ|ΣΜΗΝ)$/; - - if(((exept18.test(w)) || (exept19.test(w))) && !((exept17.test(w)) || (exept20.test(w)))) { - w = w + "ΑΓ"; - } - } - - re = /^(.+?)(ΗΣΕ|ΗΣΟΥ|ΗΣΑ)$/; - - if(re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - w = stem; - test1 = false; - - exept21 = /^(Ν|ΧΕΡΣΟΝ|ΔΩΔΕΚΑΝ|ΕΡΗΜΟΝ|ΜΕΓΑΛΟΝ|ΕΠΤΑΝ)$/; - - if(exept21.test(w)) { - w = w + "ΗΣ"; - } - } - - re = /^(.+?)(ΗΣΤΕ)$/; - - if(re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - w = stem; - test1 = false; - - exept22 = /^(ΑΣΒ|ΣΒ|ΑΧΡ|ΧΡ|ΑΠΛ|ΑΕΙΜΝ|ΔΥΣΧΡ|ΕΥΧΡ|ΚΟΙΝΟΧΡ|ΠΑΛΙΜΨ)$/; - - if(exept22.test(w)) { - w = w + "ΗΣΤ"; - } - } - - re = /^(.+?)(ΟΥΝΕ|ΗΣΟΥΝΕ|ΗΘΟΥΝΕ)$/; - - if(re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - w = stem; - test1 = false; - - exept23 = /^(Ν|Ρ|ΣΠΙ|ΣΤΡΑΒΟΜΟΥΤΣ|ΚΑΚΟΜΟΥΤΣ|ΕΞΩΝ)$/; - - if(exept23.test(w)) { - w = w + "ΟΥΝ"; - } - } - - re = /^(.+?)(ΟΥΜΕ|ΗΣΟΥΜΕ|ΗΘΟΥΜΕ)$/; - - if(re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - w = stem; - test1 = false; - - exept24 = /^(ΠΑΡΑΣΟΥΣ|Φ|Χ|ΩΡΙΟΠΛ|ΑΖ|ΑΛΛΟΣΟΥΣ|ΑΣΟΥΣ)$/; - - if(exept24.test(w)) { - w = w + "ΟΥΜ"; - } - } - - re = /^(.+?)(ΜΑΤΑ|ΜΑΤΩΝ|ΜΑΤΟΣ)$/; - re2 = /^(.+?)(Α|ΑΓΑΤΕ|ΑΓΑΝ|ΑΕΙ|ΑΜΑΙ|ΑΝ|ΑΣ|ΑΣΑΙ|ΑΤΑΙ|ΑΩ|Ε|ΕΙ|ΕΙΣ|ΕΙΤΕ|ΕΣΑΙ|ΕΣ|ΕΤΑΙ|Ι|ΙΕΜΑΙ|ΙΕΜΑΣΤΕ|ΙΕΤΑΙ|ΙΕΣΑΙ|ΙΕΣΑΣΤΕ|ΙΟΜΑΣΤΑΝ|ΙΟΜΟΥΝ|ΙΟΜΟΥΝΑ|ΙΟΝΤΑΝ|ΙΟΝΤΟΥΣΑΝ|ΙΟΣΑΣΤΑΝ|ΙΟΣΑΣΤΕ|ΙΟΣΟΥΝ|ΙΟΣΟΥΝΑ|ΙΟΤΑΝ|ΙΟΥΜΑ|ΙΟΥΜΑΣΤΕ|ΙΟΥΝΤΑΙ|ΙΟΥΝΤΑΝ|Η|ΗΔΕΣ|ΗΔΩΝ|ΗΘΕΙ|ΗΘΕΙΣ|ΗΘΕΙΤΕ|ΗΘΗΚΑΤΕ|ΗΘΗΚΑΝ|ΗΘΟΥΝ|ΗΘΩ|ΗΚΑΤΕ|ΗΚΑΝ|ΗΣ|ΗΣΑΝ|ΗΣΑΤΕ|ΗΣΕΙ|ΗΣΕΣ|ΗΣΟΥΝ|ΗΣΩ|Ο|ΟΙ|ΟΜΑΙ|ΟΜΑΣΤΑΝ|ΟΜΟΥΝ|ΟΜΟΥΝΑ|ΟΝΤΑΙ|ΟΝΤΑΝ|ΟΝΤΟΥΣΑΝ|ΟΣ|ΟΣΑΣΤΑΝ|ΟΣΑΣΤΕ|ΟΣΟΥΝ|ΟΣΟΥΝΑ|ΟΤΑΝ|ΟΥ|ΟΥΜΑΙ|ΟΥΜΑΣΤΕ|ΟΥΝ|ΟΥΝΤΑΙ|ΟΥΝΤΑΝ|ΟΥΣ|ΟΥΣΑΝ|ΟΥΣΑΤΕ|Υ|ΥΣ|Ω|ΩΝ)$/; - - if(re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - w = stem + "ΜΑ"; - } - - if((re2.test(w)) && (test1)) { - var fp = re2.exec(w); - stem = fp[1]; - w = stem; - - } - - re = /^(.+?)(ΕΣΤΕΡ|ΕΣΤΑΤ|ΟΤΕΡ|ΟΤΑΤ|ΥΤΕΡ|ΥΤΑΤ|ΩΤΕΡ|ΩΤΑΤ)$/; - - if(re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - w = stem; - } - - return w; -}; - -var greekStemmer = function (token) { - return token.update(function (word) { - return stemWord(word); - }) -} - -var idx = lunr(function () { - this.field('title') - this.field('excerpt') - this.field('categories') - this.field('tags') - this.ref('id') - - this.pipeline.remove(lunr.trimmer) - this.pipeline.add(greekStemmer) - this.pipeline.remove(lunr.stemmer) - - for (var item in store) { - this.add({ - title: store[item].title, - excerpt: store[item].excerpt, - categories: store[item].categories, - tags: store[item].tags, - id: item - }) - } -}); - -$(document).ready(function() { - $('input#search').on('keyup', function () { - var resultdiv = $('#results'); - var query = $(this).val().toLowerCase(); - var result = - idx.query(function (q) { - query.split(lunr.tokenizer.separator).forEach(function (term) { - q.term(term, { boost: 100 }) - if(query.lastIndexOf(" ") != query.length-1){ - q.term(term, { usePipeline: false, wildcard: lunr.Query.wildcard.TRAILING, boost: 10 }) - } - if (term != ""){ - q.term(term, { usePipeline: false, editDistance: 1, boost: 1 }) - } - }) - }); - resultdiv.empty(); - resultdiv.prepend('

'+result.length+' {{ site.data.ui-text[site.locale].results_found | default: "Result(s) found" }}

'); - for (var item in result) { - var ref = result[item].ref; - if(store[ref].teaser){ - var searchitem = - '
'+ - '
'+ - '

'+ - ''+store[ref].title+''+ - '

'+ - '
'+ - ''+ - '
'+ - '

'+store[ref].excerpt.split(" ").splice(0,20).join(" ")+'...

'+ - '
'+ - '
'; - } - else{ - var searchitem = - '
'+ - '
'+ - '

'+ - ''+store[ref].title+''+ - '

'+ - '

'+store[ref].excerpt.split(" ").splice(0,20).join(" ")+'...

'+ - '
'+ - '
'; - } - resultdiv.append(searchitem); - } - }); -}); diff --git a/docs/assets/js/lunr/lunr-store.js b/docs/assets/js/lunr/lunr-store.js deleted file mode 100644 index 660e9f2b..00000000 --- a/docs/assets/js/lunr/lunr-store.js +++ /dev/null @@ -1,54 +0,0 @@ ---- -layout: null ---- - -var store = [ - {%- for c in site.collections -%} - {%- if forloop.last -%} - {%- assign l = true -%} - {%- endif -%} - {%- assign docs = c.docs | where_exp:'doc','doc.search != false' -%} - {%- for doc in docs -%} - {%- if doc.header.teaser -%} - {%- capture teaser -%}{{ doc.header.teaser }}{%- endcapture -%} - {%- else -%} - {%- assign teaser = site.teaser -%} - {%- endif -%} - { - "title": {{ doc.title | jsonify }}, - "excerpt": - {%- if site.search_full_content == true -%} - {{ doc.content | newline_to_br | - replace:"
", " " | - replace:"

", " " | - replace:"", " " | - replace:"", " " | - replace:"", " " | - replace:"", " " | - replace:"", " " | - replace:"", " "| - strip_html | strip_newlines | jsonify }}, - {%- else -%} - {{ doc.content | newline_to_br | - replace:"
", " " | - replace:"

", " " | - replace:"", " " | - replace:"", " " | - replace:"", " " | - replace:"", " " | - replace:"", " " | - replace:"", " "| - strip_html | strip_newlines | truncatewords: 50 | jsonify }}, - {%- endif -%} - "categories": {{ doc.categories | jsonify }}, - "tags": {{ doc.tags | jsonify }}, - "url": {{ doc.url | absolute_url | jsonify }}, - "teaser": - {%- if teaser contains "://" -%} - {{ teaser | jsonify }} - {%- else -%} - {{ teaser | absolute_url | jsonify }} - {%- endif -%} - }{%- unless forloop.last and l -%},{%- endunless -%} - {%- endfor -%} - {%- endfor -%}] diff --git a/docs/assets/js/lunr/lunr.js b/docs/assets/js/lunr/lunr.js deleted file mode 100644 index b37984ab..00000000 --- a/docs/assets/js/lunr/lunr.js +++ /dev/null @@ -1,3484 +0,0 @@ -/** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.5 - * Copyright (C) 2018 Oliver Nightingale - * @license MIT - */ - -;(function(){ - -/** - * A convenience function for configuring and constructing - * a new lunr Index. - * - * A lunr.Builder instance is created and the pipeline setup - * with a trimmer, stop word filter and stemmer. - * - * This builder object is yielded to the configuration function - * that is passed as a parameter, allowing the list of fields - * and other builder parameters to be customised. - * - * All documents _must_ be added within the passed config function. - * - * @example - * var idx = lunr(function () { - * this.field('title') - * this.field('body') - * this.ref('id') - * - * documents.forEach(function (doc) { - * this.add(doc) - * }, this) - * }) - * - * @see {@link lunr.Builder} - * @see {@link lunr.Pipeline} - * @see {@link lunr.trimmer} - * @see {@link lunr.stopWordFilter} - * @see {@link lunr.stemmer} - * @namespace {function} lunr - */ -var lunr = function (config) { - var builder = new lunr.Builder - - builder.pipeline.add( - lunr.trimmer, - lunr.stopWordFilter, - lunr.stemmer - ) - - builder.searchPipeline.add( - lunr.stemmer - ) - - config.call(builder, builder) - return builder.build() -} - -lunr.version = "2.3.5" -/*! - * lunr.utils - * Copyright (C) 2018 Oliver Nightingale - */ - -/** - * A namespace containing utils for the rest of the lunr library - * @namespace lunr.utils - */ -lunr.utils = {} - -/** - * Print a warning message to the console. - * - * @param {String} message The message to be printed. - * @memberOf lunr.utils - * @function - */ -lunr.utils.warn = (function (global) { - /* eslint-disable no-console */ - return function (message) { - if (global.console && console.warn) { - console.warn(message) - } - } - /* eslint-enable no-console */ -})(this) - -/** - * Convert an object to a string. - * - * In the case of `null` and `undefined` the function returns - * the empty string, in all other cases the result of calling - * `toString` on the passed object is returned. - * - * @param {Any} obj The object to convert to a string. - * @return {String} string representation of the passed object. - * @memberOf lunr.utils - */ -lunr.utils.asString = function (obj) { - if (obj === void 0 || obj === null) { - return "" - } else { - return obj.toString() - } -} - -/** - * Clones an object. - * - * Will create a copy of an existing object such that any mutations - * on the copy cannot affect the original. - * - * Only shallow objects are supported, passing a nested object to this - * function will cause a TypeError. - * - * Objects with primitives, and arrays of primitives are supported. - * - * @param {Object} obj The object to clone. - * @return {Object} a clone of the passed object. - * @throws {TypeError} when a nested object is passed. - * @memberOf Utils - */ -lunr.utils.clone = function (obj) { - if (obj === null || obj === undefined) { - return obj - } - - var clone = Object.create(null), - keys = Object.keys(obj) - - for (var i = 0; i < keys.length; i++) { - var key = keys[i], - val = obj[key] - - if (Array.isArray(val)) { - clone[key] = val.slice() - continue - } - - if (typeof val === 'string' || - typeof val === 'number' || - typeof val === 'boolean') { - clone[key] = val - continue - } - - throw new TypeError("clone is not deep and does not support nested objects") - } - - return clone -} -lunr.FieldRef = function (docRef, fieldName, stringValue) { - this.docRef = docRef - this.fieldName = fieldName - this._stringValue = stringValue -} - -lunr.FieldRef.joiner = "/" - -lunr.FieldRef.fromString = function (s) { - var n = s.indexOf(lunr.FieldRef.joiner) - - if (n === -1) { - throw "malformed field ref string" - } - - var fieldRef = s.slice(0, n), - docRef = s.slice(n + 1) - - return new lunr.FieldRef (docRef, fieldRef, s) -} - -lunr.FieldRef.prototype.toString = function () { - if (this._stringValue == undefined) { - this._stringValue = this.fieldName + lunr.FieldRef.joiner + this.docRef - } - - return this._stringValue -} -/*! - * lunr.Set - * Copyright (C) 2018 Oliver Nightingale - */ - -/** - * A lunr set. - * - * @constructor - */ -lunr.Set = function (elements) { - this.elements = Object.create(null) - - if (elements) { - this.length = elements.length - - for (var i = 0; i < this.length; i++) { - this.elements[elements[i]] = true - } - } else { - this.length = 0 - } -} - -/** - * A complete set that contains all elements. - * - * @static - * @readonly - * @type {lunr.Set} - */ -lunr.Set.complete = { - intersect: function (other) { - return other - }, - - union: function (other) { - return other - }, - - contains: function () { - return true - } -} - -/** - * An empty set that contains no elements. - * - * @static - * @readonly - * @type {lunr.Set} - */ -lunr.Set.empty = { - intersect: function () { - return this - }, - - union: function (other) { - return other - }, - - contains: function () { - return false - } -} - -/** - * Returns true if this set contains the specified object. - * - * @param {object} object - Object whose presence in this set is to be tested. - * @returns {boolean} - True if this set contains the specified object. - */ -lunr.Set.prototype.contains = function (object) { - return !!this.elements[object] -} - -/** - * Returns a new set containing only the elements that are present in both - * this set and the specified set. - * - * @param {lunr.Set} other - set to intersect with this set. - * @returns {lunr.Set} a new set that is the intersection of this and the specified set. - */ - -lunr.Set.prototype.intersect = function (other) { - var a, b, elements, intersection = [] - - if (other === lunr.Set.complete) { - return this - } - - if (other === lunr.Set.empty) { - return other - } - - if (this.length < other.length) { - a = this - b = other - } else { - a = other - b = this - } - - elements = Object.keys(a.elements) - - for (var i = 0; i < elements.length; i++) { - var element = elements[i] - if (element in b.elements) { - intersection.push(element) - } - } - - return new lunr.Set (intersection) -} - -/** - * Returns a new set combining the elements of this and the specified set. - * - * @param {lunr.Set} other - set to union with this set. - * @return {lunr.Set} a new set that is the union of this and the specified set. - */ - -lunr.Set.prototype.union = function (other) { - if (other === lunr.Set.complete) { - return lunr.Set.complete - } - - if (other === lunr.Set.empty) { - return this - } - - return new lunr.Set(Object.keys(this.elements).concat(Object.keys(other.elements))) -} -/** - * A function to calculate the inverse document frequency for - * a posting. This is shared between the builder and the index - * - * @private - * @param {object} posting - The posting for a given term - * @param {number} documentCount - The total number of documents. - */ -lunr.idf = function (posting, documentCount) { - var documentsWithTerm = 0 - - for (var fieldName in posting) { - if (fieldName == '_index') continue // Ignore the term index, its not a field - documentsWithTerm += Object.keys(posting[fieldName]).length - } - - var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5) - - return Math.log(1 + Math.abs(x)) -} - -/** - * A token wraps a string representation of a token - * as it is passed through the text processing pipeline. - * - * @constructor - * @param {string} [str=''] - The string token being wrapped. - * @param {object} [metadata={}] - Metadata associated with this token. - */ -lunr.Token = function (str, metadata) { - this.str = str || "" - this.metadata = metadata || {} -} - -/** - * Returns the token string that is being wrapped by this object. - * - * @returns {string} - */ -lunr.Token.prototype.toString = function () { - return this.str -} - -/** - * A token update function is used when updating or optionally - * when cloning a token. - * - * @callback lunr.Token~updateFunction - * @param {string} str - The string representation of the token. - * @param {Object} metadata - All metadata associated with this token. - */ - -/** - * Applies the given function to the wrapped string token. - * - * @example - * token.update(function (str, metadata) { - * return str.toUpperCase() - * }) - * - * @param {lunr.Token~updateFunction} fn - A function to apply to the token string. - * @returns {lunr.Token} - */ -lunr.Token.prototype.update = function (fn) { - this.str = fn(this.str, this.metadata) - return this -} - -/** - * Creates a clone of this token. Optionally a function can be - * applied to the cloned token. - * - * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token. - * @returns {lunr.Token} - */ -lunr.Token.prototype.clone = function (fn) { - fn = fn || function (s) { return s } - return new lunr.Token (fn(this.str, this.metadata), this.metadata) -} -/*! - * lunr.tokenizer - * Copyright (C) 2018 Oliver Nightingale - */ - -/** - * A function for splitting a string into tokens ready to be inserted into - * the search index. Uses `lunr.tokenizer.separator` to split strings, change - * the value of this property to change how strings are split into tokens. - * - * This tokenizer will convert its parameter to a string by calling `toString` and - * then will split this string on the character in `lunr.tokenizer.separator`. - * Arrays will have their elements converted to strings and wrapped in a lunr.Token. - * - * Optional metadata can be passed to the tokenizer, this metadata will be cloned and - * added as metadata to every token that is created from the object to be tokenized. - * - * @static - * @param {?(string|object|object[])} obj - The object to convert into tokens - * @param {?object} metadata - Optional metadata to associate with every token - * @returns {lunr.Token[]} - * @see {@link lunr.Pipeline} - */ -lunr.tokenizer = function (obj, metadata) { - if (obj == null || obj == undefined) { - return [] - } - - if (Array.isArray(obj)) { - return obj.map(function (t) { - return new lunr.Token( - lunr.utils.asString(t).toLowerCase(), - lunr.utils.clone(metadata) - ) - }) - } - - var str = obj.toString().trim().toLowerCase(), - len = str.length, - tokens = [] - - for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) { - var char = str.charAt(sliceEnd), - sliceLength = sliceEnd - sliceStart - - if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) { - - if (sliceLength > 0) { - var tokenMetadata = lunr.utils.clone(metadata) || {} - tokenMetadata["position"] = [sliceStart, sliceLength] - tokenMetadata["index"] = tokens.length - - tokens.push( - new lunr.Token ( - str.slice(sliceStart, sliceEnd), - tokenMetadata - ) - ) - } - - sliceStart = sliceEnd + 1 - } - - } - - return tokens -} - -/** - * The separator used to split a string into tokens. Override this property to change the behaviour of - * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens. - * - * @static - * @see lunr.tokenizer - */ -lunr.tokenizer.separator = /[\s\-]+/ -/*! - * lunr.Pipeline - * Copyright (C) 2018 Oliver Nightingale - */ - -/** - * lunr.Pipelines maintain an ordered list of functions to be applied to all - * tokens in documents entering the search index and queries being ran against - * the index. - * - * An instance of lunr.Index created with the lunr shortcut will contain a - * pipeline with a stop word filter and an English language stemmer. Extra - * functions can be added before or after either of these functions or these - * default functions can be removed. - * - * When run the pipeline will call each function in turn, passing a token, the - * index of that token in the original list of all tokens and finally a list of - * all the original tokens. - * - * The output of functions in the pipeline will be passed to the next function - * in the pipeline. To exclude a token from entering the index the function - * should return undefined, the rest of the pipeline will not be called with - * this token. - * - * For serialisation of pipelines to work, all functions used in an instance of - * a pipeline should be registered with lunr.Pipeline. Registered functions can - * then be loaded. If trying to load a serialised pipeline that uses functions - * that are not registered an error will be thrown. - * - * If not planning on serialising the pipeline then registering pipeline functions - * is not necessary. - * - * @constructor - */ -lunr.Pipeline = function () { - this._stack = [] -} - -lunr.Pipeline.registeredFunctions = Object.create(null) - -/** - * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token - * string as well as all known metadata. A pipeline function can mutate the token string - * or mutate (or add) metadata for a given token. - * - * A pipeline function can indicate that the passed token should be discarded by returning - * null. This token will not be passed to any downstream pipeline functions and will not be - * added to the index. - * - * Multiple tokens can be returned by returning an array of tokens. Each token will be passed - * to any downstream pipeline functions and all will returned tokens will be added to the index. - * - * Any number of pipeline functions may be chained together using a lunr.Pipeline. - * - * @interface lunr.PipelineFunction - * @param {lunr.Token} token - A token from the document being processed. - * @param {number} i - The index of this token in the complete list of tokens for this document/field. - * @param {lunr.Token[]} tokens - All tokens for this document/field. - * @returns {(?lunr.Token|lunr.Token[])} - */ - -/** - * Register a function with the pipeline. - * - * Functions that are used in the pipeline should be registered if the pipeline - * needs to be serialised, or a serialised pipeline needs to be loaded. - * - * Registering a function does not add it to a pipeline, functions must still be - * added to instances of the pipeline for them to be used when running a pipeline. - * - * @param {lunr.PipelineFunction} fn - The function to check for. - * @param {String} label - The label to register this function with - */ -lunr.Pipeline.registerFunction = function (fn, label) { - if (label in this.registeredFunctions) { - lunr.utils.warn('Overwriting existing registered function: ' + label) - } - - fn.label = label - lunr.Pipeline.registeredFunctions[fn.label] = fn -} - -/** - * Warns if the function is not registered as a Pipeline function. - * - * @param {lunr.PipelineFunction} fn - The function to check for. - * @private - */ -lunr.Pipeline.warnIfFunctionNotRegistered = function (fn) { - var isRegistered = fn.label && (fn.label in this.registeredFunctions) - - if (!isRegistered) { - lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\n', fn) - } -} - -/** - * Loads a previously serialised pipeline. - * - * All functions to be loaded must already be registered with lunr.Pipeline. - * If any function from the serialised data has not been registered then an - * error will be thrown. - * - * @param {Object} serialised - The serialised pipeline to load. - * @returns {lunr.Pipeline} - */ -lunr.Pipeline.load = function (serialised) { - var pipeline = new lunr.Pipeline - - serialised.forEach(function (fnName) { - var fn = lunr.Pipeline.registeredFunctions[fnName] - - if (fn) { - pipeline.add(fn) - } else { - throw new Error('Cannot load unregistered function: ' + fnName) - } - }) - - return pipeline -} - -/** - * Adds new functions to the end of the pipeline. - * - * Logs a warning if the function has not been registered. - * - * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline. - */ -lunr.Pipeline.prototype.add = function () { - var fns = Array.prototype.slice.call(arguments) - - fns.forEach(function (fn) { - lunr.Pipeline.warnIfFunctionNotRegistered(fn) - this._stack.push(fn) - }, this) -} - -/** - * Adds a single function after a function that already exists in the - * pipeline. - * - * Logs a warning if the function has not been registered. - * - * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline. - * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline. - */ -lunr.Pipeline.prototype.after = function (existingFn, newFn) { - lunr.Pipeline.warnIfFunctionNotRegistered(newFn) - - var pos = this._stack.indexOf(existingFn) - if (pos == -1) { - throw new Error('Cannot find existingFn') - } - - pos = pos + 1 - this._stack.splice(pos, 0, newFn) -} - -/** - * Adds a single function before a function that already exists in the - * pipeline. - * - * Logs a warning if the function has not been registered. - * - * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline. - * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline. - */ -lunr.Pipeline.prototype.before = function (existingFn, newFn) { - lunr.Pipeline.warnIfFunctionNotRegistered(newFn) - - var pos = this._stack.indexOf(existingFn) - if (pos == -1) { - throw new Error('Cannot find existingFn') - } - - this._stack.splice(pos, 0, newFn) -} - -/** - * Removes a function from the pipeline. - * - * @param {lunr.PipelineFunction} fn The function to remove from the pipeline. - */ -lunr.Pipeline.prototype.remove = function (fn) { - var pos = this._stack.indexOf(fn) - if (pos == -1) { - return - } - - this._stack.splice(pos, 1) -} - -/** - * Runs the current list of functions that make up the pipeline against the - * passed tokens. - * - * @param {Array} tokens The tokens to run through the pipeline. - * @returns {Array} - */ -lunr.Pipeline.prototype.run = function (tokens) { - var stackLength = this._stack.length - - for (var i = 0; i < stackLength; i++) { - var fn = this._stack[i] - var memo = [] - - for (var j = 0; j < tokens.length; j++) { - var result = fn(tokens[j], j, tokens) - - if (result === void 0 || result === '') continue - - if (Array.isArray(result)) { - for (var k = 0; k < result.length; k++) { - memo.push(result[k]) - } - } else { - memo.push(result) - } - } - - tokens = memo - } - - return tokens -} - -/** - * Convenience method for passing a string through a pipeline and getting - * strings out. This method takes care of wrapping the passed string in a - * token and mapping the resulting tokens back to strings. - * - * @param {string} str - The string to pass through the pipeline. - * @param {?object} metadata - Optional metadata to associate with the token - * passed to the pipeline. - * @returns {string[]} - */ -lunr.Pipeline.prototype.runString = function (str, metadata) { - var token = new lunr.Token (str, metadata) - - return this.run([token]).map(function (t) { - return t.toString() - }) -} - -/** - * Resets the pipeline by removing any existing processors. - * - */ -lunr.Pipeline.prototype.reset = function () { - this._stack = [] -} - -/** - * Returns a representation of the pipeline ready for serialisation. - * - * Logs a warning if the function has not been registered. - * - * @returns {Array} - */ -lunr.Pipeline.prototype.toJSON = function () { - return this._stack.map(function (fn) { - lunr.Pipeline.warnIfFunctionNotRegistered(fn) - - return fn.label - }) -} -/*! - * lunr.Vector - * Copyright (C) 2018 Oliver Nightingale - */ - -/** - * A vector is used to construct the vector space of documents and queries. These - * vectors support operations to determine the similarity between two documents or - * a document and a query. - * - * Normally no parameters are required for initializing a vector, but in the case of - * loading a previously dumped vector the raw elements can be provided to the constructor. - * - * For performance reasons vectors are implemented with a flat array, where an elements - * index is immediately followed by its value. E.g. [index, value, index, value]. This - * allows the underlying array to be as sparse as possible and still offer decent - * performance when being used for vector calculations. - * - * @constructor - * @param {Number[]} [elements] - The flat list of element index and element value pairs. - */ -lunr.Vector = function (elements) { - this._magnitude = 0 - this.elements = elements || [] -} - - -/** - * Calculates the position within the vector to insert a given index. - * - * This is used internally by insert and upsert. If there are duplicate indexes then - * the position is returned as if the value for that index were to be updated, but it - * is the callers responsibility to check whether there is a duplicate at that index - * - * @param {Number} insertIdx - The index at which the element should be inserted. - * @returns {Number} - */ -lunr.Vector.prototype.positionForIndex = function (index) { - // For an empty vector the tuple can be inserted at the beginning - if (this.elements.length == 0) { - return 0 - } - - var start = 0, - end = this.elements.length / 2, - sliceLength = end - start, - pivotPoint = Math.floor(sliceLength / 2), - pivotIndex = this.elements[pivotPoint * 2] - - while (sliceLength > 1) { - if (pivotIndex < index) { - start = pivotPoint - } - - if (pivotIndex > index) { - end = pivotPoint - } - - if (pivotIndex == index) { - break - } - - sliceLength = end - start - pivotPoint = start + Math.floor(sliceLength / 2) - pivotIndex = this.elements[pivotPoint * 2] - } - - if (pivotIndex == index) { - return pivotPoint * 2 - } - - if (pivotIndex > index) { - return pivotPoint * 2 - } - - if (pivotIndex < index) { - return (pivotPoint + 1) * 2 - } -} - -/** - * Inserts an element at an index within the vector. - * - * Does not allow duplicates, will throw an error if there is already an entry - * for this index. - * - * @param {Number} insertIdx - The index at which the element should be inserted. - * @param {Number} val - The value to be inserted into the vector. - */ -lunr.Vector.prototype.insert = function (insertIdx, val) { - this.upsert(insertIdx, val, function () { - throw "duplicate index" - }) -} - -/** - * Inserts or updates an existing index within the vector. - * - * @param {Number} insertIdx - The index at which the element should be inserted. - * @param {Number} val - The value to be inserted into the vector. - * @param {function} fn - A function that is called for updates, the existing value and the - * requested value are passed as arguments - */ -lunr.Vector.prototype.upsert = function (insertIdx, val, fn) { - this._magnitude = 0 - var position = this.positionForIndex(insertIdx) - - if (this.elements[position] == insertIdx) { - this.elements[position + 1] = fn(this.elements[position + 1], val) - } else { - this.elements.splice(position, 0, insertIdx, val) - } -} - -/** - * Calculates the magnitude of this vector. - * - * @returns {Number} - */ -lunr.Vector.prototype.magnitude = function () { - if (this._magnitude) return this._magnitude - - var sumOfSquares = 0, - elementsLength = this.elements.length - - for (var i = 1; i < elementsLength; i += 2) { - var val = this.elements[i] - sumOfSquares += val * val - } - - return this._magnitude = Math.sqrt(sumOfSquares) -} - -/** - * Calculates the dot product of this vector and another vector. - * - * @param {lunr.Vector} otherVector - The vector to compute the dot product with. - * @returns {Number} - */ -lunr.Vector.prototype.dot = function (otherVector) { - var dotProduct = 0, - a = this.elements, b = otherVector.elements, - aLen = a.length, bLen = b.length, - aVal = 0, bVal = 0, - i = 0, j = 0 - - while (i < aLen && j < bLen) { - aVal = a[i], bVal = b[j] - if (aVal < bVal) { - i += 2 - } else if (aVal > bVal) { - j += 2 - } else if (aVal == bVal) { - dotProduct += a[i + 1] * b[j + 1] - i += 2 - j += 2 - } - } - - return dotProduct -} - -/** - * Calculates the similarity between this vector and another vector. - * - * @param {lunr.Vector} otherVector - The other vector to calculate the - * similarity with. - * @returns {Number} - */ -lunr.Vector.prototype.similarity = function (otherVector) { - return this.dot(otherVector) / this.magnitude() || 0 -} - -/** - * Converts the vector to an array of the elements within the vector. - * - * @returns {Number[]} - */ -lunr.Vector.prototype.toArray = function () { - var output = new Array (this.elements.length / 2) - - for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) { - output[j] = this.elements[i] - } - - return output -} - -/** - * A JSON serializable representation of the vector. - * - * @returns {Number[]} - */ -lunr.Vector.prototype.toJSON = function () { - return this.elements -} -/* eslint-disable */ -/*! - * lunr.stemmer - * Copyright (C) 2018 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - */ - -/** - * lunr.stemmer is an english language stemmer, this is a JavaScript - * implementation of the PorterStemmer taken from http://tartarus.org/~martin - * - * @static - * @implements {lunr.PipelineFunction} - * @param {lunr.Token} token - The string to stem - * @returns {lunr.Token} - * @see {@link lunr.Pipeline} - * @function - */ -lunr.stemmer = (function(){ - var step2list = { - "ational" : "ate", - "tional" : "tion", - "enci" : "ence", - "anci" : "ance", - "izer" : "ize", - "bli" : "ble", - "alli" : "al", - "entli" : "ent", - "eli" : "e", - "ousli" : "ous", - "ization" : "ize", - "ation" : "ate", - "ator" : "ate", - "alism" : "al", - "iveness" : "ive", - "fulness" : "ful", - "ousness" : "ous", - "aliti" : "al", - "iviti" : "ive", - "biliti" : "ble", - "logi" : "log" - }, - - step3list = { - "icate" : "ic", - "ative" : "", - "alize" : "al", - "iciti" : "ic", - "ical" : "ic", - "ful" : "", - "ness" : "" - }, - - c = "[^aeiou]", // consonant - v = "[aeiouy]", // vowel - C = c + "[^aeiouy]*", // consonant sequence - V = v + "[aeiou]*", // vowel sequence - - mgr0 = "^(" + C + ")?" + V + C, // [C]VC... is m>0 - meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$", // [C]VC[V] is m=1 - mgr1 = "^(" + C + ")?" + V + C + V + C, // [C]VCVC... is m>1 - s_v = "^(" + C + ")?" + v; // vowel in stem - - var re_mgr0 = new RegExp(mgr0); - var re_mgr1 = new RegExp(mgr1); - var re_meq1 = new RegExp(meq1); - var re_s_v = new RegExp(s_v); - - var re_1a = /^(.+?)(ss|i)es$/; - var re2_1a = /^(.+?)([^s])s$/; - var re_1b = /^(.+?)eed$/; - var re2_1b = /^(.+?)(ed|ing)$/; - var re_1b_2 = /.$/; - var re2_1b_2 = /(at|bl|iz)$/; - var re3_1b_2 = new RegExp("([^aeiouylsz])\\1$"); - var re4_1b_2 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - - var re_1c = /^(.+?[^aeiou])y$/; - var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; - - var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; - - var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; - var re2_4 = /^(.+?)(s|t)(ion)$/; - - var re_5 = /^(.+?)e$/; - var re_5_1 = /ll$/; - var re3_5 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - - var porterStemmer = function porterStemmer(w) { - var stem, - suffix, - firstch, - re, - re2, - re3, - re4; - - if (w.length < 3) { return w; } - - firstch = w.substr(0,1); - if (firstch == "y") { - w = firstch.toUpperCase() + w.substr(1); - } - - // Step 1a - re = re_1a - re2 = re2_1a; - - if (re.test(w)) { w = w.replace(re,"$1$2"); } - else if (re2.test(w)) { w = w.replace(re2,"$1$2"); } - - // Step 1b - re = re_1b; - re2 = re2_1b; - if (re.test(w)) { - var fp = re.exec(w); - re = re_mgr0; - if (re.test(fp[1])) { - re = re_1b_2; - w = w.replace(re,""); - } - } else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1]; - re2 = re_s_v; - if (re2.test(stem)) { - w = stem; - re2 = re2_1b_2; - re3 = re3_1b_2; - re4 = re4_1b_2; - if (re2.test(w)) { w = w + "e"; } - else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,""); } - else if (re4.test(w)) { w = w + "e"; } - } - } - - // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say) - re = re_1c; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - w = stem + "i"; - } - - // Step 2 - re = re_2; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = re_mgr0; - if (re.test(stem)) { - w = stem + step2list[suffix]; - } - } - - // Step 3 - re = re_3; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = re_mgr0; - if (re.test(stem)) { - w = stem + step3list[suffix]; - } - } - - // Step 4 - re = re_4; - re2 = re2_4; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = re_mgr1; - if (re.test(stem)) { - w = stem; - } - } else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1] + fp[2]; - re2 = re_mgr1; - if (re2.test(stem)) { - w = stem; - } - } - - // Step 5 - re = re_5; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = re_mgr1; - re2 = re_meq1; - re3 = re3_5; - if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) { - w = stem; - } - } - - re = re_5_1; - re2 = re_mgr1; - if (re.test(w) && re2.test(w)) { - re = re_1b_2; - w = w.replace(re,""); - } - - // and turn initial Y back to y - - if (firstch == "y") { - w = firstch.toLowerCase() + w.substr(1); - } - - return w; - }; - - return function (token) { - return token.update(porterStemmer); - } -})(); - -lunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer') -/*! - * lunr.stopWordFilter - * Copyright (C) 2018 Oliver Nightingale - */ - -/** - * lunr.generateStopWordFilter builds a stopWordFilter function from the provided - * list of stop words. - * - * The built in lunr.stopWordFilter is built using this generator and can be used - * to generate custom stopWordFilters for applications or non English languages. - * - * @function - * @param {Array} token The token to pass through the filter - * @returns {lunr.PipelineFunction} - * @see lunr.Pipeline - * @see lunr.stopWordFilter - */ -lunr.generateStopWordFilter = function (stopWords) { - var words = stopWords.reduce(function (memo, stopWord) { - memo[stopWord] = stopWord - return memo - }, {}) - - return function (token) { - if (token && words[token.toString()] !== token.toString()) return token - } -} - -/** - * lunr.stopWordFilter is an English language stop word list filter, any words - * contained in the list will not be passed through the filter. - * - * This is intended to be used in the Pipeline. If the token does not pass the - * filter then undefined will be returned. - * - * @function - * @implements {lunr.PipelineFunction} - * @params {lunr.Token} token - A token to check for being a stop word. - * @returns {lunr.Token} - * @see {@link lunr.Pipeline} - */ -lunr.stopWordFilter = lunr.generateStopWordFilter([ - 'a', - 'able', - 'about', - 'across', - 'after', - 'all', - 'almost', - 'also', - 'am', - 'among', - 'an', - 'and', - 'any', - 'are', - 'as', - 'at', - 'be', - 'because', - 'been', - 'but', - 'by', - 'can', - 'cannot', - 'could', - 'dear', - 'did', - 'do', - 'does', - 'either', - 'else', - 'ever', - 'every', - 'for', - 'from', - 'get', - 'got', - 'had', - 'has', - 'have', - 'he', - 'her', - 'hers', - 'him', - 'his', - 'how', - 'however', - 'i', - 'if', - 'in', - 'into', - 'is', - 'it', - 'its', - 'just', - 'least', - 'let', - 'like', - 'likely', - 'may', - 'me', - 'might', - 'most', - 'must', - 'my', - 'neither', - 'no', - 'nor', - 'not', - 'of', - 'off', - 'often', - 'on', - 'only', - 'or', - 'other', - 'our', - 'own', - 'rather', - 'said', - 'say', - 'says', - 'she', - 'should', - 'since', - 'so', - 'some', - 'than', - 'that', - 'the', - 'their', - 'them', - 'then', - 'there', - 'these', - 'they', - 'this', - 'tis', - 'to', - 'too', - 'twas', - 'us', - 'wants', - 'was', - 'we', - 'were', - 'what', - 'when', - 'where', - 'which', - 'while', - 'who', - 'whom', - 'why', - 'will', - 'with', - 'would', - 'yet', - 'you', - 'your' -]) - -lunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter') -/*! - * lunr.trimmer - * Copyright (C) 2018 Oliver Nightingale - */ - -/** - * lunr.trimmer is a pipeline function for trimming non word - * characters from the beginning and end of tokens before they - * enter the index. - * - * This implementation may not work correctly for non latin - * characters and should either be removed or adapted for use - * with languages with non-latin characters. - * - * @static - * @implements {lunr.PipelineFunction} - * @param {lunr.Token} token The token to pass through the filter - * @returns {lunr.Token} - * @see lunr.Pipeline - */ -lunr.trimmer = function (token) { - return token.update(function (s) { - return s.replace(/^\W+/, '').replace(/\W+$/, '') - }) -} - -lunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer') -/*! - * lunr.TokenSet - * Copyright (C) 2018 Oliver Nightingale - */ - -/** - * A token set is used to store the unique list of all tokens - * within an index. Token sets are also used to represent an - * incoming query to the index, this query token set and index - * token set are then intersected to find which tokens to look - * up in the inverted index. - * - * A token set can hold multiple tokens, as in the case of the - * index token set, or it can hold a single token as in the - * case of a simple query token set. - * - * Additionally token sets are used to perform wildcard matching. - * Leading, contained and trailing wildcards are supported, and - * from this edit distance matching can also be provided. - * - * Token sets are implemented as a minimal finite state automata, - * where both common prefixes and suffixes are shared between tokens. - * This helps to reduce the space used for storing the token set. - * - * @constructor - */ -lunr.TokenSet = function () { - this.final = false - this.edges = {} - this.id = lunr.TokenSet._nextId - lunr.TokenSet._nextId += 1 -} - -/** - * Keeps track of the next, auto increment, identifier to assign - * to a new tokenSet. - * - * TokenSets require a unique identifier to be correctly minimised. - * - * @private - */ -lunr.TokenSet._nextId = 1 - -/** - * Creates a TokenSet instance from the given sorted array of words. - * - * @param {String[]} arr - A sorted array of strings to create the set from. - * @returns {lunr.TokenSet} - * @throws Will throw an error if the input array is not sorted. - */ -lunr.TokenSet.fromArray = function (arr) { - var builder = new lunr.TokenSet.Builder - - for (var i = 0, len = arr.length; i < len; i++) { - builder.insert(arr[i]) - } - - builder.finish() - return builder.root -} - -/** - * Creates a token set from a query clause. - * - * @private - * @param {Object} clause - A single clause from lunr.Query. - * @param {string} clause.term - The query clause term. - * @param {number} [clause.editDistance] - The optional edit distance for the term. - * @returns {lunr.TokenSet} - */ -lunr.TokenSet.fromClause = function (clause) { - if ('editDistance' in clause) { - return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance) - } else { - return lunr.TokenSet.fromString(clause.term) - } -} - -/** - * Creates a token set representing a single string with a specified - * edit distance. - * - * Insertions, deletions, substitutions and transpositions are each - * treated as an edit distance of 1. - * - * Increasing the allowed edit distance will have a dramatic impact - * on the performance of both creating and intersecting these TokenSets. - * It is advised to keep the edit distance less than 3. - * - * @param {string} str - The string to create the token set from. - * @param {number} editDistance - The allowed edit distance to match. - * @returns {lunr.Vector} - */ -lunr.TokenSet.fromFuzzyString = function (str, editDistance) { - var root = new lunr.TokenSet - - var stack = [{ - node: root, - editsRemaining: editDistance, - str: str - }] - - while (stack.length) { - var frame = stack.pop() - - // no edit - if (frame.str.length > 0) { - var char = frame.str.charAt(0), - noEditNode - - if (char in frame.node.edges) { - noEditNode = frame.node.edges[char] - } else { - noEditNode = new lunr.TokenSet - frame.node.edges[char] = noEditNode - } - - if (frame.str.length == 1) { - noEditNode.final = true - } - - stack.push({ - node: noEditNode, - editsRemaining: frame.editsRemaining, - str: frame.str.slice(1) - }) - } - - // deletion - // can only do a deletion if we have enough edits remaining - // and if there are characters left to delete in the string - if (frame.editsRemaining > 0 && frame.str.length > 1) { - var char = frame.str.charAt(1), - deletionNode - - if (char in frame.node.edges) { - deletionNode = frame.node.edges[char] - } else { - deletionNode = new lunr.TokenSet - frame.node.edges[char] = deletionNode - } - - if (frame.str.length <= 2) { - deletionNode.final = true - } else { - stack.push({ - node: deletionNode, - editsRemaining: frame.editsRemaining - 1, - str: frame.str.slice(2) - }) - } - } - - // deletion - // just removing the last character from the str - if (frame.editsRemaining > 0 && frame.str.length == 1) { - frame.node.final = true - } - - // substitution - // can only do a substitution if we have enough edits remaining - // and if there are characters left to substitute - if (frame.editsRemaining > 0 && frame.str.length >= 1) { - if ("*" in frame.node.edges) { - var substitutionNode = frame.node.edges["*"] - } else { - var substitutionNode = new lunr.TokenSet - frame.node.edges["*"] = substitutionNode - } - - if (frame.str.length == 1) { - substitutionNode.final = true - } else { - stack.push({ - node: substitutionNode, - editsRemaining: frame.editsRemaining - 1, - str: frame.str.slice(1) - }) - } - } - - // insertion - // can only do insertion if there are edits remaining - if (frame.editsRemaining > 0) { - if ("*" in frame.node.edges) { - var insertionNode = frame.node.edges["*"] - } else { - var insertionNode = new lunr.TokenSet - frame.node.edges["*"] = insertionNode - } - - if (frame.str.length == 0) { - insertionNode.final = true - } else { - stack.push({ - node: insertionNode, - editsRemaining: frame.editsRemaining - 1, - str: frame.str - }) - } - } - - // transposition - // can only do a transposition if there are edits remaining - // and there are enough characters to transpose - if (frame.editsRemaining > 0 && frame.str.length > 1) { - var charA = frame.str.charAt(0), - charB = frame.str.charAt(1), - transposeNode - - if (charB in frame.node.edges) { - transposeNode = frame.node.edges[charB] - } else { - transposeNode = new lunr.TokenSet - frame.node.edges[charB] = transposeNode - } - - if (frame.str.length == 1) { - transposeNode.final = true - } else { - stack.push({ - node: transposeNode, - editsRemaining: frame.editsRemaining - 1, - str: charA + frame.str.slice(2) - }) - } - } - } - - return root -} - -/** - * Creates a TokenSet from a string. - * - * The string may contain one or more wildcard characters (*) - * that will allow wildcard matching when intersecting with - * another TokenSet. - * - * @param {string} str - The string to create a TokenSet from. - * @returns {lunr.TokenSet} - */ -lunr.TokenSet.fromString = function (str) { - var node = new lunr.TokenSet, - root = node - - /* - * Iterates through all characters within the passed string - * appending a node for each character. - * - * When a wildcard character is found then a self - * referencing edge is introduced to continually match - * any number of any characters. - */ - for (var i = 0, len = str.length; i < len; i++) { - var char = str[i], - final = (i == len - 1) - - if (char == "*") { - node.edges[char] = node - node.final = final - - } else { - var next = new lunr.TokenSet - next.final = final - - node.edges[char] = next - node = next - } - } - - return root -} - -/** - * Converts this TokenSet into an array of strings - * contained within the TokenSet. - * - * @returns {string[]} - */ -lunr.TokenSet.prototype.toArray = function () { - var words = [] - - var stack = [{ - prefix: "", - node: this - }] - - while (stack.length) { - var frame = stack.pop(), - edges = Object.keys(frame.node.edges), - len = edges.length - - if (frame.node.final) { - /* In Safari, at this point the prefix is sometimes corrupted, see: - * https://github.com/olivernn/lunr.js/issues/279 Calling any - * String.prototype method forces Safari to "cast" this string to what - * it's supposed to be, fixing the bug. */ - frame.prefix.charAt(0) - words.push(frame.prefix) - } - - for (var i = 0; i < len; i++) { - var edge = edges[i] - - stack.push({ - prefix: frame.prefix.concat(edge), - node: frame.node.edges[edge] - }) - } - } - - return words -} - -/** - * Generates a string representation of a TokenSet. - * - * This is intended to allow TokenSets to be used as keys - * in objects, largely to aid the construction and minimisation - * of a TokenSet. As such it is not designed to be a human - * friendly representation of the TokenSet. - * - * @returns {string} - */ -lunr.TokenSet.prototype.toString = function () { - // NOTE: Using Object.keys here as this.edges is very likely - // to enter 'hash-mode' with many keys being added - // - // avoiding a for-in loop here as it leads to the function - // being de-optimised (at least in V8). From some simple - // benchmarks the performance is comparable, but allowing - // V8 to optimize may mean easy performance wins in the future. - - if (this._str) { - return this._str - } - - var str = this.final ? '1' : '0', - labels = Object.keys(this.edges).sort(), - len = labels.length - - for (var i = 0; i < len; i++) { - var label = labels[i], - node = this.edges[label] - - str = str + label + node.id - } - - return str -} - -/** - * Returns a new TokenSet that is the intersection of - * this TokenSet and the passed TokenSet. - * - * This intersection will take into account any wildcards - * contained within the TokenSet. - * - * @param {lunr.TokenSet} b - An other TokenSet to intersect with. - * @returns {lunr.TokenSet} - */ -lunr.TokenSet.prototype.intersect = function (b) { - var output = new lunr.TokenSet, - frame = undefined - - var stack = [{ - qNode: b, - output: output, - node: this - }] - - while (stack.length) { - frame = stack.pop() - - // NOTE: As with the #toString method, we are using - // Object.keys and a for loop instead of a for-in loop - // as both of these objects enter 'hash' mode, causing - // the function to be de-optimised in V8 - var qEdges = Object.keys(frame.qNode.edges), - qLen = qEdges.length, - nEdges = Object.keys(frame.node.edges), - nLen = nEdges.length - - for (var q = 0; q < qLen; q++) { - var qEdge = qEdges[q] - - for (var n = 0; n < nLen; n++) { - var nEdge = nEdges[n] - - if (nEdge == qEdge || qEdge == '*') { - var node = frame.node.edges[nEdge], - qNode = frame.qNode.edges[qEdge], - final = node.final && qNode.final, - next = undefined - - if (nEdge in frame.output.edges) { - // an edge already exists for this character - // no need to create a new node, just set the finality - // bit unless this node is already final - next = frame.output.edges[nEdge] - next.final = next.final || final - - } else { - // no edge exists yet, must create one - // set the finality bit and insert it - // into the output - next = new lunr.TokenSet - next.final = final - frame.output.edges[nEdge] = next - } - - stack.push({ - qNode: qNode, - output: next, - node: node - }) - } - } - } - } - - return output -} -lunr.TokenSet.Builder = function () { - this.previousWord = "" - this.root = new lunr.TokenSet - this.uncheckedNodes = [] - this.minimizedNodes = {} -} - -lunr.TokenSet.Builder.prototype.insert = function (word) { - var node, - commonPrefix = 0 - - if (word < this.previousWord) { - throw new Error ("Out of order word insertion") - } - - for (var i = 0; i < word.length && i < this.previousWord.length; i++) { - if (word[i] != this.previousWord[i]) break - commonPrefix++ - } - - this.minimize(commonPrefix) - - if (this.uncheckedNodes.length == 0) { - node = this.root - } else { - node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child - } - - for (var i = commonPrefix; i < word.length; i++) { - var nextNode = new lunr.TokenSet, - char = word[i] - - node.edges[char] = nextNode - - this.uncheckedNodes.push({ - parent: node, - char: char, - child: nextNode - }) - - node = nextNode - } - - node.final = true - this.previousWord = word -} - -lunr.TokenSet.Builder.prototype.finish = function () { - this.minimize(0) -} - -lunr.TokenSet.Builder.prototype.minimize = function (downTo) { - for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) { - var node = this.uncheckedNodes[i], - childKey = node.child.toString() - - if (childKey in this.minimizedNodes) { - node.parent.edges[node.char] = this.minimizedNodes[childKey] - } else { - // Cache the key for this node since - // we know it can't change anymore - node.child._str = childKey - - this.minimizedNodes[childKey] = node.child - } - - this.uncheckedNodes.pop() - } -} -/*! - * lunr.Index - * Copyright (C) 2018 Oliver Nightingale - */ - -/** - * An index contains the built index of all documents and provides a query interface - * to the index. - * - * Usually instances of lunr.Index will not be created using this constructor, instead - * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be - * used to load previously built and serialized indexes. - * - * @constructor - * @param {Object} attrs - The attributes of the built search index. - * @param {Object} attrs.invertedIndex - An index of term/field to document reference. - * @param {Object} attrs.fieldVectors - Field vectors - * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens. - * @param {string[]} attrs.fields - The names of indexed document fields. - * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms. - */ -lunr.Index = function (attrs) { - this.invertedIndex = attrs.invertedIndex - this.fieldVectors = attrs.fieldVectors - this.tokenSet = attrs.tokenSet - this.fields = attrs.fields - this.pipeline = attrs.pipeline -} - -/** - * A result contains details of a document matching a search query. - * @typedef {Object} lunr.Index~Result - * @property {string} ref - The reference of the document this result represents. - * @property {number} score - A number between 0 and 1 representing how similar this document is to the query. - * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match. - */ - -/** - * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple - * query language which itself is parsed into an instance of lunr.Query. - * - * For programmatically building queries it is advised to directly use lunr.Query, the query language - * is best used for human entered text rather than program generated text. - * - * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported - * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello' - * or 'world', though those that contain both will rank higher in the results. - * - * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can - * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding - * wildcards will increase the number of documents that will be found but can also have a negative - * impact on query performance, especially with wildcards at the beginning of a term. - * - * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term - * hello in the title field will match this query. Using a field not present in the index will lead - * to an error being thrown. - * - * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term - * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported - * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2. - * Avoid large values for edit distance to improve query performance. - * - * Each term also supports a presence modifier. By default a term's presence in document is optional, however - * this can be changed to either required or prohibited. For a term's presence to be required in a document the - * term should be prefixed with a '+', e.g. `+foo bar` is a search for documents that must contain 'foo' and - * optionally contain 'bar'. Conversely a leading '-' sets the terms presence to prohibited, i.e. it must not - * appear in a document, e.g. `-foo bar` is a search for documents that do not contain 'foo' but may contain 'bar'. - * - * To escape special characters the backslash character '\' can be used, this allows searches to include - * characters that would normally be considered modifiers, e.g. `foo\~2` will search for a term "foo~2" instead - * of attempting to apply a boost of 2 to the search term "foo". - * - * @typedef {string} lunr.Index~QueryString - * @example Simple single term query - * hello - * @example Multiple term query - * hello world - * @example term scoped to a field - * title:hello - * @example term with a boost of 10 - * hello^10 - * @example term with an edit distance of 2 - * hello~2 - * @example terms with presence modifiers - * -foo +bar baz - */ - -/** - * Performs a search against the index using lunr query syntax. - * - * Results will be returned sorted by their score, the most relevant results - * will be returned first. For details on how the score is calculated, please see - * the {@link https://lunrjs.com/guides/searching.html#scoring|guide}. - * - * For more programmatic querying use lunr.Index#query. - * - * @param {lunr.Index~QueryString} queryString - A string containing a lunr query. - * @throws {lunr.QueryParseError} If the passed query string cannot be parsed. - * @returns {lunr.Index~Result[]} - */ -lunr.Index.prototype.search = function (queryString) { - return this.query(function (query) { - var parser = new lunr.QueryParser(queryString, query) - parser.parse() - }) -} - -/** - * A query builder callback provides a query object to be used to express - * the query to perform on the index. - * - * @callback lunr.Index~queryBuilder - * @param {lunr.Query} query - The query object to build up. - * @this lunr.Query - */ - -/** - * Performs a query against the index using the yielded lunr.Query object. - * - * If performing programmatic queries against the index, this method is preferred - * over lunr.Index#search so as to avoid the additional query parsing overhead. - * - * A query object is yielded to the supplied function which should be used to - * express the query to be run against the index. - * - * Note that although this function takes a callback parameter it is _not_ an - * asynchronous operation, the callback is just yielded a query object to be - * customized. - * - * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query. - * @returns {lunr.Index~Result[]} - */ -lunr.Index.prototype.query = function (fn) { - // for each query clause - // * process terms - // * expand terms from token set - // * find matching documents and metadata - // * get document vectors - // * score documents - - var query = new lunr.Query(this.fields), - matchingFields = Object.create(null), - queryVectors = Object.create(null), - termFieldCache = Object.create(null), - requiredMatches = Object.create(null), - prohibitedMatches = Object.create(null) - - /* - * To support field level boosts a query vector is created per - * field. An empty vector is eagerly created to support negated - * queries. - */ - for (var i = 0; i < this.fields.length; i++) { - queryVectors[this.fields[i]] = new lunr.Vector - } - - fn.call(query, query) - - for (var i = 0; i < query.clauses.length; i++) { - /* - * Unless the pipeline has been disabled for this term, which is - * the case for terms with wildcards, we need to pass the clause - * term through the search pipeline. A pipeline returns an array - * of processed terms. Pipeline functions may expand the passed - * term, which means we may end up performing multiple index lookups - * for a single query term. - */ - var clause = query.clauses[i], - terms = null, - clauseMatches = lunr.Set.complete - - if (clause.usePipeline) { - terms = this.pipeline.runString(clause.term, { - fields: clause.fields - }) - } else { - terms = [clause.term] - } - - for (var m = 0; m < terms.length; m++) { - var term = terms[m] - - /* - * Each term returned from the pipeline needs to use the same query - * clause object, e.g. the same boost and or edit distance. The - * simplest way to do this is to re-use the clause object but mutate - * its term property. - */ - clause.term = term - - /* - * From the term in the clause we create a token set which will then - * be used to intersect the indexes token set to get a list of terms - * to lookup in the inverted index - */ - var termTokenSet = lunr.TokenSet.fromClause(clause), - expandedTerms = this.tokenSet.intersect(termTokenSet).toArray() - - /* - * If a term marked as required does not exist in the tokenSet it is - * impossible for the search to return any matches. We set all the field - * scoped required matches set to empty and stop examining any further - * clauses. - */ - if (expandedTerms.length === 0 && clause.presence === lunr.Query.presence.REQUIRED) { - for (var k = 0; k < clause.fields.length; k++) { - var field = clause.fields[k] - requiredMatches[field] = lunr.Set.empty - } - - break - } - - for (var j = 0; j < expandedTerms.length; j++) { - /* - * For each term get the posting and termIndex, this is required for - * building the query vector. - */ - var expandedTerm = expandedTerms[j], - posting = this.invertedIndex[expandedTerm], - termIndex = posting._index - - for (var k = 0; k < clause.fields.length; k++) { - /* - * For each field that this query term is scoped by (by default - * all fields are in scope) we need to get all the document refs - * that have this term in that field. - * - * The posting is the entry in the invertedIndex for the matching - * term from above. - */ - var field = clause.fields[k], - fieldPosting = posting[field], - matchingDocumentRefs = Object.keys(fieldPosting), - termField = expandedTerm + "/" + field, - matchingDocumentsSet = new lunr.Set(matchingDocumentRefs) - - /* - * if the presence of this term is required ensure that the matching - * documents are added to the set of required matches for this clause. - * - */ - if (clause.presence == lunr.Query.presence.REQUIRED) { - clauseMatches = clauseMatches.union(matchingDocumentsSet) - - if (requiredMatches[field] === undefined) { - requiredMatches[field] = lunr.Set.complete - } - } - - /* - * if the presence of this term is prohibited ensure that the matching - * documents are added to the set of prohibited matches for this field, - * creating that set if it does not yet exist. - */ - if (clause.presence == lunr.Query.presence.PROHIBITED) { - if (prohibitedMatches[field] === undefined) { - prohibitedMatches[field] = lunr.Set.empty - } - - prohibitedMatches[field] = prohibitedMatches[field].union(matchingDocumentsSet) - - /* - * Prohibited matches should not be part of the query vector used for - * similarity scoring and no metadata should be extracted so we continue - * to the next field - */ - continue - } - - /* - * The query field vector is populated using the termIndex found for - * the term and a unit value with the appropriate boost applied. - * Using upsert because there could already be an entry in the vector - * for the term we are working with. In that case we just add the scores - * together. - */ - queryVectors[field].upsert(termIndex, clause.boost, function (a, b) { return a + b }) - - /** - * If we've already seen this term, field combo then we've already collected - * the matching documents and metadata, no need to go through all that again - */ - if (termFieldCache[termField]) { - continue - } - - for (var l = 0; l < matchingDocumentRefs.length; l++) { - /* - * All metadata for this term/field/document triple - * are then extracted and collected into an instance - * of lunr.MatchData ready to be returned in the query - * results - */ - var matchingDocumentRef = matchingDocumentRefs[l], - matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field), - metadata = fieldPosting[matchingDocumentRef], - fieldMatch - - if ((fieldMatch = matchingFields[matchingFieldRef]) === undefined) { - matchingFields[matchingFieldRef] = new lunr.MatchData (expandedTerm, field, metadata) - } else { - fieldMatch.add(expandedTerm, field, metadata) - } - - } - - termFieldCache[termField] = true - } - } - } - - /** - * If the presence was required we need to update the requiredMatches field sets. - * We do this after all fields for the term have collected their matches because - * the clause terms presence is required in _any_ of the fields not _all_ of the - * fields. - */ - if (clause.presence === lunr.Query.presence.REQUIRED) { - for (var k = 0; k < clause.fields.length; k++) { - var field = clause.fields[k] - requiredMatches[field] = requiredMatches[field].intersect(clauseMatches) - } - } - } - - /** - * Need to combine the field scoped required and prohibited - * matching documents into a global set of required and prohibited - * matches - */ - var allRequiredMatches = lunr.Set.complete, - allProhibitedMatches = lunr.Set.empty - - for (var i = 0; i < this.fields.length; i++) { - var field = this.fields[i] - - if (requiredMatches[field]) { - allRequiredMatches = allRequiredMatches.intersect(requiredMatches[field]) - } - - if (prohibitedMatches[field]) { - allProhibitedMatches = allProhibitedMatches.union(prohibitedMatches[field]) - } - } - - var matchingFieldRefs = Object.keys(matchingFields), - results = [], - matches = Object.create(null) - - /* - * If the query is negated (contains only prohibited terms) - * we need to get _all_ fieldRefs currently existing in the - * index. This is only done when we know that the query is - * entirely prohibited terms to avoid any cost of getting all - * fieldRefs unnecessarily. - * - * Additionally, blank MatchData must be created to correctly - * populate the results. - */ - if (query.isNegated()) { - matchingFieldRefs = Object.keys(this.fieldVectors) - - for (var i = 0; i < matchingFieldRefs.length; i++) { - var matchingFieldRef = matchingFieldRefs[i] - var fieldRef = lunr.FieldRef.fromString(matchingFieldRef) - matchingFields[matchingFieldRef] = new lunr.MatchData - } - } - - for (var i = 0; i < matchingFieldRefs.length; i++) { - /* - * Currently we have document fields that match the query, but we - * need to return documents. The matchData and scores are combined - * from multiple fields belonging to the same document. - * - * Scores are calculated by field, using the query vectors created - * above, and combined into a final document score using addition. - */ - var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]), - docRef = fieldRef.docRef - - if (!allRequiredMatches.contains(docRef)) { - continue - } - - if (allProhibitedMatches.contains(docRef)) { - continue - } - - var fieldVector = this.fieldVectors[fieldRef], - score = queryVectors[fieldRef.fieldName].similarity(fieldVector), - docMatch - - if ((docMatch = matches[docRef]) !== undefined) { - docMatch.score += score - docMatch.matchData.combine(matchingFields[fieldRef]) - } else { - var match = { - ref: docRef, - score: score, - matchData: matchingFields[fieldRef] - } - matches[docRef] = match - results.push(match) - } - } - - /* - * Sort the results objects by score, highest first. - */ - return results.sort(function (a, b) { - return b.score - a.score - }) -} - -/** - * Prepares the index for JSON serialization. - * - * The schema for this JSON blob will be described in a - * separate JSON schema file. - * - * @returns {Object} - */ -lunr.Index.prototype.toJSON = function () { - var invertedIndex = Object.keys(this.invertedIndex) - .sort() - .map(function (term) { - return [term, this.invertedIndex[term]] - }, this) - - var fieldVectors = Object.keys(this.fieldVectors) - .map(function (ref) { - return [ref, this.fieldVectors[ref].toJSON()] - }, this) - - return { - version: lunr.version, - fields: this.fields, - fieldVectors: fieldVectors, - invertedIndex: invertedIndex, - pipeline: this.pipeline.toJSON() - } -} - -/** - * Loads a previously serialized lunr.Index - * - * @param {Object} serializedIndex - A previously serialized lunr.Index - * @returns {lunr.Index} - */ -lunr.Index.load = function (serializedIndex) { - var attrs = {}, - fieldVectors = {}, - serializedVectors = serializedIndex.fieldVectors, - invertedIndex = Object.create(null), - serializedInvertedIndex = serializedIndex.invertedIndex, - tokenSetBuilder = new lunr.TokenSet.Builder, - pipeline = lunr.Pipeline.load(serializedIndex.pipeline) - - if (serializedIndex.version != lunr.version) { - lunr.utils.warn("Version mismatch when loading serialised index. Current version of lunr '" + lunr.version + "' does not match serialized index '" + serializedIndex.version + "'") - } - - for (var i = 0; i < serializedVectors.length; i++) { - var tuple = serializedVectors[i], - ref = tuple[0], - elements = tuple[1] - - fieldVectors[ref] = new lunr.Vector(elements) - } - - for (var i = 0; i < serializedInvertedIndex.length; i++) { - var tuple = serializedInvertedIndex[i], - term = tuple[0], - posting = tuple[1] - - tokenSetBuilder.insert(term) - invertedIndex[term] = posting - } - - tokenSetBuilder.finish() - - attrs.fields = serializedIndex.fields - - attrs.fieldVectors = fieldVectors - attrs.invertedIndex = invertedIndex - attrs.tokenSet = tokenSetBuilder.root - attrs.pipeline = pipeline - - return new lunr.Index(attrs) -} -/*! - * lunr.Builder - * Copyright (C) 2018 Oliver Nightingale - */ - -/** - * lunr.Builder performs indexing on a set of documents and - * returns instances of lunr.Index ready for querying. - * - * All configuration of the index is done via the builder, the - * fields to index, the document reference, the text processing - * pipeline and document scoring parameters are all set on the - * builder before indexing. - * - * @constructor - * @property {string} _ref - Internal reference to the document reference field. - * @property {string[]} _fields - Internal reference to the document fields to index. - * @property {object} invertedIndex - The inverted index maps terms to document fields. - * @property {object} documentTermFrequencies - Keeps track of document term frequencies. - * @property {object} documentLengths - Keeps track of the length of documents added to the index. - * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing. - * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing. - * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index. - * @property {number} documentCount - Keeps track of the total number of documents indexed. - * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75. - * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2. - * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space. - * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index. - */ -lunr.Builder = function () { - this._ref = "id" - this._fields = Object.create(null) - this._documents = Object.create(null) - this.invertedIndex = Object.create(null) - this.fieldTermFrequencies = {} - this.fieldLengths = {} - this.tokenizer = lunr.tokenizer - this.pipeline = new lunr.Pipeline - this.searchPipeline = new lunr.Pipeline - this.documentCount = 0 - this._b = 0.75 - this._k1 = 1.2 - this.termIndex = 0 - this.metadataWhitelist = [] -} - -/** - * Sets the document field used as the document reference. Every document must have this field. - * The type of this field in the document should be a string, if it is not a string it will be - * coerced into a string by calling toString. - * - * The default ref is 'id'. - * - * The ref should _not_ be changed during indexing, it should be set before any documents are - * added to the index. Changing it during indexing can lead to inconsistent results. - * - * @param {string} ref - The name of the reference field in the document. - */ -lunr.Builder.prototype.ref = function (ref) { - this._ref = ref -} - -/** - * A function that is used to extract a field from a document. - * - * Lunr expects a field to be at the top level of a document, if however the field - * is deeply nested within a document an extractor function can be used to extract - * the right field for indexing. - * - * @callback fieldExtractor - * @param {object} doc - The document being added to the index. - * @returns {?(string|object|object[])} obj - The object that will be indexed for this field. - * @example Extracting a nested field - * function (doc) { return doc.nested.field } - */ - -/** - * Adds a field to the list of document fields that will be indexed. Every document being - * indexed should have this field. Null values for this field in indexed documents will - * not cause errors but will limit the chance of that document being retrieved by searches. - * - * All fields should be added before adding documents to the index. Adding fields after - * a document has been indexed will have no effect on already indexed documents. - * - * Fields can be boosted at build time. This allows terms within that field to have more - * importance when ranking search results. Use a field boost to specify that matches within - * one field are more important than other fields. - * - * @param {string} fieldName - The name of a field to index in all documents. - * @param {object} attributes - Optional attributes associated with this field. - * @param {number} [attributes.boost=1] - Boost applied to all terms within this field. - * @param {fieldExtractor} [attributes.extractor] - Function to extract a field from a document. - * @throws {RangeError} fieldName cannot contain unsupported characters '/' - */ -lunr.Builder.prototype.field = function (fieldName, attributes) { - if (/\//.test(fieldName)) { - throw new RangeError ("Field '" + fieldName + "' contains illegal character '/'") - } - - this._fields[fieldName] = attributes || {} -} - -/** - * A parameter to tune the amount of field length normalisation that is applied when - * calculating relevance scores. A value of 0 will completely disable any normalisation - * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b - * will be clamped to the range 0 - 1. - * - * @param {number} number - The value to set for this tuning parameter. - */ -lunr.Builder.prototype.b = function (number) { - if (number < 0) { - this._b = 0 - } else if (number > 1) { - this._b = 1 - } else { - this._b = number - } -} - -/** - * A parameter that controls the speed at which a rise in term frequency results in term - * frequency saturation. The default value is 1.2. Setting this to a higher value will give - * slower saturation levels, a lower value will result in quicker saturation. - * - * @param {number} number - The value to set for this tuning parameter. - */ -lunr.Builder.prototype.k1 = function (number) { - this._k1 = number -} - -/** - * Adds a document to the index. - * - * Before adding fields to the index the index should have been fully setup, with the document - * ref and all fields to index already having been specified. - * - * The document must have a field name as specified by the ref (by default this is 'id') and - * it should have all fields defined for indexing, though null or undefined values will not - * cause errors. - * - * Entire documents can be boosted at build time. Applying a boost to a document indicates that - * this document should rank higher in search results than other documents. - * - * @param {object} doc - The document to add to the index. - * @param {object} attributes - Optional attributes associated with this document. - * @param {number} [attributes.boost=1] - Boost applied to all terms within this document. - */ -lunr.Builder.prototype.add = function (doc, attributes) { - var docRef = doc[this._ref], - fields = Object.keys(this._fields) - - this._documents[docRef] = attributes || {} - this.documentCount += 1 - - for (var i = 0; i < fields.length; i++) { - var fieldName = fields[i], - extractor = this._fields[fieldName].extractor, - field = extractor ? extractor(doc) : doc[fieldName], - tokens = this.tokenizer(field, { - fields: [fieldName] - }), - terms = this.pipeline.run(tokens), - fieldRef = new lunr.FieldRef (docRef, fieldName), - fieldTerms = Object.create(null) - - this.fieldTermFrequencies[fieldRef] = fieldTerms - this.fieldLengths[fieldRef] = 0 - - // store the length of this field for this document - this.fieldLengths[fieldRef] += terms.length - - // calculate term frequencies for this field - for (var j = 0; j < terms.length; j++) { - var term = terms[j] - - if (fieldTerms[term] == undefined) { - fieldTerms[term] = 0 - } - - fieldTerms[term] += 1 - - // add to inverted index - // create an initial posting if one doesn't exist - if (this.invertedIndex[term] == undefined) { - var posting = Object.create(null) - posting["_index"] = this.termIndex - this.termIndex += 1 - - for (var k = 0; k < fields.length; k++) { - posting[fields[k]] = Object.create(null) - } - - this.invertedIndex[term] = posting - } - - // add an entry for this term/fieldName/docRef to the invertedIndex - if (this.invertedIndex[term][fieldName][docRef] == undefined) { - this.invertedIndex[term][fieldName][docRef] = Object.create(null) - } - - // store all whitelisted metadata about this token in the - // inverted index - for (var l = 0; l < this.metadataWhitelist.length; l++) { - var metadataKey = this.metadataWhitelist[l], - metadata = term.metadata[metadataKey] - - if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) { - this.invertedIndex[term][fieldName][docRef][metadataKey] = [] - } - - this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata) - } - } - - } -} - -/** - * Calculates the average document length for this index - * - * @private - */ -lunr.Builder.prototype.calculateAverageFieldLengths = function () { - - var fieldRefs = Object.keys(this.fieldLengths), - numberOfFields = fieldRefs.length, - accumulator = {}, - documentsWithField = {} - - for (var i = 0; i < numberOfFields; i++) { - var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]), - field = fieldRef.fieldName - - documentsWithField[field] || (documentsWithField[field] = 0) - documentsWithField[field] += 1 - - accumulator[field] || (accumulator[field] = 0) - accumulator[field] += this.fieldLengths[fieldRef] - } - - var fields = Object.keys(this._fields) - - for (var i = 0; i < fields.length; i++) { - var fieldName = fields[i] - accumulator[fieldName] = accumulator[fieldName] / documentsWithField[fieldName] - } - - this.averageFieldLength = accumulator -} - -/** - * Builds a vector space model of every document using lunr.Vector - * - * @private - */ -lunr.Builder.prototype.createFieldVectors = function () { - var fieldVectors = {}, - fieldRefs = Object.keys(this.fieldTermFrequencies), - fieldRefsLength = fieldRefs.length, - termIdfCache = Object.create(null) - - for (var i = 0; i < fieldRefsLength; i++) { - var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]), - fieldName = fieldRef.fieldName, - fieldLength = this.fieldLengths[fieldRef], - fieldVector = new lunr.Vector, - termFrequencies = this.fieldTermFrequencies[fieldRef], - terms = Object.keys(termFrequencies), - termsLength = terms.length - - - var fieldBoost = this._fields[fieldName].boost || 1, - docBoost = this._documents[fieldRef.docRef].boost || 1 - - for (var j = 0; j < termsLength; j++) { - var term = terms[j], - tf = termFrequencies[term], - termIndex = this.invertedIndex[term]._index, - idf, score, scoreWithPrecision - - if (termIdfCache[term] === undefined) { - idf = lunr.idf(this.invertedIndex[term], this.documentCount) - termIdfCache[term] = idf - } else { - idf = termIdfCache[term] - } - - score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[fieldName])) + tf) - score *= fieldBoost - score *= docBoost - scoreWithPrecision = Math.round(score * 1000) / 1000 - // Converts 1.23456789 to 1.234. - // Reducing the precision so that the vectors take up less - // space when serialised. Doing it now so that they behave - // the same before and after serialisation. Also, this is - // the fastest approach to reducing a number's precision in - // JavaScript. - - fieldVector.insert(termIndex, scoreWithPrecision) - } - - fieldVectors[fieldRef] = fieldVector - } - - this.fieldVectors = fieldVectors -} - -/** - * Creates a token set of all tokens in the index using lunr.TokenSet - * - * @private - */ -lunr.Builder.prototype.createTokenSet = function () { - this.tokenSet = lunr.TokenSet.fromArray( - Object.keys(this.invertedIndex).sort() - ) -} - -/** - * Builds the index, creating an instance of lunr.Index. - * - * This completes the indexing process and should only be called - * once all documents have been added to the index. - * - * @returns {lunr.Index} - */ -lunr.Builder.prototype.build = function () { - this.calculateAverageFieldLengths() - this.createFieldVectors() - this.createTokenSet() - - return new lunr.Index({ - invertedIndex: this.invertedIndex, - fieldVectors: this.fieldVectors, - tokenSet: this.tokenSet, - fields: Object.keys(this._fields), - pipeline: this.searchPipeline - }) -} - -/** - * Applies a plugin to the index builder. - * - * A plugin is a function that is called with the index builder as its context. - * Plugins can be used to customise or extend the behaviour of the index - * in some way. A plugin is just a function, that encapsulated the custom - * behaviour that should be applied when building the index. - * - * The plugin function will be called with the index builder as its argument, additional - * arguments can also be passed when calling use. The function will be called - * with the index builder as its context. - * - * @param {Function} plugin The plugin to apply. - */ -lunr.Builder.prototype.use = function (fn) { - var args = Array.prototype.slice.call(arguments, 1) - args.unshift(this) - fn.apply(this, args) -} -/** - * Contains and collects metadata about a matching document. - * A single instance of lunr.MatchData is returned as part of every - * lunr.Index~Result. - * - * @constructor - * @param {string} term - The term this match data is associated with - * @param {string} field - The field in which the term was found - * @param {object} metadata - The metadata recorded about this term in this field - * @property {object} metadata - A cloned collection of metadata associated with this document. - * @see {@link lunr.Index~Result} - */ -lunr.MatchData = function (term, field, metadata) { - var clonedMetadata = Object.create(null), - metadataKeys = Object.keys(metadata || {}) - - // Cloning the metadata to prevent the original - // being mutated during match data combination. - // Metadata is kept in an array within the inverted - // index so cloning the data can be done with - // Array#slice - for (var i = 0; i < metadataKeys.length; i++) { - var key = metadataKeys[i] - clonedMetadata[key] = metadata[key].slice() - } - - this.metadata = Object.create(null) - - if (term !== undefined) { - this.metadata[term] = Object.create(null) - this.metadata[term][field] = clonedMetadata - } -} - -/** - * An instance of lunr.MatchData will be created for every term that matches a - * document. However only one instance is required in a lunr.Index~Result. This - * method combines metadata from another instance of lunr.MatchData with this - * objects metadata. - * - * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one. - * @see {@link lunr.Index~Result} - */ -lunr.MatchData.prototype.combine = function (otherMatchData) { - var terms = Object.keys(otherMatchData.metadata) - - for (var i = 0; i < terms.length; i++) { - var term = terms[i], - fields = Object.keys(otherMatchData.metadata[term]) - - if (this.metadata[term] == undefined) { - this.metadata[term] = Object.create(null) - } - - for (var j = 0; j < fields.length; j++) { - var field = fields[j], - keys = Object.keys(otherMatchData.metadata[term][field]) - - if (this.metadata[term][field] == undefined) { - this.metadata[term][field] = Object.create(null) - } - - for (var k = 0; k < keys.length; k++) { - var key = keys[k] - - if (this.metadata[term][field][key] == undefined) { - this.metadata[term][field][key] = otherMatchData.metadata[term][field][key] - } else { - this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key]) - } - - } - } - } -} - -/** - * Add metadata for a term/field pair to this instance of match data. - * - * @param {string} term - The term this match data is associated with - * @param {string} field - The field in which the term was found - * @param {object} metadata - The metadata recorded about this term in this field - */ -lunr.MatchData.prototype.add = function (term, field, metadata) { - if (!(term in this.metadata)) { - this.metadata[term] = Object.create(null) - this.metadata[term][field] = metadata - return - } - - if (!(field in this.metadata[term])) { - this.metadata[term][field] = metadata - return - } - - var metadataKeys = Object.keys(metadata) - - for (var i = 0; i < metadataKeys.length; i++) { - var key = metadataKeys[i] - - if (key in this.metadata[term][field]) { - this.metadata[term][field][key] = this.metadata[term][field][key].concat(metadata[key]) - } else { - this.metadata[term][field][key] = metadata[key] - } - } -} -/** - * A lunr.Query provides a programmatic way of defining queries to be performed - * against a {@link lunr.Index}. - * - * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method - * so the query object is pre-initialized with the right index fields. - * - * @constructor - * @property {lunr.Query~Clause[]} clauses - An array of query clauses. - * @property {string[]} allFields - An array of all available fields in a lunr.Index. - */ -lunr.Query = function (allFields) { - this.clauses = [] - this.allFields = allFields -} - -/** - * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause. - * - * This allows wildcards to be added to the beginning and end of a term without having to manually do any string - * concatenation. - * - * The wildcard constants can be bitwise combined to select both leading and trailing wildcards. - * - * @constant - * @default - * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour - * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists - * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists - * @see lunr.Query~Clause - * @see lunr.Query#clause - * @see lunr.Query#term - * @example query term with trailing wildcard - * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING }) - * @example query term with leading and trailing wildcard - * query.term('foo', { - * wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING - * }) - */ - -lunr.Query.wildcard = new String ("*") -lunr.Query.wildcard.NONE = 0 -lunr.Query.wildcard.LEADING = 1 -lunr.Query.wildcard.TRAILING = 2 - -/** - * Constants for indicating what kind of presence a term must have in matching documents. - * - * @constant - * @enum {number} - * @see lunr.Query~Clause - * @see lunr.Query#clause - * @see lunr.Query#term - * @example query term with required presence - * query.term('foo', { presence: lunr.Query.presence.REQUIRED }) - */ -lunr.Query.presence = { - /** - * Term's presence in a document is optional, this is the default value. - */ - OPTIONAL: 1, - - /** - * Term's presence in a document is required, documents that do not contain - * this term will not be returned. - */ - REQUIRED: 2, - - /** - * Term's presence in a document is prohibited, documents that do contain - * this term will not be returned. - */ - PROHIBITED: 3 -} - -/** - * A single clause in a {@link lunr.Query} contains a term and details on how to - * match that term against a {@link lunr.Index}. - * - * @typedef {Object} lunr.Query~Clause - * @property {string[]} fields - The fields in an index this clause should be matched against. - * @property {number} [boost=1] - Any boost that should be applied when matching this clause. - * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be. - * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline. - * @property {number} [wildcard=lunr.Query.wildcard.NONE] - Whether the term should have wildcards appended or prepended. - * @property {number} [presence=lunr.Query.presence.OPTIONAL] - The terms presence in any matching documents. - */ - -/** - * Adds a {@link lunr.Query~Clause} to this query. - * - * Unless the clause contains the fields to be matched all fields will be matched. In addition - * a default boost of 1 is applied to the clause. - * - * @param {lunr.Query~Clause} clause - The clause to add to this query. - * @see lunr.Query~Clause - * @returns {lunr.Query} - */ -lunr.Query.prototype.clause = function (clause) { - if (!('fields' in clause)) { - clause.fields = this.allFields - } - - if (!('boost' in clause)) { - clause.boost = 1 - } - - if (!('usePipeline' in clause)) { - clause.usePipeline = true - } - - if (!('wildcard' in clause)) { - clause.wildcard = lunr.Query.wildcard.NONE - } - - if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) { - clause.term = "*" + clause.term - } - - if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) { - clause.term = "" + clause.term + "*" - } - - if (!('presence' in clause)) { - clause.presence = lunr.Query.presence.OPTIONAL - } - - this.clauses.push(clause) - - return this -} - -/** - * A negated query is one in which every clause has a presence of - * prohibited. These queries require some special processing to return - * the expected results. - * - * @returns boolean - */ -lunr.Query.prototype.isNegated = function () { - for (var i = 0; i < this.clauses.length; i++) { - if (this.clauses[i].presence != lunr.Query.presence.PROHIBITED) { - return false - } - } - - return true -} - -/** - * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause} - * to the list of clauses that make up this query. - * - * The term is used as is, i.e. no tokenization will be performed by this method. Instead conversion - * to a token or token-like string should be done before calling this method. - * - * The term will be converted to a string by calling `toString`. Multiple terms can be passed as an - * array, each term in the array will share the same options. - * - * @param {object|object[]} term - The term(s) to add to the query. - * @param {object} [options] - Any additional properties to add to the query clause. - * @returns {lunr.Query} - * @see lunr.Query#clause - * @see lunr.Query~Clause - * @example adding a single term to a query - * query.term("foo") - * @example adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard - * query.term("foo", { - * fields: ["title"], - * boost: 10, - * wildcard: lunr.Query.wildcard.TRAILING - * }) - * @example using lunr.tokenizer to convert a string to tokens before using them as terms - * query.term(lunr.tokenizer("foo bar")) - */ -lunr.Query.prototype.term = function (term, options) { - if (Array.isArray(term)) { - term.forEach(function (t) { this.term(t, lunr.utils.clone(options)) }, this) - return this - } - - var clause = options || {} - clause.term = term.toString() - - this.clause(clause) - - return this -} -lunr.QueryParseError = function (message, start, end) { - this.name = "QueryParseError" - this.message = message - this.start = start - this.end = end -} - -lunr.QueryParseError.prototype = new Error -lunr.QueryLexer = function (str) { - this.lexemes = [] - this.str = str - this.length = str.length - this.pos = 0 - this.start = 0 - this.escapeCharPositions = [] -} - -lunr.QueryLexer.prototype.run = function () { - var state = lunr.QueryLexer.lexText - - while (state) { - state = state(this) - } -} - -lunr.QueryLexer.prototype.sliceString = function () { - var subSlices = [], - sliceStart = this.start, - sliceEnd = this.pos - - for (var i = 0; i < this.escapeCharPositions.length; i++) { - sliceEnd = this.escapeCharPositions[i] - subSlices.push(this.str.slice(sliceStart, sliceEnd)) - sliceStart = sliceEnd + 1 - } - - subSlices.push(this.str.slice(sliceStart, this.pos)) - this.escapeCharPositions.length = 0 - - return subSlices.join('') -} - -lunr.QueryLexer.prototype.emit = function (type) { - this.lexemes.push({ - type: type, - str: this.sliceString(), - start: this.start, - end: this.pos - }) - - this.start = this.pos -} - -lunr.QueryLexer.prototype.escapeCharacter = function () { - this.escapeCharPositions.push(this.pos - 1) - this.pos += 1 -} - -lunr.QueryLexer.prototype.next = function () { - if (this.pos >= this.length) { - return lunr.QueryLexer.EOS - } - - var char = this.str.charAt(this.pos) - this.pos += 1 - return char -} - -lunr.QueryLexer.prototype.width = function () { - return this.pos - this.start -} - -lunr.QueryLexer.prototype.ignore = function () { - if (this.start == this.pos) { - this.pos += 1 - } - - this.start = this.pos -} - -lunr.QueryLexer.prototype.backup = function () { - this.pos -= 1 -} - -lunr.QueryLexer.prototype.acceptDigitRun = function () { - var char, charCode - - do { - char = this.next() - charCode = char.charCodeAt(0) - } while (charCode > 47 && charCode < 58) - - if (char != lunr.QueryLexer.EOS) { - this.backup() - } -} - -lunr.QueryLexer.prototype.more = function () { - return this.pos < this.length -} - -lunr.QueryLexer.EOS = 'EOS' -lunr.QueryLexer.FIELD = 'FIELD' -lunr.QueryLexer.TERM = 'TERM' -lunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE' -lunr.QueryLexer.BOOST = 'BOOST' -lunr.QueryLexer.PRESENCE = 'PRESENCE' - -lunr.QueryLexer.lexField = function (lexer) { - lexer.backup() - lexer.emit(lunr.QueryLexer.FIELD) - lexer.ignore() - return lunr.QueryLexer.lexText -} - -lunr.QueryLexer.lexTerm = function (lexer) { - if (lexer.width() > 1) { - lexer.backup() - lexer.emit(lunr.QueryLexer.TERM) - } - - lexer.ignore() - - if (lexer.more()) { - return lunr.QueryLexer.lexText - } -} - -lunr.QueryLexer.lexEditDistance = function (lexer) { - lexer.ignore() - lexer.acceptDigitRun() - lexer.emit(lunr.QueryLexer.EDIT_DISTANCE) - return lunr.QueryLexer.lexText -} - -lunr.QueryLexer.lexBoost = function (lexer) { - lexer.ignore() - lexer.acceptDigitRun() - lexer.emit(lunr.QueryLexer.BOOST) - return lunr.QueryLexer.lexText -} - -lunr.QueryLexer.lexEOS = function (lexer) { - if (lexer.width() > 0) { - lexer.emit(lunr.QueryLexer.TERM) - } -} - -// This matches the separator used when tokenising fields -// within a document. These should match otherwise it is -// not possible to search for some tokens within a document. -// -// It is possible for the user to change the separator on the -// tokenizer so it _might_ clash with any other of the special -// characters already used within the search string, e.g. :. -// -// This means that it is possible to change the separator in -// such a way that makes some words unsearchable using a search -// string. -lunr.QueryLexer.termSeparator = lunr.tokenizer.separator - -lunr.QueryLexer.lexText = function (lexer) { - while (true) { - var char = lexer.next() - - if (char == lunr.QueryLexer.EOS) { - return lunr.QueryLexer.lexEOS - } - - // Escape character is '\' - if (char.charCodeAt(0) == 92) { - lexer.escapeCharacter() - continue - } - - if (char == ":") { - return lunr.QueryLexer.lexField - } - - if (char == "~") { - lexer.backup() - if (lexer.width() > 0) { - lexer.emit(lunr.QueryLexer.TERM) - } - return lunr.QueryLexer.lexEditDistance - } - - if (char == "^") { - lexer.backup() - if (lexer.width() > 0) { - lexer.emit(lunr.QueryLexer.TERM) - } - return lunr.QueryLexer.lexBoost - } - - // "+" indicates term presence is required - // checking for length to ensure that only - // leading "+" are considered - if (char == "+" && lexer.width() === 1) { - lexer.emit(lunr.QueryLexer.PRESENCE) - return lunr.QueryLexer.lexText - } - - // "-" indicates term presence is prohibited - // checking for length to ensure that only - // leading "-" are considered - if (char == "-" && lexer.width() === 1) { - lexer.emit(lunr.QueryLexer.PRESENCE) - return lunr.QueryLexer.lexText - } - - if (char.match(lunr.QueryLexer.termSeparator)) { - return lunr.QueryLexer.lexTerm - } - } -} - -lunr.QueryParser = function (str, query) { - this.lexer = new lunr.QueryLexer (str) - this.query = query - this.currentClause = {} - this.lexemeIdx = 0 -} - -lunr.QueryParser.prototype.parse = function () { - this.lexer.run() - this.lexemes = this.lexer.lexemes - - var state = lunr.QueryParser.parseClause - - while (state) { - state = state(this) - } - - return this.query -} - -lunr.QueryParser.prototype.peekLexeme = function () { - return this.lexemes[this.lexemeIdx] -} - -lunr.QueryParser.prototype.consumeLexeme = function () { - var lexeme = this.peekLexeme() - this.lexemeIdx += 1 - return lexeme -} - -lunr.QueryParser.prototype.nextClause = function () { - var completedClause = this.currentClause - this.query.clause(completedClause) - this.currentClause = {} -} - -lunr.QueryParser.parseClause = function (parser) { - var lexeme = parser.peekLexeme() - - if (lexeme == undefined) { - return - } - - switch (lexeme.type) { - case lunr.QueryLexer.PRESENCE: - return lunr.QueryParser.parsePresence - case lunr.QueryLexer.FIELD: - return lunr.QueryParser.parseField - case lunr.QueryLexer.TERM: - return lunr.QueryParser.parseTerm - default: - var errorMessage = "expected either a field or a term, found " + lexeme.type - - if (lexeme.str.length >= 1) { - errorMessage += " with value '" + lexeme.str + "'" - } - - throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) - } -} - -lunr.QueryParser.parsePresence = function (parser) { - var lexeme = parser.consumeLexeme() - - if (lexeme == undefined) { - return - } - - switch (lexeme.str) { - case "-": - parser.currentClause.presence = lunr.Query.presence.PROHIBITED - break - case "+": - parser.currentClause.presence = lunr.Query.presence.REQUIRED - break - default: - var errorMessage = "unrecognised presence operator'" + lexeme.str + "'" - throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) - } - - var nextLexeme = parser.peekLexeme() - - if (nextLexeme == undefined) { - var errorMessage = "expecting term or field, found nothing" - throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) - } - - switch (nextLexeme.type) { - case lunr.QueryLexer.FIELD: - return lunr.QueryParser.parseField - case lunr.QueryLexer.TERM: - return lunr.QueryParser.parseTerm - default: - var errorMessage = "expecting term or field, found '" + nextLexeme.type + "'" - throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) - } -} - -lunr.QueryParser.parseField = function (parser) { - var lexeme = parser.consumeLexeme() - - if (lexeme == undefined) { - return - } - - if (parser.query.allFields.indexOf(lexeme.str) == -1) { - var possibleFields = parser.query.allFields.map(function (f) { return "'" + f + "'" }).join(', '), - errorMessage = "unrecognised field '" + lexeme.str + "', possible fields: " + possibleFields - - throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) - } - - parser.currentClause.fields = [lexeme.str] - - var nextLexeme = parser.peekLexeme() - - if (nextLexeme == undefined) { - var errorMessage = "expecting term, found nothing" - throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) - } - - switch (nextLexeme.type) { - case lunr.QueryLexer.TERM: - return lunr.QueryParser.parseTerm - default: - var errorMessage = "expecting term, found '" + nextLexeme.type + "'" - throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) - } -} - -lunr.QueryParser.parseTerm = function (parser) { - var lexeme = parser.consumeLexeme() - - if (lexeme == undefined) { - return - } - - parser.currentClause.term = lexeme.str.toLowerCase() - - if (lexeme.str.indexOf("*") != -1) { - parser.currentClause.usePipeline = false - } - - var nextLexeme = parser.peekLexeme() - - if (nextLexeme == undefined) { - parser.nextClause() - return - } - - switch (nextLexeme.type) { - case lunr.QueryLexer.TERM: - parser.nextClause() - return lunr.QueryParser.parseTerm - case lunr.QueryLexer.FIELD: - parser.nextClause() - return lunr.QueryParser.parseField - case lunr.QueryLexer.EDIT_DISTANCE: - return lunr.QueryParser.parseEditDistance - case lunr.QueryLexer.BOOST: - return lunr.QueryParser.parseBoost - case lunr.QueryLexer.PRESENCE: - parser.nextClause() - return lunr.QueryParser.parsePresence - default: - var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'" - throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) - } -} - -lunr.QueryParser.parseEditDistance = function (parser) { - var lexeme = parser.consumeLexeme() - - if (lexeme == undefined) { - return - } - - var editDistance = parseInt(lexeme.str, 10) - - if (isNaN(editDistance)) { - var errorMessage = "edit distance must be numeric" - throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) - } - - parser.currentClause.editDistance = editDistance - - var nextLexeme = parser.peekLexeme() - - if (nextLexeme == undefined) { - parser.nextClause() - return - } - - switch (nextLexeme.type) { - case lunr.QueryLexer.TERM: - parser.nextClause() - return lunr.QueryParser.parseTerm - case lunr.QueryLexer.FIELD: - parser.nextClause() - return lunr.QueryParser.parseField - case lunr.QueryLexer.EDIT_DISTANCE: - return lunr.QueryParser.parseEditDistance - case lunr.QueryLexer.BOOST: - return lunr.QueryParser.parseBoost - case lunr.QueryLexer.PRESENCE: - parser.nextClause() - return lunr.QueryParser.parsePresence - default: - var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'" - throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) - } -} - -lunr.QueryParser.parseBoost = function (parser) { - var lexeme = parser.consumeLexeme() - - if (lexeme == undefined) { - return - } - - var boost = parseInt(lexeme.str, 10) - - if (isNaN(boost)) { - var errorMessage = "boost must be numeric" - throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) - } - - parser.currentClause.boost = boost - - var nextLexeme = parser.peekLexeme() - - if (nextLexeme == undefined) { - parser.nextClause() - return - } - - switch (nextLexeme.type) { - case lunr.QueryLexer.TERM: - parser.nextClause() - return lunr.QueryParser.parseTerm - case lunr.QueryLexer.FIELD: - parser.nextClause() - return lunr.QueryParser.parseField - case lunr.QueryLexer.EDIT_DISTANCE: - return lunr.QueryParser.parseEditDistance - case lunr.QueryLexer.BOOST: - return lunr.QueryParser.parseBoost - case lunr.QueryLexer.PRESENCE: - parser.nextClause() - return lunr.QueryParser.parsePresence - default: - var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'" - throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) - } -} - - /** - * export the module via AMD, CommonJS or as a browser global - * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js - */ - ;(function (root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(factory) - } else if (typeof exports === 'object') { - /** - * Node. Does not work with strict CommonJS, but - * only CommonJS-like enviroments that support module.exports, - * like Node. - */ - module.exports = factory() - } else { - // Browser globals (root is window) - root.lunr = factory() - } - }(this, function () { - /** - * Just return a value to define the module export. - * This example returns an object, but the module - * can return a function as the exported value. - */ - return lunr - })) -})(); diff --git a/docs/assets/js/lunr/lunr.min.js b/docs/assets/js/lunr/lunr.min.js deleted file mode 100644 index f45a81eb..00000000 --- a/docs/assets/js/lunr/lunr.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(){var t,l,c,e,r,h,d,f,p,y,m,g,x,v,w,Q,k,S,E,L,b,P,T,O,I,i,n,s,z=function(e){var t=new z.Builder;return t.pipeline.add(z.trimmer,z.stopWordFilter,z.stemmer),t.searchPipeline.add(z.stemmer),e.call(t,t),t.build()};z.version="2.3.5",z.utils={},z.utils.warn=(t=this,function(e){t.console&&console.warn&&console.warn(e)}),z.utils.asString=function(e){return null==e?"":e.toString()},z.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i=this.length)return z.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},z.QueryLexer.prototype.width=function(){return this.pos-this.start},z.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},z.QueryLexer.prototype.backup=function(){this.pos-=1},z.QueryLexer.prototype.acceptDigitRun=function(){for(var e,t;47<(t=(e=this.next()).charCodeAt(0))&&t<58;);e!=z.QueryLexer.EOS&&this.backup()},z.QueryLexer.prototype.more=function(){return this.pos0&&t-1 in e}function i(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}function a(e,t,n){return xe(t)?Ee.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?Ee.grep(e,function(e){return e===t!==n}):"string"!=typeof t?Ee.grep(e,function(e){return pe.call(t,e)>-1!==n}):Ee.filter(t,e,n)}function s(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function u(e){var t={};return Ee.each(e.match(qe)||[],function(e,n){t[n]=!0}),t}function l(e){return e}function c(e){throw e}function f(e,t,n,r){var o;try{e&&xe(o=e.promise)?o.call(e).done(t).fail(n):e&&xe(o=e.then)?o.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}function d(){ue.removeEventListener("DOMContentLoaded",d),e.removeEventListener("load",d),Ee.ready()}function p(e,t){return t.toUpperCase()}function h(e){return e.replace(Be,"ms-").replace($e,p)}function m(){this.expando=Ee.expando+m.uid++}function g(e){return"true"===e?!0:"false"===e?!1:"null"===e?null:e===+e+""?+e:Ue.test(e)?JSON.parse(e):e}function v(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Xe,"-$&").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n=g(n)}catch(o){}We.set(e,t,n)}else n=void 0;return n}function y(e,t,n,r){var o,i,a=20,s=r?function(){return r.cur()}:function(){return Ee.css(e,t,"")},u=s(),l=n&&n[3]||(Ee.cssNumber[t]?"":"px"),c=e.nodeType&&(Ee.cssNumber[t]||"px"!==l&&+u)&&Ye.exec(Ee.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a--;)Ee.style(e,t,c+l),(1-i)*(1-(i=s()/u||.5))<=0&&(a=0),c/=i;c=2*c,Ee.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,o=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=o)),o}function b(e){var t,n=e.ownerDocument,r=e.nodeName,o=tt[r];return o?o:(t=n.body.appendChild(n.createElement(r)),o=Ee.css(t,"display"),t.parentNode.removeChild(t),"none"===o&&(o="block"),tt[r]=o,o)}function x(e,t){for(var n,r,o=[],i=0,a=e.length;a>i;i++)r=e[i],r.style&&(n=r.style.display,t?("none"===n&&(o[i]=ze.get(r,"display")||null,o[i]||(r.style.display="")),""===r.style.display&&Je(r)&&(o[i]=b(r))):"none"!==n&&(o[i]="none",ze.set(r,"display",n)));for(i=0;a>i;i++)null!=o[i]&&(e[i].style.display=o[i]);return e}function w(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&i(e,t)?Ee.merge([e],n):n}function C(e,t){for(var n=0,r=e.length;r>n;n++)ze.set(e[n],"globalEval",!t||ze.get(t[n],"globalEval"))}function T(e,t,n,o,i){for(var a,s,u,l,c,f,d=t.createDocumentFragment(),p=[],h=0,m=e.length;m>h;h++)if(a=e[h],a||0===a)if("object"===r(a))Ee.merge(p,a.nodeType?[a]:a);else if(at.test(a)){for(s=s||d.appendChild(t.createElement("div")),u=(rt.exec(a)||["",""])[1].toLowerCase(),l=it[u]||it._default,s.innerHTML=l[1]+Ee.htmlPrefilter(a)+l[2],f=l[0];f--;)s=s.lastChild;Ee.merge(p,s.childNodes),s=d.firstChild,s.textContent=""}else p.push(t.createTextNode(a));for(d.textContent="",h=0;a=p[h++];)if(o&&Ee.inArray(a,o)>-1)i&&i.push(a);else if(c=Ke(a),s=w(d.appendChild(a),"script"),c&&C(s),n)for(f=0;a=s[f++];)ot.test(a.type||"")&&n.push(a);return d}function E(){return!0}function S(){return!1}function k(e,t){return e===A()==("focus"===t)}function A(){try{return ue.activeElement}catch(e){}}function N(e,t,n,r,o,i){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)N(e,s,n,r,t[s],i);return e}if(null==r&&null==o?(o=n,r=n=void 0):null==o&&("string"==typeof n?(o=r,r=void 0):(o=r,r=n,n=void 0)),o===!1)o=S;else if(!o)return e;return 1===i&&(a=o,o=function(e){return Ee().off(e),a.apply(this,arguments)},o.guid=a.guid||(a.guid=Ee.guid++)),e.each(function(){Ee.event.add(this,t,o,r,n)})}function j(e,t,n){return n?(ze.set(e,t,!1),void Ee.event.add(e,t,{namespace:!1,handler:function(e){var r,o,i=ze.get(this,t);if(1&e.isTrigger&&this[t]){if(i.length)(Ee.event.special[t]||{}).delegateType&&e.stopPropagation();else if(i=ce.call(arguments),ze.set(this,t,i),r=n(this,t),this[t](),o=ze.get(this,t),i!==o||r?ze.set(this,t,!1):o={},i!==o)return e.stopImmediatePropagation(),e.preventDefault(),o.value}else i.length&&(ze.set(this,t,{value:Ee.event.trigger(Ee.extend(i[0],Ee.Event.prototype),i.slice(1),this)}),e.stopImmediatePropagation())}})):void(void 0===ze.get(e,t)&&Ee.event.add(e,t,E))}function I(e,t){return i(e,"table")&&i(11!==t.nodeType?t:t.firstChild,"tr")?Ee(e).children("tbody")[0]||e:e}function L(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function D(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function O(e,t){var n,r,o,i,a,s,u,l;if(1===t.nodeType){if(ze.hasData(e)&&(i=ze.access(e),a=ze.set(t,i),l=i.events)){delete a.handle,a.events={};for(o in l)for(n=0,r=l[o].length;r>n;n++)Ee.event.add(t,o,l[o][n])}We.hasData(e)&&(s=We.access(e),u=Ee.extend({},s),We.set(t,u))}}function H(e,t){var n=t.nodeName.toLowerCase();"input"===n&&nt.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function P(e,t,r,o){t=fe.apply([],t);var i,a,s,u,l,c,f=0,d=e.length,p=d-1,h=t[0],m=xe(h);if(m||d>1&&"string"==typeof h&&!be.checkClone&&dt.test(h))return e.each(function(n){var i=e.eq(n);m&&(t[0]=h.call(this,n,i.html())),P(i,t,r,o)});if(d&&(i=T(t,e[0].ownerDocument,!1,e,o),a=i.firstChild,1===i.childNodes.length&&(i=a),a||o)){for(s=Ee.map(w(i,"script"),L),u=s.length;d>f;f++)l=i,f!==p&&(l=Ee.clone(l,!0,!0),u&&Ee.merge(s,w(l,"script"))),r.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,Ee.map(s,D),f=0;u>f;f++)l=s[f],ot.test(l.type||"")&&!ze.access(l,"globalEval")&&Ee.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?Ee._evalUrl&&!l.noModule&&Ee._evalUrl(l.src,{nonce:l.nonce||l.getAttribute("nonce")}):n(l.textContent.replace(pt,""),l,c))}return e}function q(e,t,n){for(var r,o=t?Ee.filter(t,e):e,i=0;null!=(r=o[i]);i++)n||1!==r.nodeType||Ee.cleanData(w(r)),r.parentNode&&(n&&Ke(r)&&C(w(r,"script")),r.parentNode.removeChild(r));return e}function M(e,t,n){var r,o,i,a,s=e.style;return n=n||mt(e),n&&(a=n.getPropertyValue(t)||n[t],""!==a||Ke(e)||(a=Ee.style(e,t)),!be.pixelBoxStyles()&&ht.test(a)&>.test(t)&&(r=s.width,o=s.minWidth,i=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=o,s.maxWidth=i)),void 0!==a?a+"":a}function _(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function R(e){for(var t=e[0].toUpperCase()+e.slice(1),n=vt.length;n--;)if(e=vt[n]+t,e in yt)return e}function B(e){var t=Ee.cssProps[e]||bt[e];return t?t:e in yt?e:bt[e]=R(e)||e}function $(e,t,n){var r=Ye.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function F(e,t,n,r,o,i){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;4>a;a+=2)"margin"===n&&(u+=Ee.css(e,n+Ve[a],!0,o)),r?("content"===n&&(u-=Ee.css(e,"padding"+Ve[a],!0,o)),"margin"!==n&&(u-=Ee.css(e,"border"+Ve[a]+"Width",!0,o))):(u+=Ee.css(e,"padding"+Ve[a],!0,o),"padding"!==n?u+=Ee.css(e,"border"+Ve[a]+"Width",!0,o):s+=Ee.css(e,"border"+Ve[a]+"Width",!0,o));return!r&&i>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-i-u-s-.5))||0),u}function z(e,t,n){var r=mt(e),o=!be.boxSizingReliable()||n,i=o&&"border-box"===Ee.css(e,"boxSizing",!1,r),a=i,s=M(e,t,r),u="offset"+t[0].toUpperCase()+t.slice(1);if(ht.test(s)){if(!n)return s;s="auto"}return(!be.boxSizingReliable()&&i||"auto"===s||!parseFloat(s)&&"inline"===Ee.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===Ee.css(e,"boxSizing",!1,r),a=u in e,a&&(s=e[u])),s=parseFloat(s)||0,s+F(e,t,n||(i?"border":"content"),a,r,s)+"px"}function W(e,t,n,r,o){return new W.prototype.init(e,t,n,r,o)}function U(){St&&(ue.hidden===!1&&e.requestAnimationFrame?e.requestAnimationFrame(U):e.setTimeout(U,Ee.fx.interval),Ee.fx.tick())}function X(){return e.setTimeout(function(){Et=void 0}),Et=Date.now()}function Q(e,t){var n,r=0,o={height:e};for(t=t?1:0;4>r;r+=2-t)n=Ve[r],o["margin"+n]=o["padding"+n]=e;return t&&(o.opacity=o.width=e),o}function Y(e,t,n){for(var r,o=(K.tweeners[t]||[]).concat(K.tweeners["*"]),i=0,a=o.length;a>i;i++)if(r=o[i].call(n,t,e))return r}function V(e,t,n){var r,o,i,a,s,u,l,c,f="width"in t||"height"in t,d=this,p={},h=e.style,m=e.nodeType&&Je(e),g=ze.get(e,"fxshow");n.queue||(a=Ee._queueHooks(e,"fx"),null==a.unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,d.always(function(){d.always(function(){a.unqueued--,Ee.queue(e,"fx").length||a.empty.fire()})}));for(r in t)if(o=t[r],kt.test(o)){if(delete t[r],i=i||"toggle"===o,o===(m?"hide":"show")){if("show"!==o||!g||void 0===g[r])continue;m=!0}p[r]=g&&g[r]||Ee.style(e,r)}if(u=!Ee.isEmptyObject(t),u||!Ee.isEmptyObject(p)){f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],l=g&&g.display,null==l&&(l=ze.get(e,"display")),c=Ee.css(e,"display"),"none"===c&&(l?c=l:(x([e],!0),l=e.style.display||l,c=Ee.css(e,"display"),x([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===Ee.css(e,"float")&&(u||(d.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",d.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1;for(r in p)u||(g?"hidden"in g&&(m=g.hidden):g=ze.access(e,"fxshow",{display:l}),i&&(g.hidden=!m),m&&x([e],!0),d.done(function(){m||x([e]),ze.remove(e,"fxshow");for(r in p)Ee.style(e,r,p[r])})),u=Y(m?g[r]:0,r,d),r in g||(g[r]=u.start,m&&(u.end=u.start,u.start=0))}}function G(e,t){var n,r,o,i,a;for(n in e)if(r=h(n),o=t[r],i=e[n],Array.isArray(i)&&(o=i[1],i=e[n]=i[0]),n!==r&&(e[r]=i,delete e[n]),a=Ee.cssHooks[r],a&&"expand"in a){i=a.expand(i),delete e[r];for(n in i)n in e||(e[n]=i[n],t[n]=o)}else t[r]=o}function K(e,t,n){var r,o,i=0,a=K.prefilters.length,s=Ee.Deferred().always(function(){delete u.elem}),u=function(){if(o)return!1;for(var t=Et||X(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,i=1-r,a=0,u=l.tweens.length;u>a;a++)l.tweens[a].run(i);return s.notifyWith(e,[l,i,n]),1>i&&u?n:(u||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:Ee.extend({},t),opts:Ee.extend(!0,{specialEasing:{},easing:Ee.easing._default},n),originalProperties:t,originalOptions:n,startTime:Et||X(),duration:n.duration,tweens:[],createTween:function(t,n){var r=Ee.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(o)return this;for(o=!0;r>n;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(G(c,l.opts.specialEasing);a>i;i++)if(r=K.prefilters[i].call(l,e,c,l.opts))return xe(r.stop)&&(Ee._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return Ee.map(c,Y,l),xe(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),Ee.fx.timer(Ee.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}function Z(e){var t=e.match(qe)||[];return t.join(" ")}function J(e){return e.getAttribute&&e.getAttribute("class")||""}function ee(e){return Array.isArray(e)?e:"string"==typeof e?e.match(qe)||[]:[]}function te(e,t,n,o){var i;if(Array.isArray(t))Ee.each(t,function(t,r){n||_t.test(e)?o(e,r):te(e+"["+("object"==typeof r&&null!=r?t:"")+"]",r,n,o)});else if(n||"object"!==r(t))o(e,t);else for(i in t)te(e+"["+i+"]",t[i],n,o)}function ne(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,o=0,i=t.toLowerCase().match(qe)||[];if(xe(n))for(;r=i[o++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function re(e,t,n,r){function o(s){var u;return i[s]=!0,Ee.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||a||i[l]?a?!(u=l):void 0:(t.dataTypes.unshift(l),o(l),!1)}),u}var i={},a=e===Gt;return o(t.dataTypes[0])||!i["*"]&&o("*")}function oe(e,t){var n,r,o=Ee.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((o[n]?e:r||(r={}))[n]=t[n]);return r&&Ee.extend(!0,e,r),e}function ie(e,t,n){for(var r,o,i,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(o in s)if(s[o]&&s[o].test(r)){u.unshift(o);break}if(u[0]in n)i=u[0];else{for(o in n){if(!u[0]||e.converters[o+" "+u[0]]){i=o;break}a||(a=o)}i=i||a}return i?(i!==u[0]&&u.unshift(i),n[i]):void 0}function ae(e,t,n,r){var o,i,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(i=c.shift();i;)if(e.responseFields[i]&&(n[e.responseFields[i]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=i,i=c.shift())if("*"===i)i=u;else if("*"!==u&&u!==i){if(a=l[u+" "+i]||l["* "+i],!a)for(o in l)if(s=o.split(" "),s[1]===i&&(a=l[u+" "+s[0]]||l["* "+s[0]])){a===!0?a=l[o]:l[o]!==!0&&(i=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(f){return{state:"parsererror",error:a?f:"No conversion from "+u+" to "+i}}}return{state:"success",data:t}}var se=[],ue=e.document,le=Object.getPrototypeOf,ce=se.slice,fe=se.concat,de=se.push,pe=se.indexOf,he={},me=he.toString,ge=he.hasOwnProperty,ve=ge.toString,ye=ve.call(Object),be={},xe=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},we=function(e){return null!=e&&e===e.window},Ce={type:!0,src:!0,nonce:!0,noModule:!0},Te="3.4.1",Ee=function(e,t){return new Ee.fn.init(e,t)},Se=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;Ee.fn=Ee.prototype={jquery:Te,constructor:Ee,length:0,toArray:function(){return ce.call(this)},get:function(e){return null==e?ce.call(this):0>e?this[e+this.length]:this[e]},pushStack:function(e){var t=Ee.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return Ee.each(this,e)},map:function(e){return this.pushStack(Ee.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(ce.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:de,sort:se.sort,splice:se.splice},Ee.extend=Ee.fn.extend=function(){var e,t,n,r,o,i,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||xe(a)||(a={}),s===u&&(a=this,s--);u>s;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(Ee.isPlainObject(r)||(o=Array.isArray(r)))?(n=a[t],i=o&&!Array.isArray(n)?[]:o||Ee.isPlainObject(n)?n:{},o=!1,a[t]=Ee.extend(l,i,r)):void 0!==r&&(a[t]=r));return a},Ee.extend({expando:"jQuery"+(Te+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return e&&"[object Object]"===me.call(e)?(t=le(e))?(n=ge.call(t,"constructor")&&t.constructor,"function"==typeof n&&ve.call(n)===ye):!0:!1},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){n(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(o(e))for(n=e.length;n>r&&t.call(e[r],r,e[r])!==!1;r++);else for(r in e)if(t.call(e[r],r,e[r])===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(Se,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(o(Object(e))?Ee.merge(n,"string"==typeof e?[e]:e):de.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:pe.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,o=e.length;n>r;r++)e[o++]=t[r];return e.length=o,e},grep:function(e,t,n){for(var r,o=[],i=0,a=e.length,s=!n;a>i;i++)r=!t(e[i],i),r!==s&&o.push(e[i]);return o},map:function(e,t,n){var r,i,a=0,s=[];if(o(e))for(r=e.length;r>a;a++)i=t(e[a],a,n),null!=i&&s.push(i);else for(a in e)i=t(e[a],a,n),null!=i&&s.push(i);return fe.apply([],s)},guid:1,support:be}),"function"==typeof Symbol&&(Ee.fn[Symbol.iterator]=se[Symbol.iterator]),Ee.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){he["[object "+t+"]"]=t.toLowerCase()});var ke=function(e){function t(e,t,n,r){var o,i,a,s,u,l,c,d=t&&t.ownerDocument,h=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==h&&9!==h&&11!==h)return n;if(!r&&((t?t.ownerDocument||t:$)!==O&&D(t),t=t||O,P)){if(11!==h&&(u=be.exec(e)))if(o=u[1]){if(9===h){if(!(a=t.getElementById(o)))return n;if(a.id===o)return n.push(a),n}else if(d&&(a=d.getElementById(o))&&R(t,a)&&a.id===o)return n.push(a),n}else{if(u[2])return J.apply(n,t.getElementsByTagName(e)),n;if((o=u[3])&&C.getElementsByClassName&&t.getElementsByClassName)return J.apply(n,t.getElementsByClassName(o)),n}if(C.qsa&&!Q[e+" "]&&(!q||!q.test(e))&&(1!==h||"object"!==t.nodeName.toLowerCase())){if(c=e,d=t,1===h&&fe.test(e)){for((s=t.getAttribute("id"))?s=s.replace(Te,Ee):t.setAttribute("id",s=B),l=k(e),i=l.length;i--;)l[i]="#"+s+" "+p(l[i]);c=l.join(","),d=xe.test(e)&&f(t.parentNode)||t}try{return J.apply(n,d.querySelectorAll(c)),n}catch(m){Q(e,!0)}finally{s===B&&t.removeAttribute("id")}}}return N(e.replace(ue,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>T.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[B]=!0,e}function o(e){var t=O.createElement("fieldset");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function i(e,t){for(var n=e.split("|"),r=n.length;r--;)T.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function l(e){return function(t){return"form"in t?t.parentNode&&t.disabled===!1?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ke(t)===e:t.disabled===e:"label"in t?t.disabled===e:!1}}function c(e){return r(function(t){return t=+t,r(function(n,r){for(var o,i=e([],n.length,t),a=i.length;a--;)n[o=i[a]]&&(n[o]=!(r[o]=n[o]))})})}function f(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function d(){}function p(e){for(var t=0,n=e.length,r="";n>t;t++)r+=e[t].value;return r}function h(e,t,n){var r=t.dir,o=t.next,i=o||r,a=n&&"parentNode"===i,s=z++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||a)return e(t,n,o);return!1}:function(t,n,u){var l,c,f,d=[F,s];if(u){for(;t=t[r];)if((1===t.nodeType||a)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||a)if(f=t[B]||(t[B]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),o&&o===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[i])&&l[0]===F&&l[1]===s)return d[2]=l[2];if(c[i]=d,d[2]=e(t,n,u))return!0}return!1}}function m(e){return e.length>1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function g(e,n,r){for(var o=0,i=n.length;i>o;o++)t(e,n[o],r);return r}function v(e,t,n,r,o){for(var i,a=[],s=0,u=e.length,l=null!=t;u>s;s++)(i=e[s])&&(n&&!n(i,r,o)||(a.push(i),l&&t.push(s)));return a}function y(e,t,n,o,i,a){return o&&!o[B]&&(o=y(o)),i&&!i[B]&&(i=y(i,a)),r(function(r,a,s,u){var l,c,f,d=[],p=[],h=a.length,m=r||g(t||"*",s.nodeType?[s]:s,[]),y=!e||!r&&t?m:v(m,d,e,s,u),b=n?i||(r?e:h||o)?[]:a:y;if(n&&n(y,b,s,u),o)for(l=v(b,p),o(l,[],s,u),c=l.length;c--;)(f=l[c])&&(b[p[c]]=!(y[p[c]]=f));if(r){if(i||e){if(i){for(l=[],c=b.length;c--;)(f=b[c])&&l.push(y[c]=f);i(null,b=[],l,u)}for(c=b.length;c--;)(f=b[c])&&(l=i?te(r,f):d[c])>-1&&(r[l]=!(a[l]=f))}}else b=v(b===a?b.splice(h,b.length):b),i?i(null,a,b,u):J.apply(a,b)})}function b(e){for(var t,n,r,o=e.length,i=T.relative[e[0].type],a=i||T.relative[" "],s=i?1:0,u=h(function(e){return e===t},a,!0),l=h(function(e){return te(t,e)>-1},a,!0),c=[function(e,n,r){var o=!i&&(r||n!==j)||((t=n).nodeType?u(e,n,r):l(e,n,r));return t=null,o}];o>s;s++)if(n=T.relative[e[s].type])c=[h(m(c),n)];else{if(n=T.filter[e[s].type].apply(null,e[s].matches),n[B]){for(r=++s;o>r&&!T.relative[e[r].type];r++);return y(s>1&&m(c),s>1&&p(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(ue,"$1"),n,r>s&&b(e.slice(s,r)),o>r&&b(e=e.slice(r)),o>r&&p(e))}c.push(n)}return m(c)}function x(e,n){var o=n.length>0,i=e.length>0,a=function(r,a,s,u,l){var c,f,d,p=0,h="0",m=r&&[],g=[],y=j,b=r||i&&T.find.TAG("*",l),x=F+=null==y?1:Math.random()||.1,w=b.length;for(l&&(j=a===O||a||l);h!==w&&null!=(c=b[h]);h++){if(i&&c){for(f=0,a||c.ownerDocument===O||(D(c),s=!P);d=e[f++];)if(d(c,a||O,s)){u.push(c);break}l&&(F=x)}o&&((c=!d&&c)&&p--,r&&m.push(c))}if(p+=h,o&&h!==p){for(f=0;d=n[f++];)d(m,g,a,s);if(r){if(p>0)for(;h--;)m[h]||g[h]||(g[h]=K.call(u));g=v(g)}J.apply(u,g),l&&!r&&g.length>0&&p+n.length>1&&t.uniqueSort(u)}return l&&(F=x,j=y),m};return o?r(a):a}var w,C,T,E,S,k,A,N,j,I,L,D,O,H,P,q,M,_,R,B="sizzle"+1*new Date,$=e.document,F=0,z=0,W=n(),U=n(),X=n(),Q=n(),Y=function(e,t){return e===t&&(L=!0),0},V={}.hasOwnProperty,G=[],K=G.pop,Z=G.push,J=G.push,ee=G.slice,te=function(e,t){for(var n=0,r=e.length;r>n;n++)if(e[n]===t)return n;return-1},ne="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",re="[\\x20\\t\\r\\n\\f]",oe="(?:\\\\.|[\\w-]|[^\x00-\\xa0])+",ie="\\["+re+"*("+oe+")(?:"+re+"*([*^$|!~]?=)"+re+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+oe+"))|)"+re+"*\\]",ae=":("+oe+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ie+")*)|.*)\\)|)",se=new RegExp(re+"+","g"),ue=new RegExp("^"+re+"+|((?:^|[^\\\\])(?:\\\\.)*)"+re+"+$","g"),le=new RegExp("^"+re+"*,"+re+"*"),ce=new RegExp("^"+re+"*([>+~]|"+re+")"+re+"*"),fe=new RegExp(re+"|>"),de=new RegExp(ae),pe=new RegExp("^"+oe+"$"),he={ID:new RegExp("^#("+oe+")"),CLASS:new RegExp("^\\.("+oe+")"),TAG:new RegExp("^("+oe+"|[*])"),ATTR:new RegExp("^"+ie),PSEUDO:new RegExp("^"+ae),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+re+"*(even|odd|(([+-]|)(\\d*)n|)"+re+"*(?:([+-]|)"+re+"*(\\d+)|))"+re+"*\\)|)","i"),bool:new RegExp("^(?:"+ne+")$","i"),needsContext:new RegExp("^"+re+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+re+"*((?:-\\d)?\\d*)"+re+"*\\)|)(?=[^-]|$)","i")},me=/HTML$/i,ge=/^(?:input|select|textarea|button)$/i,ve=/^h\d$/i,ye=/^[^{]+\{\s*\[native \w/,be=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,xe=/[+~]/,we=new RegExp("\\\\([\\da-f]{1,6}"+re+"?|("+re+")|.)","ig"),Ce=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},Te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,Ee=function(e,t){return t?"\x00"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Se=function(){D()},ke=h(function(e){return e.disabled===!0&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{J.apply(G=ee.call($.childNodes),$.childNodes),G[$.childNodes.length].nodeType}catch(Ae){J={apply:G.length?function(e,t){Z.apply(e,ee.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}C=t.support={},S=t.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!me.test(t||n&&n.nodeName||"HTML")},D=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:$;return r!==O&&9===r.nodeType&&r.documentElement?(O=r,H=O.documentElement,P=!S(O),$!==O&&(n=O.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Se,!1):n.attachEvent&&n.attachEvent("onunload",Se)),C.attributes=o(function(e){return e.className="i",!e.getAttribute("className")}),C.getElementsByTagName=o(function(e){return e.appendChild(O.createComment("")),!e.getElementsByTagName("*").length}),C.getElementsByClassName=ye.test(O.getElementsByClassName),C.getById=o(function(e){return H.appendChild(e).id=B,!O.getElementsByName||!O.getElementsByName(B).length}),C.getById?(T.filter.ID=function(e){var t=e.replace(we,Ce);return function(e){return e.getAttribute("id")===t}},T.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&P){var n=t.getElementById(e);return n?[n]:[]}}):(T.filter.ID=function(e){var t=e.replace(we,Ce);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},T.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&P){var n,r,o,i=t.getElementById(e);if(i){if(n=i.getAttributeNode("id"),n&&n.value===e)return[i];for(o=t.getElementsByName(e),r=0;i=o[r++];)if(n=i.getAttributeNode("id"),n&&n.value===e)return[i]}return[]}}),T.find.TAG=C.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):C.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],o=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[o++];)1===n.nodeType&&r.push(n);return r}return i},T.find.CLASS=C.getElementsByClassName&&function(e,t){return"undefined"!=typeof t.getElementsByClassName&&P?t.getElementsByClassName(e):void 0},M=[],q=[],(C.qsa=ye.test(O.querySelectorAll))&&(o(function(e){H.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+re+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||q.push("\\["+re+"*(?:value|"+ne+")"),e.querySelectorAll("[id~="+B+"-]").length||q.push("~="),e.querySelectorAll(":checked").length||q.push(":checked"),e.querySelectorAll("a#"+B+"+*").length||q.push(".#.+[+~]")}),o(function(e){e.innerHTML="";var t=O.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&q.push("name"+re+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),H.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),q.push(",.*:")})),(C.matchesSelector=ye.test(_=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&o(function(e){C.disconnectedMatch=_.call(e,"*"),_.call(e,"[s!='']:x"),M.push("!=",ae)}),q=q.length&&new RegExp(q.join("|")),M=M.length&&new RegExp(M.join("|")),t=ye.test(H.compareDocumentPosition),R=t||ye.test(H.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},Y=t?function(e,t){if(e===t)return L=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!C.sortDetached&&t.compareDocumentPosition(e)===n?e===O||e.ownerDocument===$&&R($,e)?-1:t===O||t.ownerDocument===$&&R($,t)?1:I?te(I,e)-te(I,t):0:4&n?-1:1)}:function(e,t){if(e===t)return L=!0,0;var n,r=0,o=e.parentNode,i=t.parentNode,s=[e],u=[t];if(!o||!i)return e===O?-1:t===O?1:o?-1:i?1:I?te(I,e)-te(I,t):0;if(o===i)return a(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;s[r]===u[r];)r++;return r?a(s[r],u[r]):s[r]===$?-1:u[r]===$?1:0},O):O},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==O&&D(e),C.matchesSelector&&P&&!Q[n+" "]&&(!M||!M.test(n))&&(!q||!q.test(n)))try{var r=_.call(e,n);if(r||C.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(o){Q(n,!0)}return t(n,O,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==O&&D(e),R(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==O&&D(e);var n=T.attrHandle[t.toLowerCase()],r=n&&V.call(T.attrHandle,t.toLowerCase())?n(e,t,!P):void 0;return void 0!==r?r:C.attributes||!P?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(Te,Ee)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,o=0;if(L=!C.detectDuplicates,I=!C.sortStable&&e.slice(0),e.sort(Y),L){for(;t=e[o++];)t===e[o]&&(r=n.push(o));for(;r--;)e.splice(n[r],1)}return I=null,e},E=t.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=E(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=E(t);return n},T=t.selectors={cacheLength:50,createPseudo:r,match:he,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(we,Ce),e[3]=(e[3]||e[4]||e[5]||"").replace(we,Ce),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&de.test(n)&&(t=k(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(we,Ce).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=W[e+" "];return t||(t=new RegExp("(^|"+re+")"+e+"("+re+"|$)"))&&W(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(o){var i=t.attr(o,e);return null==i?"!="===n:n?(i+="","="===n?i===r:"!="===n?i!==r:"^="===n?r&&0===i.indexOf(r):"*="===n?r&&i.indexOf(r)>-1:"$="===n?r&&i.slice(-r.length)===r:"~="===n?(" "+i.replace(se," ")+" ").indexOf(r)>-1:"|="===n?i===r||i.slice(0,r.length+1)===r+"-":!1):!0}},CHILD:function(e,t,n,r,o){var i="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,d,p,h,m=i!==a?"nextSibling":"previousSibling",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!u&&!s,b=!1;if(g){if(i){for(;m;){for(d=t;d=d[m];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;h=m="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?g.firstChild:g.lastChild],a&&y){for(d=g,f=d[B]||(d[B]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),l=c[e]||[],p=l[0]===F&&l[1],b=p&&l[2],d=p&&g.childNodes[p];d=++p&&d&&d[m]||(b=p=0)||h.pop();)if(1===d.nodeType&&++b&&d===t){c[e]=[F,p,b];break}}else if(y&&(d=t,f=d[B]||(d[B]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),l=c[e]||[],p=l[0]===F&&l[1],b=p),b===!1)for(;(d=++p&&d&&d[m]||(b=p=0)||h.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++b||(y&&(f=d[B]||(d[B]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),c[e]=[F,b]),d!==t)););return b-=o,b===r||b%r===0&&b/r>=0}}},PSEUDO:function(e,n){var o,i=T.pseudos[e]||T.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return i[B]?i(n):i.length>1?(o=[e,e,"",n],T.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,o=i(e,n),a=o.length;a--;)r=te(e,o[a]),e[r]=!(t[r]=o[a])}):function(e){ -return i(e,0,o)}):i}},pseudos:{not:r(function(e){var t=[],n=[],o=A(e.replace(ue,"$1"));return o[B]?r(function(e,t,n,r){for(var i,a=o(e,null,r,[]),s=e.length;s--;)(i=a[s])&&(e[s]=!(t[s]=i))}):function(e,r,i){return t[0]=e,o(t,null,i,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(we,Ce),function(t){return(t.textContent||E(t)).indexOf(e)>-1}}),lang:r(function(e){return pe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(we,Ce).toLowerCase(),function(t){var n;do if(n=P?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===H},focus:function(e){return e===O.activeElement&&(!O.hasFocus||O.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:l(!1),disabled:l(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!T.pseudos.empty(e)},header:function(e){return ve.test(e.nodeName)},input:function(e){return ge.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[0>n?n+t:n]}),even:c(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var r=0>n?n+t:n>t?t:n;--r>=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=0>n?n+t:n;++r2&&"ID"===(a=i[0]).type&&9===t.nodeType&&P&&T.relative[i[1].type]){if(t=(T.find.ID(a.matches[0].replace(we,Ce),t)||[])[0],!t)return n;l&&(t=t.parentNode),e=e.slice(i.shift().value.length)}for(o=he.needsContext.test(e)?0:i.length;o--&&(a=i[o],!T.relative[s=a.type]);)if((u=T.find[s])&&(r=u(a.matches[0].replace(we,Ce),xe.test(i[0].type)&&f(t.parentNode)||t))){if(i.splice(o,1),e=r.length&&p(i),!e)return J.apply(n,r),n;break}}return(l||A(e,c))(r,t,!P,n,!t||xe.test(e)&&f(t.parentNode)||t),n},C.sortStable=B.split("").sort(Y).join("")===B,C.detectDuplicates=!!L,D(),C.sortDetached=o(function(e){return 1&e.compareDocumentPosition(O.createElement("fieldset"))}),o(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||i("type|href|height|width",function(e,t,n){return n?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),C.attributes&&o(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||i("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),o(function(e){return null==e.getAttribute("disabled")})||i(ne,function(e,t,n){var r;return n?void 0:e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);Ee.find=ke,Ee.expr=ke.selectors,Ee.expr[":"]=Ee.expr.pseudos,Ee.uniqueSort=Ee.unique=ke.uniqueSort,Ee.text=ke.getText,Ee.isXMLDoc=ke.isXML,Ee.contains=ke.contains,Ee.escapeSelector=ke.escape;var Ae=function(e,t,n){for(var r=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&Ee(e).is(n))break;r.push(e)}return r},Ne=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},je=Ee.expr.match.needsContext,Ie=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;Ee.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?Ee.find.matchesSelector(r,e)?[r]:[]:Ee.find.matches(e,Ee.grep(t,function(e){return 1===e.nodeType}))},Ee.fn.extend({find:function(e){var t,n,r=this.length,o=this;if("string"!=typeof e)return this.pushStack(Ee(e).filter(function(){for(t=0;r>t;t++)if(Ee.contains(o[t],this))return!0}));for(n=this.pushStack([]),t=0;r>t;t++)Ee.find(e,o[t],n);return r>1?Ee.uniqueSort(n):n},filter:function(e){return this.pushStack(a(this,e||[],!1))},not:function(e){return this.pushStack(a(this,e||[],!0))},is:function(e){return!!a(this,"string"==typeof e&&je.test(e)?Ee(e):e||[],!1).length}});var Le,De=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,Oe=Ee.fn.init=function(e,t,n){var r,o;if(!e)return this;if(n=n||Le,"string"==typeof e){if(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:De.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof Ee?t[0]:t,Ee.merge(this,Ee.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:ue,!0)),Ie.test(r[1])&&Ee.isPlainObject(t))for(r in t)xe(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return o=ue.getElementById(r[2]),o&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):xe(e)?void 0!==n.ready?n.ready(e):e(Ee):Ee.makeArray(e,this)};Oe.prototype=Ee.fn,Le=Ee(ue);var He=/^(?:parents|prev(?:Until|All))/,Pe={children:!0,contents:!0,next:!0,prev:!0};Ee.fn.extend({has:function(e){var t=Ee(e,this),n=t.length;return this.filter(function(){for(var e=0;n>e;e++)if(Ee.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,o=this.length,i=[],a="string"!=typeof e&&Ee(e);if(!je.test(e))for(;o>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&Ee.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?Ee.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?pe.call(Ee(e),this[0]):pe.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(Ee.uniqueSort(Ee.merge(this.get(),Ee(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),Ee.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return Ae(e,"parentNode")},parentsUntil:function(e,t,n){return Ae(e,"parentNode",n)},next:function(e){return s(e,"nextSibling")},prev:function(e){return s(e,"previousSibling")},nextAll:function(e){return Ae(e,"nextSibling")},prevAll:function(e){return Ae(e,"previousSibling")},nextUntil:function(e,t,n){return Ae(e,"nextSibling",n)},prevUntil:function(e,t,n){return Ae(e,"previousSibling",n)},siblings:function(e){return Ne((e.parentNode||{}).firstChild,e)},children:function(e){return Ne(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(i(e,"template")&&(e=e.content||e),Ee.merge([],e.childNodes))}},function(e,t){Ee.fn[e]=function(n,r){var o=Ee.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(o=Ee.filter(r,o)),this.length>1&&(Pe[e]||Ee.uniqueSort(o),He.test(e)&&o.reverse()),this.pushStack(o)}});var qe=/[^\x20\t\r\n\f]+/g;Ee.Callbacks=function(e){e="string"==typeof e?u(e):Ee.extend({},e);var t,n,o,i,a=[],s=[],l=-1,c=function(){for(i=i||e.once,o=t=!0;s.length;l=-1)for(n=s.shift();++l-1;)a.splice(n,1),l>=n&&l--}),this},has:function(e){return e?Ee.inArray(e,a)>-1:a.length>0},empty:function(){return a&&(a=[]),this},disable:function(){return i=s=[],a=n="",this},disabled:function(){return!a},lock:function(){return i=s=[],n||t||(a=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=n||[],n=[e,n.slice?n.slice():n],s.push(n),t||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},Ee.extend({Deferred:function(t){var n=[["notify","progress",Ee.Callbacks("memory"),Ee.Callbacks("memory"),2],["resolve","done",Ee.Callbacks("once memory"),Ee.Callbacks("once memory"),0,"resolved"],["reject","fail",Ee.Callbacks("once memory"),Ee.Callbacks("once memory"),1,"rejected"]],r="pending",o={state:function(){return r},always:function(){return i.done(arguments).fail(arguments),this},"catch":function(e){return o.then(null,e)},pipe:function(){var e=arguments;return Ee.Deferred(function(t){Ee.each(n,function(n,r){var o=xe(e[r[4]])&&e[r[4]];i[r[1]](function(){var e=o&&o.apply(this,arguments);e&&xe(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,o?[e]:arguments)})}),e=null}).promise()},then:function(t,r,o){function i(t,n,r,o){return function(){var s=this,u=arguments,f=function(){var e,f;if(!(a>t)){if(e=r.apply(s,u),e===n.promise())throw new TypeError("Thenable self-resolution");f=e&&("object"==typeof e||"function"==typeof e)&&e.then,xe(f)?o?f.call(e,i(a,n,l,o),i(a,n,c,o)):(a++,f.call(e,i(a,n,l,o),i(a,n,c,o),i(a,n,l,n.notifyWith))):(r!==l&&(s=void 0,u=[e]),(o||n.resolveWith)(s,u))}},d=o?f:function(){try{f()}catch(e){Ee.Deferred.exceptionHook&&Ee.Deferred.exceptionHook(e,d.stackTrace),t+1>=a&&(r!==c&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?d():(Ee.Deferred.getStackHook&&(d.stackTrace=Ee.Deferred.getStackHook()),e.setTimeout(d))}}var a=0;return Ee.Deferred(function(e){n[0][3].add(i(0,e,xe(o)?o:l,e.notifyWith)),n[1][3].add(i(0,e,xe(t)?t:l)),n[2][3].add(i(0,e,xe(r)?r:c))}).promise()},promise:function(e){return null!=e?Ee.extend(e,o):o}},i={};return Ee.each(n,function(e,t){var a=t[2],s=t[5];o[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),i[t[0]]=function(){return i[t[0]+"With"](this===i?void 0:this,arguments),this},i[t[0]+"With"]=a.fireWith}),o.promise(i),t&&t.call(i,i),i},when:function(e){var t=arguments.length,n=t,r=Array(n),o=ce.call(arguments),i=Ee.Deferred(),a=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?ce.call(arguments):n,--t||i.resolveWith(r,o)}};if(1>=t&&(f(e,i.done(a(n)).resolve,i.reject,!t),"pending"===i.state()||xe(o[n]&&o[n].then)))return i.then();for(;n--;)f(o[n],a(n),i.reject);return i.promise()}});var Me=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;Ee.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&Me.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},Ee.readyException=function(t){e.setTimeout(function(){throw t})};var _e=Ee.Deferred();Ee.fn.ready=function(e){return _e.then(e)["catch"](function(e){Ee.readyException(e)}),this},Ee.extend({isReady:!1,readyWait:1,ready:function(e){(e===!0?--Ee.readyWait:Ee.isReady)||(Ee.isReady=!0,e!==!0&&--Ee.readyWait>0||_e.resolveWith(ue,[Ee]))}}),Ee.ready.then=_e.then,"complete"===ue.readyState||"loading"!==ue.readyState&&!ue.documentElement.doScroll?e.setTimeout(Ee.ready):(ue.addEventListener("DOMContentLoaded",d),e.addEventListener("load",d));var Re=function(e,t,n,o,i,a,s){var u=0,l=e.length,c=null==n;if("object"===r(n)){i=!0;for(u in n)Re(e,t,u,n[u],!0,a,s)}else if(void 0!==o&&(i=!0,xe(o)||(s=!0),c&&(s?(t.call(e,o),t=null):(c=t,t=function(e,t,n){return c.call(Ee(e),n)})),t))for(;l>u;u++)t(e[u],n,s?o:o.call(e[u],u,t(e[u],n)));return i?e:c?t.call(e):l?t(e[0],n):a},Be=/^-ms-/,$e=/-([a-z])/g,Fe=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};m.uid=1,m.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Fe(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,o=this.cache(e);if("string"==typeof t)o[h(t)]=n;else for(r in t)o[h(r)]=t[r];return o},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][h(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){Array.isArray(t)?t=t.map(h):(t=h(t),t=t in r?[t]:t.match(qe)||[]),n=t.length;for(;n--;)delete r[t[n]]}(void 0===t||Ee.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!Ee.isEmptyObject(t)}};var ze=new m,We=new m,Ue=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Xe=/[A-Z]/g;Ee.extend({hasData:function(e){return We.hasData(e)||ze.hasData(e)},data:function(e,t,n){return We.access(e,t,n)},removeData:function(e,t){We.remove(e,t)},_data:function(e,t,n){return ze.access(e,t,n)},_removeData:function(e,t){ze.remove(e,t)}}),Ee.fn.extend({data:function(e,t){var n,r,o,i=this[0],a=i&&i.attributes;if(void 0===e){if(this.length&&(o=We.get(i),1===i.nodeType&&!ze.get(i,"hasDataAttrs"))){for(n=a.length;n--;)a[n]&&(r=a[n].name,0===r.indexOf("data-")&&(r=h(r.slice(5)),v(i,r,o[r])));ze.set(i,"hasDataAttrs",!0)}return o}return"object"==typeof e?this.each(function(){We.set(this,e)}):Re(this,function(t){var n;if(i&&void 0===t){if(n=We.get(i,e),void 0!==n)return n;if(n=v(i,e),void 0!==n)return n}else this.each(function(){We.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){We.remove(this,e)})}}),Ee.extend({queue:function(e,t,n){var r;return e?(t=(t||"fx")+"queue",r=ze.get(e,t),n&&(!r||Array.isArray(n)?r=ze.access(e,t,Ee.makeArray(n)):r.push(n)),r||[]):void 0},dequeue:function(e,t){t=t||"fx";var n=Ee.queue(e,t),r=n.length,o=n.shift(),i=Ee._queueHooks(e,t),a=function(){Ee.dequeue(e,t)};"inprogress"===o&&(o=n.shift(),r--),o&&("fx"===t&&n.unshift("inprogress"),delete i.stop,o.call(e,a,i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return ze.get(e,n)||ze.access(e,n,{empty:Ee.Callbacks("once memory").add(function(){ze.remove(e,[t+"queue",n])})})}}),Ee.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]*)/i,ot=/^$|^module$|\/(?:java|ecma)script/i,it={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};it.optgroup=it.option,it.tbody=it.tfoot=it.colgroup=it.caption=it.thead,it.th=it.td;var at=/<|&#?\w+;/;!function(){var e=ue.createDocumentFragment(),t=e.appendChild(ue.createElement("div")),n=ue.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),be.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="",be.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var st=/^key/,ut=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,lt=/^([^.]*)(?:\.(.+)|)/;Ee.event={global:{},add:function(e,t,n,r,o){var i,a,s,u,l,c,f,d,p,h,m,g=ze.get(e);if(g)for(n.handler&&(i=n,n=i.handler,o=i.selector),o&&Ee.find.matchesSelector(Ge,o),n.guid||(n.guid=Ee.guid++),(u=g.events)||(u=g.events={}),(a=g.handle)||(a=g.handle=function(t){return"undefined"!=typeof Ee&&Ee.event.triggered!==t.type?Ee.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(qe)||[""],l=t.length;l--;)s=lt.exec(t[l])||[],p=m=s[1],h=(s[2]||"").split(".").sort(),p&&(f=Ee.event.special[p]||{},p=(o?f.delegateType:f.bindType)||p,f=Ee.event.special[p]||{},c=Ee.extend({type:p,origType:m,data:r,handler:n,guid:n.guid,selector:o,needsContext:o&&Ee.expr.match.needsContext.test(o),namespace:h.join(".")},i),(d=u[p])||(d=u[p]=[],d.delegateCount=0,f.setup&&f.setup.call(e,r,h,a)!==!1||e.addEventListener&&e.addEventListener(p,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),o?d.splice(d.delegateCount++,0,c):d.push(c),Ee.event.global[p]=!0)},remove:function(e,t,n,r,o){var i,a,s,u,l,c,f,d,p,h,m,g=ze.hasData(e)&&ze.get(e);if(g&&(u=g.events)){for(t=(t||"").match(qe)||[""],l=t.length;l--;)if(s=lt.exec(t[l])||[],p=m=s[1],h=(s[2]||"").split(".").sort(),p){for(f=Ee.event.special[p]||{},p=(r?f.delegateType:f.bindType)||p,d=u[p]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=i=d.length;i--;)c=d[i],!o&&m!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(i,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));a&&!d.length&&(f.teardown&&f.teardown.call(e,h,g.handle)!==!1||Ee.removeEvent(e,p,g.handle),delete u[p])}else for(p in u)Ee.event.remove(e,p+t[l],n,r,!0);Ee.isEmptyObject(u)&&ze.remove(e,"handle events")}},dispatch:function(e){var t,n,r,o,i,a,s=Ee.event.fix(e),u=new Array(arguments.length),l=(ze.get(this,"events")||{})[s.type]||[],c=Ee.event.special[s.type]||{};for(u[0]=s,t=1;t=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||l.disabled!==!0)){for(i=[],a={},n=0;u>n;n++)r=t[n],o=r.selector+" ",void 0===a[o]&&(a[o]=r.needsContext?Ee(o,this).index(l)>-1:Ee.find(o,this,null,[l]).length),a[o]&&i.push(r);i.length&&s.push({elem:l,handlers:i})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,ft=/\s*$/g;Ee.extend({htmlPrefilter:function(e){return e.replace(ct,"<$1>")},clone:function(e,t,n){var r,o,i,a,s=e.cloneNode(!0),u=Ke(e);if(!(be.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||Ee.isXMLDoc(e)))for(a=w(s),i=w(e),r=0,o=i.length;o>r;r++)H(i[r],a[r]);if(t)if(n)for(i=i||w(e),a=a||w(s),r=0,o=i.length;o>r;r++)O(i[r],a[r]);else O(e,s);return a=w(s,"script"),a.length>0&&C(a,!u&&w(e,"script")),s},cleanData:function(e){for(var t,n,r,o=Ee.event.special,i=0;void 0!==(n=e[i]);i++)if(Fe(n)){if(t=n[ze.expando]){if(t.events)for(r in t.events)o[r]?Ee.event.remove(n,r):Ee.removeEvent(n,r,t.handle);n[ze.expando]=void 0}n[We.expando]&&(n[We.expando]=void 0)}}}),Ee.fn.extend({detach:function(e){return q(this,e,!0)},remove:function(e){return q(this,e)},text:function(e){return Re(this,function(e){return void 0===e?Ee.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return P(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=I(this,e);t.appendChild(e)}})},prepend:function(){return P(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=I(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return P(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return P(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(Ee.cleanData(w(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return Ee.clone(this,e,t)})},html:function(e){return Re(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ft.test(e)&&!it[(rt.exec(e)||["",""])[1].toLowerCase()]){e=Ee.htmlPrefilter(e);try{for(;r>n;n++)t=this[n]||{},1===t.nodeType&&(Ee.cleanData(w(t,!1)),t.innerHTML=e);t=0}catch(o){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return P(this,arguments,function(t){var n=this.parentNode;Ee.inArray(this,e)<0&&(Ee.cleanData(w(this)),n&&n.replaceChild(t,this))},e)}}),Ee.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){Ee.fn[e]=function(e){for(var n,r=[],o=Ee(e),i=o.length-1,a=0;i>=a;a++)n=a===i?this:this.clone(!0),Ee(o[a])[t](n),de.apply(r,n.get());return this.pushStack(r)}});var ht=new RegExp("^("+Qe+")(?!px)[a-z%]+$","i"),mt=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},gt=new RegExp(Ve.join("|"),"i");!function(){function t(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",Ge.appendChild(u).appendChild(l);var t=e.getComputedStyle(l);r="1%"!==t.top,s=12===n(t.marginLeft),l.style.right="60%",a=36===n(t.right),o=36===n(t.width),l.style.position="absolute",i=12===n(l.offsetWidth/3),Ge.removeChild(u),l=null}}function n(e){return Math.round(parseFloat(e))}var r,o,i,a,s,u=ue.createElement("div"),l=ue.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",be.clearCloneStyle="content-box"===l.style.backgroundClip,Ee.extend(be,{boxSizingReliable:function(){return t(),o},pixelBoxStyles:function(){return t(),a},pixelPosition:function(){return t(),r},reliableMarginLeft:function(){return t(),s},scrollboxSize:function(){return t(),i}}))}();var vt=["Webkit","Moz","ms"],yt=ue.createElement("div").style,bt={},xt=/^(none|table(?!-c[ea]).+)/,wt=/^--/,Ct={position:"absolute",visibility:"hidden",display:"block"},Tt={letterSpacing:"0",fontWeight:"400"};Ee.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=M(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,i,a,s=h(t),u=wt.test(t),l=e.style;return u||(t=B(s)),a=Ee.cssHooks[t]||Ee.cssHooks[s],void 0===n?a&&"get"in a&&void 0!==(o=a.get(e,!1,r))?o:l[t]:(i=typeof n,"string"===i&&(o=Ye.exec(n))&&o[1]&&(n=y(e,t,o),i="number"),null!=n&&n===n&&("number"!==i||u||(n+=o&&o[3]||(Ee.cssNumber[s]?"":"px")),be.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n)),void 0)}},css:function(e,t,n,r){var o,i,a,s=h(t),u=wt.test(t);return u||(t=B(s)),a=Ee.cssHooks[t]||Ee.cssHooks[s],a&&"get"in a&&(o=a.get(e,!0,n)),void 0===o&&(o=M(e,t,r)),"normal"===o&&t in Tt&&(o=Tt[t]),""===n||n?(i=parseFloat(o),n===!0||isFinite(i)?i||0:o):o}}),Ee.each(["height","width"],function(e,t){Ee.cssHooks[t]={get:function(e,n,r){return n?!xt.test(Ee.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?z(e,t,r):et(e,Ct,function(){return z(e,t,r)}):void 0},set:function(e,n,r){var o,i=mt(e),a=!be.scrollboxSize()&&"absolute"===i.position,s=a||r,u=s&&"border-box"===Ee.css(e,"boxSizing",!1,i),l=r?F(e,t,r,u,i):0;return u&&a&&(l-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(i[t])-F(e,t,"border",!1,i)-.5)),l&&(o=Ye.exec(n))&&"px"!==(o[3]||"px")&&(e.style[t]=n,n=Ee.css(e,t)),$(e,n,l)}}}),Ee.cssHooks.marginLeft=_(be.reliableMarginLeft,function(e,t){return t?(parseFloat(M(e,"marginLeft"))||e.getBoundingClientRect().left-et(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px":void 0}),Ee.each({margin:"",padding:"",border:"Width"},function(e,t){Ee.cssHooks[e+t]={expand:function(n){for(var r=0,o={},i="string"==typeof n?n.split(" "):[n];4>r;r++)o[e+Ve[r]+t]=i[r]||i[r-2]||i[0];return o}},"margin"!==e&&(Ee.cssHooks[e+t].set=$)}),Ee.fn.extend({css:function(e,t){return Re(this,function(e,t,n){var r,o,i={},a=0;if(Array.isArray(t)){for(r=mt(e),o=t.length;o>a;a++)i[t[a]]=Ee.css(e,t[a],!1,r);return i}return void 0!==n?Ee.style(e,t,n):Ee.css(e,t)},e,t,arguments.length>1)}}),Ee.Tween=W,W.prototype={constructor:W,init:function(e,t,n,r,o,i){this.elem=e,this.prop=n,this.easing=o||Ee.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(Ee.cssNumber[n]?"":"px")},cur:function(){var e=W.propHooks[this.prop];return e&&e.get?e.get(this):W.propHooks._default.get(this)},run:function(e){var t,n=W.propHooks[this.prop];return this.options.duration?this.pos=t=Ee.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):W.propHooks._default.set(this),this}},W.prototype.init.prototype=W.prototype,W.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=Ee.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){Ee.fx.step[e.prop]?Ee.fx.step[e.prop](e):1!==e.elem.nodeType||!Ee.cssHooks[e.prop]&&null==e.elem.style[B(e.prop)]?e.elem[e.prop]=e.now:Ee.style(e.elem,e.prop,e.now+e.unit)}}},W.propHooks.scrollTop=W.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},Ee.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},Ee.fx=W.prototype.init,Ee.fx.step={};var Et,St,kt=/^(?:toggle|show|hide)$/,At=/queueHooks$/;Ee.Animation=Ee.extend(K,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return y(n.elem,e,Ye.exec(t),n),n}]},tweener:function(e,t){xe(e)?(t=e,e=["*"]):e=e.match(qe); -for(var n,r=0,o=e.length;o>r;r++)n=e[r],K.tweeners[n]=K.tweeners[n]||[],K.tweeners[n].unshift(t)},prefilters:[V],prefilter:function(e,t){t?K.prefilters.unshift(e):K.prefilters.push(e)}}),Ee.speed=function(e,t,n){var r=e&&"object"==typeof e?Ee.extend({},e):{complete:n||!n&&t||xe(e)&&e,duration:e,easing:n&&t||t&&!xe(t)&&t};return Ee.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in Ee.fx.speeds?r.duration=Ee.fx.speeds[r.duration]:r.duration=Ee.fx.speeds._default),null!=r.queue&&r.queue!==!0||(r.queue="fx"),r.old=r.complete,r.complete=function(){xe(r.old)&&r.old.call(this),r.queue&&Ee.dequeue(this,r.queue)},r},Ee.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Je).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var o=Ee.isEmptyObject(e),i=Ee.speed(t,n,r),a=function(){var t=K(this,Ee.extend({},e),i);(o||ze.get(this,"finish"))&&t.stop(!0)};return a.finish=a,o||i.queue===!1?this.each(a):this.queue(i.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,o=null!=e&&e+"queueHooks",i=Ee.timers,a=ze.get(this);if(o)a[o]&&a[o].stop&&r(a[o]);else for(o in a)a[o]&&a[o].stop&&At.test(o)&&r(a[o]);for(o=i.length;o--;)i[o].elem!==this||null!=e&&i[o].queue!==e||(i[o].anim.stop(n),t=!1,i.splice(o,1));!t&&n||Ee.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=ze.get(this),r=n[e+"queue"],o=n[e+"queueHooks"],i=Ee.timers,a=r?r.length:0;for(n.finish=!0,Ee.queue(this,e,[]),o&&o.stop&&o.stop.call(this,!0),t=i.length;t--;)i[t].elem===this&&i[t].queue===e&&(i[t].anim.stop(!0),i.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),Ee.each(["toggle","show","hide"],function(e,t){var n=Ee.fn[t];Ee.fn[t]=function(e,r,o){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(Q(t,!0),e,r,o)}}),Ee.each({slideDown:Q("show"),slideUp:Q("hide"),slideToggle:Q("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){Ee.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),Ee.timers=[],Ee.fx.tick=function(){var e,t=0,n=Ee.timers;for(Et=Date.now();t1)},removeAttr:function(e){return this.each(function(){Ee.removeAttr(this,e)})}}),Ee.extend({attr:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return"undefined"==typeof e.getAttribute?Ee.prop(e,t,n):(1===i&&Ee.isXMLDoc(e)||(o=Ee.attrHooks[t.toLowerCase()]||(Ee.expr.match.bool.test(t)?Nt:void 0)),void 0!==n?null===n?void Ee.removeAttr(e,t):o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(r=o.get(e,t))?r:(r=Ee.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!be.radioValue&&"radio"===t&&i(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,o=t&&t.match(qe);if(o&&1===e.nodeType)for(;n=o[r++];)e.removeAttribute(n)}}),Nt={set:function(e,t,n){return t===!1?Ee.removeAttr(e,n):e.setAttribute(n,n),n}},Ee.each(Ee.expr.match.bool.source.match(/\w+/g),function(e,t){var n=jt[t]||Ee.find.attr;jt[t]=function(e,t,r){var o,i,a=t.toLowerCase();return r||(i=jt[a],jt[a]=o,o=null!=n(e,t,r)?a:null,jt[a]=i),o}});var It=/^(?:input|select|textarea|button)$/i,Lt=/^(?:a|area)$/i;Ee.fn.extend({prop:function(e,t){return Re(this,Ee.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[Ee.propFix[e]||e]})}}),Ee.extend({prop:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&Ee.isXMLDoc(e)||(t=Ee.propFix[t]||t,o=Ee.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:e[t]=n:o&&"get"in o&&null!==(r=o.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=Ee.find.attr(e,"tabindex");return t?parseInt(t,10):It.test(e.nodeName)||Lt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),be.optSelected||(Ee.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),Ee.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){Ee.propFix[this.toLowerCase()]=this}),Ee.fn.extend({addClass:function(e){var t,n,r,o,i,a,s,u=0;if(xe(e))return this.each(function(t){Ee(this).addClass(e.call(this,t,J(this)))});if(t=ee(e),t.length)for(;n=this[u++];)if(o=J(n),r=1===n.nodeType&&" "+Z(o)+" "){for(a=0;i=t[a++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");s=Z(r),o!==s&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,o,i,a,s,u=0;if(xe(e))return this.each(function(t){Ee(this).removeClass(e.call(this,t,J(this)))});if(!arguments.length)return this.attr("class","");if(t=ee(e),t.length)for(;n=this[u++];)if(o=J(n),r=1===n.nodeType&&" "+Z(o)+" "){for(a=0;i=t[a++];)for(;r.indexOf(" "+i+" ")>-1;)r=r.replace(" "+i+" "," ");s=Z(r),o!==s&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):xe(e)?this.each(function(n){Ee(this).toggleClass(e.call(this,n,J(this),t),t)}):this.each(function(){var t,o,i,a;if(r)for(o=0,i=Ee(this),a=ee(e);t=a[o++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||(t=J(this),t&&ze.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||e===!1?"":ze.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+Z(J(n))+" ").indexOf(t)>-1)return!0;return!1}});var Dt=/\r/g;Ee.fn.extend({val:function(e){var t,n,r,o=this[0];{if(arguments.length)return r=xe(e),this.each(function(n){var o;1===this.nodeType&&(o=r?e.call(this,n,Ee(this).val()):e,null==o?o="":"number"==typeof o?o+="":Array.isArray(o)&&(o=Ee.map(o,function(e){return null==e?"":e+""})),t=Ee.valHooks[this.type]||Ee.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))});if(o)return t=Ee.valHooks[o.type]||Ee.valHooks[o.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:(n=o.value,"string"==typeof n?n.replace(Dt,""):null==n?"":n)}}}),Ee.extend({valHooks:{option:{get:function(e){var t=Ee.find.attr(e,"value");return null!=t?t:Z(Ee.text(e))}},select:{get:function(e){var t,n,r,o=e.options,a=e.selectedIndex,s="select-one"===e.type,u=s?null:[],l=s?a+1:o.length;for(r=0>a?l:s?a:0;l>r;r++)if(n=o[r],(n.selected||r===a)&&!n.disabled&&(!n.parentNode.disabled||!i(n.parentNode,"optgroup"))){if(t=Ee(n).val(),s)return t;u.push(t)}return u},set:function(e,t){for(var n,r,o=e.options,i=Ee.makeArray(t),a=o.length;a--;)r=o[a],(r.selected=Ee.inArray(Ee.valHooks.option.get(r),i)>-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),Ee.each(["radio","checkbox"],function(){Ee.valHooks[this]={set:function(e,t){return Array.isArray(t)?e.checked=Ee.inArray(Ee(e).val(),t)>-1:void 0}},be.checkOn||(Ee.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),be.focusin="onfocusin"in e;var Ot=/^(?:focusinfocus|focusoutblur)$/,Ht=function(e){e.stopPropagation()};Ee.extend(Ee.event,{trigger:function(t,n,r,o){var i,a,s,u,l,c,f,d,p=[r||ue],h=ge.call(t,"type")?t.type:t,m=ge.call(t,"namespace")?t.namespace.split("."):[];if(a=d=s=r=r||ue,3!==r.nodeType&&8!==r.nodeType&&!Ot.test(h+Ee.event.triggered)&&(h.indexOf(".")>-1&&(m=h.split("."),h=m.shift(),m.sort()),l=h.indexOf(":")<0&&"on"+h,t=t[Ee.expando]?t:new Ee.Event(h,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=m.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:Ee.makeArray(n,[t]),f=Ee.event.special[h]||{},o||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!o&&!f.noBubble&&!we(r)){for(u=f.delegateType||h,Ot.test(u+h)||(a=a.parentNode);a;a=a.parentNode)p.push(a),s=a;s===(r.ownerDocument||ue)&&p.push(s.defaultView||s.parentWindow||e)}for(i=0;(a=p[i++])&&!t.isPropagationStopped();)d=a,t.type=i>1?u:f.bindType||h,c=(ze.get(a,"events")||{})[t.type]&&ze.get(a,"handle"),c&&c.apply(a,n),c=l&&a[l],c&&c.apply&&Fe(a)&&(t.result=c.apply(a,n),t.result===!1&&t.preventDefault());return t.type=h,o||t.isDefaultPrevented()||f._default&&f._default.apply(p.pop(),n)!==!1||!Fe(r)||l&&xe(r[h])&&!we(r)&&(s=r[l],s&&(r[l]=null),Ee.event.triggered=h,t.isPropagationStopped()&&d.addEventListener(h,Ht),r[h](),t.isPropagationStopped()&&d.removeEventListener(h,Ht),Ee.event.triggered=void 0,s&&(r[l]=s)),t.result}},simulate:function(e,t,n){var r=Ee.extend(new Ee.Event,n,{type:e,isSimulated:!0});Ee.event.trigger(r,null,t)}}),Ee.fn.extend({trigger:function(e,t){return this.each(function(){Ee.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];return n?Ee.event.trigger(e,t,n,!0):void 0}}),be.focusin||Ee.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){Ee.event.simulate(t,e.target,Ee.event.fix(e))};Ee.event.special[t]={setup:function(){var r=this.ownerDocument||this,o=ze.access(r,t);o||r.addEventListener(e,n,!0),ze.access(r,t,(o||0)+1)},teardown:function(){var r=this.ownerDocument||this,o=ze.access(r,t)-1;o?ze.access(r,t,o):(r.removeEventListener(e,n,!0),ze.remove(r,t))}}});var Pt=e.location,qt=Date.now(),Mt=/\?/;Ee.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(r){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||Ee.error("Invalid XML: "+t),n};var _t=/\[\]$/,Rt=/\r?\n/g,Bt=/^(?:submit|button|image|reset|file)$/i,$t=/^(?:input|select|textarea|keygen)/i;Ee.param=function(e,t){var n,r=[],o=function(e,t){var n=xe(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!Ee.isPlainObject(e))Ee.each(e,function(){o(this.name,this.value)});else for(n in e)te(n,e[n],t,o);return r.join("&")},Ee.fn.extend({serialize:function(){return Ee.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=Ee.prop(this,"elements");return e?Ee.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!Ee(this).is(":disabled")&&$t.test(this.nodeName)&&!Bt.test(e)&&(this.checked||!nt.test(e))}).map(function(e,t){var n=Ee(this).val();return null==n?null:Array.isArray(n)?Ee.map(n,function(e){return{name:t.name,value:e.replace(Rt,"\r\n")}}):{name:t.name,value:n.replace(Rt,"\r\n")}}).get()}});var Ft=/%20/g,zt=/#.*$/,Wt=/([?&])_=[^&]*/,Ut=/^(.*?):[ \t]*([^\r\n]*)$/gm,Xt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Qt=/^(?:GET|HEAD)$/,Yt=/^\/\//,Vt={},Gt={},Kt="*/".concat("*"),Zt=ue.createElement("a");Zt.href=Pt.href,Ee.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Pt.href,type:"GET",isLocal:Xt.test(Pt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":Ee.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?oe(oe(e,Ee.ajaxSettings),t):oe(Ee.ajaxSettings,e)},ajaxPrefilter:ne(Vt),ajaxTransport:ne(Gt),ajax:function(t,n){function r(t,n,r,s){var l,d,p,x,w,C=n;c||(c=!0,u&&e.clearTimeout(u),o=void 0,a=s||"",T.readyState=t>0?4:0,l=t>=200&&300>t||304===t,r&&(x=ie(h,T,r)),x=ae(h,x,T,l),l?(h.ifModified&&(w=T.getResponseHeader("Last-Modified"),w&&(Ee.lastModified[i]=w),w=T.getResponseHeader("etag"),w&&(Ee.etag[i]=w)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=x.state,d=x.data,p=x.error,l=!p)):(p=C,!t&&C||(C="error",0>t&&(t=0))),T.status=t,T.statusText=(n||C)+"",l?v.resolveWith(m,[d,C,T]):v.rejectWith(m,[T,C,p]),T.statusCode(b),b=void 0,f&&g.trigger(l?"ajaxSuccess":"ajaxError",[T,h,l?d:p]),y.fireWith(m,[T,C]),f&&(g.trigger("ajaxComplete",[T,h]),--Ee.active||Ee.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var o,i,a,s,u,l,c,f,d,p,h=Ee.ajaxSetup({},n),m=h.context||h,g=h.context&&(m.nodeType||m.jquery)?Ee(m):Ee.event,v=Ee.Deferred(),y=Ee.Callbacks("once memory"),b=h.statusCode||{},x={},w={},C="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s)for(s={};t=Ut.exec(a);)s[t[1].toLowerCase()+" "]=(s[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=s[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,x[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)T.always(e[T.status]);else for(t in e)b[t]=[b[t],e[t]];return this},abort:function(e){var t=e||C;return o&&o.abort(t),r(0,t),this}};if(v.promise(T),h.url=((t||h.url||Pt.href)+"").replace(Yt,Pt.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(qe)||[""],null==h.crossDomain){l=ue.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Zt.protocol+"//"+Zt.host!=l.protocol+"//"+l.host}catch(E){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=Ee.param(h.data,h.traditional)),re(Vt,h,n,T),c)return T;f=Ee.event&&h.global,f&&0===Ee.active++&&Ee.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Qt.test(h.type),i=h.url.replace(zt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(Ft,"+")):(p=h.url.slice(i.length),h.data&&(h.processData||"string"==typeof h.data)&&(i+=(Mt.test(i)?"&":"?")+h.data,delete h.data),h.cache===!1&&(i=i.replace(Wt,"$1"),p=(Mt.test(i)?"&":"?")+"_="+qt++ +p),h.url=i+p),h.ifModified&&(Ee.lastModified[i]&&T.setRequestHeader("If-Modified-Since",Ee.lastModified[i]),Ee.etag[i]&&T.setRequestHeader("If-None-Match",Ee.etag[i])),(h.data&&h.hasContent&&h.contentType!==!1||n.contentType)&&T.setRequestHeader("Content-Type",h.contentType),T.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+Kt+"; q=0.01":""):h.accepts["*"]);for(d in h.headers)T.setRequestHeader(d,h.headers[d]);if(h.beforeSend&&(h.beforeSend.call(m,T,h)===!1||c))return T.abort();if(C="abort",y.add(h.complete),T.done(h.success),T.fail(h.error),o=re(Gt,h,n,T)){if(T.readyState=1,f&&g.trigger("ajaxSend",[T,h]),c)return T;h.async&&h.timeout>0&&(u=e.setTimeout(function(){T.abort("timeout")},h.timeout));try{c=!1,o.send(x,r)}catch(E){if(c)throw E;r(-1,E)}}else r(-1,"No Transport");return T},getJSON:function(e,t,n){return Ee.get(e,t,n,"json")},getScript:function(e,t){return Ee.get(e,void 0,t,"script")}}),Ee.each(["get","post"],function(e,t){Ee[t]=function(e,n,r,o){return xe(n)&&(o=o||r,r=n,n=void 0),Ee.ajax(Ee.extend({url:e,type:t,dataType:o,data:n,success:r},Ee.isPlainObject(e)&&e))}}),Ee._evalUrl=function(e,t){return Ee.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){Ee.globalEval(e,t)}})},Ee.fn.extend({wrapAll:function(e){var t;return this[0]&&(xe(e)&&(e=e.call(this[0])),t=Ee(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return xe(e)?this.each(function(t){Ee(this).wrapInner(e.call(this,t))}):this.each(function(){var t=Ee(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=xe(e);return this.each(function(n){Ee(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){Ee(this).replaceWith(this.childNodes)}),this}}),Ee.expr.pseudos.hidden=function(e){return!Ee.expr.pseudos.visible(e)},Ee.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},Ee.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(t){}};var Jt={0:200,1223:204},en=Ee.ajaxSettings.xhr();be.cors=!!en&&"withCredentials"in en,be.ajax=en=!!en,Ee.ajaxTransport(function(t){var n,r;return be.cors||en&&!t.crossDomain?{send:function(o,i){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest");for(a in o)s.setRequestHeader(a,o[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?i(0,"error"):i(s.status,s.statusText):i(Jt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(u){if(n)throw u}},abort:function(){n&&n()}}:void 0}),Ee.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),Ee.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return Ee.globalEval(e),e}}}),Ee.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),Ee.ajaxTransport("script",function(e){if(e.crossDomain||e.scriptAttrs){var t,n;return{send:function(r,o){t=Ee("