Compare commits
No commits in common. "master" and "gh-pages" have entirely different histories.
221 changed files with 6632 additions and 3628 deletions
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"version": 1,
|
||||
"isRoot": true,
|
||||
"tools": {
|
||||
"docfx": {
|
||||
"version": "2.77.0",
|
||||
"commands": [
|
||||
"docfx"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
123
.editorconfig
123
.editorconfig
|
@ -1,123 +0,0 @@
|
|||
|
||||
[*.{cs,vb}]
|
||||
#### Naming styles ####
|
||||
|
||||
# Naming rules
|
||||
|
||||
dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
|
||||
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
|
||||
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i
|
||||
|
||||
dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
|
||||
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
|
||||
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case
|
||||
|
||||
dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
|
||||
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
|
||||
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case
|
||||
|
||||
# Symbol specifications
|
||||
|
||||
dotnet_naming_symbols.interface.applicable_kinds = interface
|
||||
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.interface.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
|
||||
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.types.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
|
||||
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.non_field_members.required_modifiers =
|
||||
|
||||
# Naming styles
|
||||
|
||||
dotnet_naming_style.begins_with_i.required_prefix = I
|
||||
dotnet_naming_style.begins_with_i.required_suffix =
|
||||
dotnet_naming_style.begins_with_i.word_separator =
|
||||
dotnet_naming_style.begins_with_i.capitalization = pascal_case
|
||||
|
||||
dotnet_naming_style.pascal_case.required_prefix =
|
||||
dotnet_naming_style.pascal_case.required_suffix =
|
||||
dotnet_naming_style.pascal_case.word_separator =
|
||||
dotnet_naming_style.pascal_case.capitalization = pascal_case
|
||||
|
||||
dotnet_naming_style.pascal_case.required_prefix =
|
||||
dotnet_naming_style.pascal_case.required_suffix =
|
||||
dotnet_naming_style.pascal_case.word_separator =
|
||||
dotnet_naming_style.pascal_case.capitalization = pascal_case
|
||||
dotnet_style_coalesce_expression = true:suggestion
|
||||
dotnet_style_null_propagation = true:suggestion
|
||||
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
|
||||
dotnet_style_prefer_auto_properties = true:warning
|
||||
dotnet_style_operator_placement_when_wrapping = beginning_of_line
|
||||
tab_width = 4
|
||||
indent_size = 4
|
||||
end_of_line = crlf
|
||||
dotnet_style_object_initializer = true:suggestion
|
||||
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
|
||||
dotnet_style_collection_initializer = true:suggestion
|
||||
dotnet_style_prefer_conditional_expression_over_return = true:silent
|
||||
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
|
||||
dotnet_style_prefer_inferred_tuple_names = true:suggestion
|
||||
dotnet_style_explicit_tuple_names = true:suggestion
|
||||
dotnet_style_prefer_compound_assignment = true:suggestion
|
||||
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
|
||||
dotnet_style_namespace_match_folder = true:suggestion
|
||||
dotnet_style_prefer_simplified_interpolation = true:suggestion
|
||||
dotnet_style_readonly_field = true:suggestion
|
||||
dotnet_style_predefined_type_for_locals_parameters_members = true:silent
|
||||
dotnet_style_predefined_type_for_member_access = true:silent
|
||||
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent
|
||||
dotnet_style_allow_multiple_blank_lines_experimental = false:silent
|
||||
dotnet_style_allow_statement_immediately_after_block_experimental = false:silent
|
||||
dotnet_code_quality_unused_parameters = all:warning
|
||||
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
|
||||
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
|
||||
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent
|
||||
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
|
||||
|
||||
[*.cs]
|
||||
csharp_using_directive_placement = outside_namespace:silent
|
||||
csharp_prefer_simple_using_statement = true:suggestion
|
||||
csharp_prefer_braces = when_multiline:silent
|
||||
csharp_style_namespace_declarations = file_scoped:suggestion
|
||||
csharp_style_prefer_method_group_conversion = true:silent
|
||||
csharp_style_prefer_top_level_statements = true:suggestion
|
||||
csharp_style_expression_bodied_methods = when_on_single_line:silent
|
||||
csharp_style_expression_bodied_constructors = when_on_single_line:silent
|
||||
csharp_style_expression_bodied_operators = when_on_single_line:silent
|
||||
csharp_style_expression_bodied_properties = true:silent
|
||||
csharp_style_expression_bodied_indexers = true:silent
|
||||
csharp_style_expression_bodied_accessors = true:silent
|
||||
csharp_style_expression_bodied_lambdas = true:silent
|
||||
csharp_style_expression_bodied_local_functions = when_on_single_line:silent
|
||||
csharp_indent_labels = one_less_than_current
|
||||
csharp_style_throw_expression = true:suggestion
|
||||
csharp_style_prefer_null_check_over_type_check = true:suggestion
|
||||
csharp_prefer_simple_default_expression = true:suggestion
|
||||
csharp_style_prefer_local_over_anonymous_function = true:suggestion
|
||||
csharp_style_prefer_index_operator = true:suggestion
|
||||
csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion
|
||||
csharp_style_prefer_range_operator = true:suggestion
|
||||
csharp_style_prefer_tuple_swap = true:suggestion
|
||||
csharp_style_prefer_utf8_string_literals = true:suggestion
|
||||
csharp_style_deconstructed_variable_declaration = true:suggestion
|
||||
csharp_style_inlined_variable_declaration = true:suggestion
|
||||
csharp_style_unused_value_expression_statement_preference = discard_variable:silent
|
||||
csharp_style_unused_value_assignment_preference = discard_variable:suggestion
|
||||
csharp_prefer_static_local_function = true:suggestion
|
||||
csharp_style_prefer_readonly_struct = true:suggestion
|
||||
csharp_style_prefer_readonly_struct_member = true:suggestion
|
||||
csharp_style_allow_embedded_statements_on_same_line_experimental = true:silent
|
||||
csharp_style_allow_blank_lines_between_consecutive_braces_experimental = false:silent
|
||||
csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = false:silent
|
||||
csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental = true:silent
|
||||
csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental = true:silent
|
||||
csharp_style_conditional_delegate_call = true:suggestion
|
||||
csharp_style_prefer_switch_expression = true:suggestion
|
||||
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
|
||||
csharp_style_prefer_pattern_matching = true:silent
|
||||
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
|
||||
csharp_style_prefer_not_pattern = true:suggestion
|
||||
csharp_style_prefer_extended_property_pattern = true:suggestion
|
|
@ -1,25 +0,0 @@
|
|||
name: Public Preview Builds
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
publish-preview:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v4
|
||||
with:
|
||||
dotnet-version: 8.0.x
|
||||
- name: Build
|
||||
run: dotnet build -c Release -p:SymbolPackageFormat=symbols.nupkg -p:ContinuousIntegrationBuild=true
|
||||
- name: Publish
|
||||
run: dotnet nuget push src/Xdg.Directories/bin/Release/*.symbols.nupkg --api-key ${{ secrets.PUBLISH_GITEA_TOKEN }} --source https://git.froth.zone/api/packages/mirrors/nuget/index.json
|
63
.gitattributes
vendored
63
.gitattributes
vendored
|
@ -1,63 +0,0 @@
|
|||
###############################################################################
|
||||
# Set default behavior to automatically normalize line endings.
|
||||
###############################################################################
|
||||
* text=auto
|
||||
|
||||
###############################################################################
|
||||
# Set default behavior for command prompt diff.
|
||||
#
|
||||
# This is need for earlier builds of msysgit that does not have it on by
|
||||
# default for csharp files.
|
||||
# Note: This is only used by command line
|
||||
###############################################################################
|
||||
#*.cs diff=csharp
|
||||
|
||||
###############################################################################
|
||||
# Set the merge driver for project and solution files
|
||||
#
|
||||
# Merging from the command prompt will add diff markers to the files if there
|
||||
# are conflicts (Merging from VS is not affected by the settings below, in VS
|
||||
# the diff markers are never inserted). Diff markers may cause the following
|
||||
# file extensions to fail to load in VS. An alternative would be to treat
|
||||
# these files as binary and thus will always conflict and require user
|
||||
# intervention with every merge. To do so, just uncomment the entries below
|
||||
###############################################################################
|
||||
#*.sln merge=binary
|
||||
#*.csproj merge=binary
|
||||
#*.vbproj merge=binary
|
||||
#*.vcxproj merge=binary
|
||||
#*.vcproj merge=binary
|
||||
#*.dbproj merge=binary
|
||||
#*.fsproj merge=binary
|
||||
#*.lsproj merge=binary
|
||||
#*.wixproj merge=binary
|
||||
#*.modelproj merge=binary
|
||||
#*.sqlproj merge=binary
|
||||
#*.wwaproj merge=binary
|
||||
|
||||
###############################################################################
|
||||
# behavior for image files
|
||||
#
|
||||
# image files are treated as binary by default.
|
||||
###############################################################################
|
||||
#*.jpg binary
|
||||
#*.png binary
|
||||
#*.gif binary
|
||||
|
||||
###############################################################################
|
||||
# diff behavior for common document formats
|
||||
#
|
||||
# Convert binary document formats to text before diffing them. This feature
|
||||
# is only available from the command line. Turn it on by uncommenting the
|
||||
# entries below.
|
||||
###############################################################################
|
||||
#*.doc diff=astextplain
|
||||
#*.DOC diff=astextplain
|
||||
#*.docx diff=astextplain
|
||||
#*.DOCX diff=astextplain
|
||||
#*.dot diff=astextplain
|
||||
#*.DOT diff=astextplain
|
||||
#*.pdf diff=astextplain
|
||||
#*.PDF diff=astextplain
|
||||
#*.rtf diff=astextplain
|
||||
#*.RTF diff=astextplain
|
15
.github/dependabot.yml
vendored
15
.github/dependabot.yml
vendored
|
@ -1,15 +0,0 @@
|
|||
# To get started with Dependabot version updates, you'll need to specify which
|
||||
# package ecosystems to update and where the package manifests are located.
|
||||
# Please see the documentation for all configuration options:
|
||||
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
||||
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "nuget" # See documentation for possible values
|
||||
directory: "/" # Location of package manifests
|
||||
schedule:
|
||||
interval: "daily"
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
33
.github/workflows/benckmark.yaml
vendored
33
.github/workflows/benckmark.yaml
vendored
|
@ -1,33 +0,0 @@
|
|||
name: Benchmarks
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
deployments: write
|
||||
|
||||
jobs:
|
||||
benchmark:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-dotnet@v4
|
||||
with:
|
||||
dotnet-version: 8.0.x
|
||||
- name: Run Benchmarks
|
||||
run: dotnet run -c Release --project src/Xdg.Benchmarks --exporters json --framework net8.0
|
||||
|
||||
- name: Store Benchmark Result
|
||||
uses: benchmark-action/github-action-benchmark@v1
|
||||
with:
|
||||
name: Benchmark.Net Benchmark
|
||||
tool: 'benchmarkdotnet'
|
||||
output-file-path: 'BenchmarkDotNet.Artifacts/results/Program.Benchmarks-report-full.json'
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
auto-push: true
|
||||
alert-threshold: '200%'
|
||||
comment-on-alert: true
|
||||
fail-on-alert: true
|
||||
alert-comment-cc-users: '@SamTherapy'
|
93
.github/workflows/build-test.yaml
vendored
93
.github/workflows/build-test.yaml
vendored
|
@ -1,93 +0,0 @@
|
|||
name: Build
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
matrix:
|
||||
operating-system: ["windows", "macos", "ubuntu"]
|
||||
dotnet-version: ["8.0.x"]
|
||||
|
||||
runs-on: ${{ matrix.operating-system }}-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup .NET Core SDK ${{ matrix.dotnet-version }}
|
||||
uses: actions/setup-dotnet@v4
|
||||
with:
|
||||
dotnet-version: ${{ matrix.dotnet-version }}
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.nuget/packages
|
||||
# Look to see if there is a cache hit for the corresponding requirements file
|
||||
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-nuget
|
||||
- name: Install dependencies
|
||||
run: dotnet restore
|
||||
- name: Build
|
||||
run: dotnet build --configuration Release --no-restore
|
||||
- name: Test
|
||||
run: dotnet test --no-restore --verbosity normal
|
||||
|
||||
publish-preview:
|
||||
needs: build
|
||||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
packages: write
|
||||
contents: read
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Setup .NET Core SDK
|
||||
uses: actions/setup-dotnet@v4
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.nuget/packages
|
||||
# Look to see if there is a cache hit for the corresponding requirements file
|
||||
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }}
|
||||
- name: Install dependencies
|
||||
run: dotnet restore
|
||||
- name: Build the package
|
||||
run: dotnet build --configuration Release --no-restore -p:SymbolPackageFormat=symbols.nupkg
|
||||
- name: Publish the package
|
||||
run: dotnet nuget push src/Xdg.Directories/bin/Release/*.symbols.nupkg -s https://nuget.pkg.github.com/xdg-net/index.json -k ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
publish-release:
|
||||
needs: build
|
||||
if: ${{ github.ref_type == 'tag' && startsWith(github.ref, 'refs/tags/') }}
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
packages: write
|
||||
contents: write
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Setup .NET Core SDK
|
||||
uses: actions/setup-dotnet@v4
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.nuget/packages
|
||||
# Look to see if there is a cache hit for the corresponding requirements file
|
||||
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }}
|
||||
- name: Install dependencies
|
||||
run: dotnet restore
|
||||
- name: Build the package
|
||||
run: dotnet build --configuration Release --no-restore -p:SymbolPackageFormat=snupkg
|
||||
- name: Publish the package
|
||||
run: |
|
||||
dotnet nuget push src/Xdg.Directories/bin/Release/*.nupkg -s https://api.nuget.org/v3/index.json -k ${{ secrets.NUGET_KEY }}
|
||||
env:
|
||||
NUGET_API_KEY: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Make a GitHub release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
files: src/Xdg.Directories/bin/Release/*.nupkg
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
generate_release_notes: true
|
68
.github/workflows/codeql.yaml
vendored
68
.github/workflows/codeql.yaml
vendored
|
@ -1,68 +0,0 @@
|
|||
# CodeQL Code Scanning
|
||||
# Analyses your code for security vulnerabilities and coding errors.
|
||||
# For most projects, this workflow file will not need changing; you simply need
|
||||
# to commit it to your repository. You may wish to alter this file to override
|
||||
# the set of languages analyzed, or to provide custom queries or build logic.
|
||||
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [master]
|
||||
schedule:
|
||||
- cron: "0 8 * * 4"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: ["csharp"]
|
||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
||||
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v3
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
|
||||
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
|
||||
# queries: security-extended,security-and-quality
|
||||
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v3
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
||||
|
||||
# If the Autobuild fails above, remove it and uncomment the following three lines.
|
||||
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
|
||||
|
||||
# - run: |
|
||||
# echo "Run, Build Application using script"
|
||||
# ./location_of_script_within_repo/buildscript.sh
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v3
|
41
.github/workflows/dependabot.yaml
vendored
41
.github/workflows/dependabot.yaml
vendored
|
@ -1,41 +0,0 @@
|
|||
name: Dependabot
|
||||
|
||||
on: pull_request_target
|
||||
|
||||
permissions:
|
||||
pull-requests: write
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
review-dependabot-pr:
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ github.event.pull_request.user.login == 'dependabot[bot]' }}
|
||||
steps:
|
||||
- name: Dependabot metadata
|
||||
id: dependabot-metadata
|
||||
uses: dependabot/fetch-metadata@v2.2.0
|
||||
- name: Enable auto-merge for Dependabot PRs
|
||||
run: gh pr merge --auto --rebase "$PR_URL"
|
||||
env:
|
||||
PR_URL: ${{github.event.pull_request.html_url}}
|
||||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
||||
- name: Approve patch and minor updates
|
||||
if: ${{steps.dependabot-metadata.outputs.update-type == 'version-update:semver-patch' || steps.dependabot-metadata.outputs.update-type == 'version-update:semver-minor'}}
|
||||
run: gh pr review $PR_URL --approve -b "I'm **approving** this pull request because **it includes a patch or minor update**"
|
||||
env:
|
||||
PR_URL: ${{github.event.pull_request.html_url}}
|
||||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
||||
- name: Approve major updates of development dependencies
|
||||
if: ${{steps.dependabot-metadata.outputs.update-type == 'version-update:semver-major' && steps.dependabot-metadata.outputs.dependency-type == 'direct:development'}}
|
||||
run: gh pr review $PR_URL --approve -b "I'm **approving** this pull request because **it includes a major update of a dependency used only in development**"
|
||||
env:
|
||||
PR_URL: ${{github.event.pull_request.html_url}}
|
||||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
||||
- name: Comment on major updates of non-development dependencies
|
||||
if: ${{steps.dependabot-metadata.outputs.update-type == 'version-update:semver-major' && steps.dependabot-metadata.outputs.dependency-type == 'direct:production'}}
|
||||
run: |
|
||||
gh pr comment $PR_URL --body "I'm **not approving** this PR because **it includes a major update of a dependency used in production**"
|
||||
gh pr edit $PR_URL --add-label "requires-manual-qa"
|
||||
env:
|
||||
PR_URL: ${{github.event.pull_request.html_url}}
|
||||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
45
.github/workflows/documentation.yaml
vendored
45
.github/workflows/documentation.yaml
vendored
|
@ -1,45 +0,0 @@
|
|||
name: Deploy Documentation
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
|
||||
permissions:
|
||||
actions: read
|
||||
contents: write
|
||||
pages: write
|
||||
id-token: write
|
||||
|
||||
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
|
||||
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
|
||||
concurrency:
|
||||
group: "pages"
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
publish-docs:
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Dotnet Setup
|
||||
uses: actions/setup-dotnet@v4
|
||||
with:
|
||||
dotnet-version: 8.x
|
||||
- run: dotnet tool update -g docfx
|
||||
- run: dotnet tool restore
|
||||
- name: Build website
|
||||
run: dotnet docfx docs/docfx.json
|
||||
|
||||
- name: Deploy
|
||||
uses: peaceiris/actions-gh-pages@v4
|
||||
if: github.ref == 'refs/heads/master'
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_dir: ./docs/_site
|
||||
keep_files: true
|
19
.github/workflows/mirror-push.yaml
vendored
19
.github/workflows/mirror-push.yaml
vendored
|
@ -1,19 +0,0 @@
|
|||
name: Mirror Push
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
|
||||
jobs:
|
||||
push:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: mirror
|
||||
uses: yesolutions/mirror-action@master
|
||||
with:
|
||||
REMOTE: 'https://git.froth.zone/sam/Xdg.Net.git'
|
||||
GIT_USERNAME: oauth2
|
||||
GIT_PASSWORD: ${{ secrets.GIT_PASSWORD }}
|
372
.gitignore
vendored
372
.gitignore
vendored
|
@ -1,372 +0,0 @@
|
|||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
##
|
||||
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
|
||||
|
||||
.mono
|
||||
|
||||
# User-specific files
|
||||
*.rsuser
|
||||
*.suo
|
||||
*.user
|
||||
*.userosscache
|
||||
*.sln.docstates
|
||||
|
||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||
*.userprefs
|
||||
|
||||
# Mono auto generated files
|
||||
mono_crash.*
|
||||
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
[Dd]ebugPublic/
|
||||
[Rr]elease/
|
||||
[Rr]eleases/
|
||||
x64/
|
||||
x86/
|
||||
[Ww][Ii][Nn]32/
|
||||
[Aa][Rr][Mm]/
|
||||
[Aa][Rr][Mm]64/
|
||||
bld/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
[Oo]ut/
|
||||
[Ll]og/
|
||||
[Ll]ogs/
|
||||
|
||||
# Visual Studio 2015/2017 cache/options directory
|
||||
.vs/
|
||||
# Visual Studio Code files
|
||||
.vscode/
|
||||
|
||||
# Uncomment if you have tasks that create the project's static files in wwwroot
|
||||
#wwwroot/
|
||||
|
||||
# Visual Studio 2017 auto generated files
|
||||
Generated\ Files/
|
||||
|
||||
# MSTest test Results
|
||||
[Tt]est[Rr]esult*/
|
||||
[Bb]uild[Ll]og.*
|
||||
|
||||
# NUnit
|
||||
*.VisualState.xml
|
||||
TestResult.xml
|
||||
nunit-*.xml
|
||||
|
||||
# Build Results of an ATL Project
|
||||
[Dd]ebugPS/
|
||||
[Rr]eleasePS/
|
||||
dlldata.c
|
||||
|
||||
# Benchmark Results
|
||||
BenchmarkDotNet.Artifacts/
|
||||
|
||||
# .NET Core
|
||||
project.lock.json
|
||||
project.fragment.lock.json
|
||||
artifacts/
|
||||
|
||||
# ASP.NET Scaffolding
|
||||
ScaffoldingReadMe.txt
|
||||
|
||||
# StyleCop
|
||||
StyleCopReport.xml
|
||||
|
||||
# Files built by Visual Studio
|
||||
*_i.c
|
||||
*_p.c
|
||||
*_h.h
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.iobj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.ipdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.tmp_proj
|
||||
*_wpftmp.csproj
|
||||
*.log
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
.builds
|
||||
*.pidb
|
||||
*.svclog
|
||||
*.scc
|
||||
|
||||
# Chutzpah Test files
|
||||
_Chutzpah*
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opendb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
*.cachefile
|
||||
*.VC.db
|
||||
*.VC.VC.opendb
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
*.vspx
|
||||
*.sap
|
||||
|
||||
# Visual Studio Trace Files
|
||||
*.e2e
|
||||
|
||||
# TFS 2012 Local Workspace
|
||||
$tf/
|
||||
|
||||
# Guidance Automation Toolkit
|
||||
*.gpState
|
||||
|
||||
# ReSharper is a .NET coding add-in
|
||||
_ReSharper*/
|
||||
*.[Rr]e[Ss]harper
|
||||
*.DotSettings.user
|
||||
|
||||
# TeamCity is a build add-in
|
||||
_TeamCity*
|
||||
|
||||
# DotCover is a Code Coverage Tool
|
||||
*.dotCover
|
||||
|
||||
# AxoCover is a Code Coverage Tool
|
||||
.axoCover/*
|
||||
!.axoCover/settings.json
|
||||
|
||||
# Coverlet is a free, cross platform Code Coverage Tool
|
||||
coverage*.json
|
||||
coverage*.xml
|
||||
coverage*.info
|
||||
|
||||
# Visual Studio code coverage results
|
||||
*.coverage
|
||||
*.coveragexml
|
||||
|
||||
# NCrunch
|
||||
_NCrunch_*
|
||||
.*crunch*.local.xml
|
||||
nCrunchTemp_*
|
||||
|
||||
# MightyMoose
|
||||
*.mm.*
|
||||
AutoTest.Net/
|
||||
|
||||
# Web workbench (sass)
|
||||
.sass-cache/
|
||||
|
||||
# Installshield output folder
|
||||
[Ee]xpress/
|
||||
|
||||
# DocProject is a documentation generator add-in
|
||||
DocProject/buildhelp/
|
||||
DocProject/Help/*.HxT
|
||||
DocProject/Help/*.HxC
|
||||
DocProject/Help/*.hhc
|
||||
DocProject/Help/*.hhk
|
||||
DocProject/Help/*.hhp
|
||||
DocProject/Help/Html2
|
||||
DocProject/Help/html
|
||||
|
||||
# Click-Once directory
|
||||
publish/
|
||||
|
||||
# Publish Web Output
|
||||
*.[Pp]ublish.xml
|
||||
*.azurePubxml
|
||||
# Note: Comment the next line if you want to checkin your web deploy settings,
|
||||
# but database connection strings (with potential passwords) will be unencrypted
|
||||
*.pubxml
|
||||
*.publishproj
|
||||
|
||||
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
||||
# checkin your Azure Web App publish settings, but sensitive information contained
|
||||
# in these scripts will be unencrypted
|
||||
PublishScripts/
|
||||
|
||||
# NuGet Packages
|
||||
*.nupkg
|
||||
# NuGet Symbol Packages
|
||||
*.snupkg
|
||||
# The packages folder can be ignored because of Package Restore
|
||||
**/[Pp]ackages/*
|
||||
# except build/, which is used as an MSBuild target.
|
||||
!**/[Pp]ackages/build/
|
||||
# Uncomment if necessary however generally it will be regenerated when needed
|
||||
#!**/[Pp]ackages/repositories.config
|
||||
# NuGet v3's project.json files produces more ignorable files
|
||||
*.nuget.props
|
||||
*.nuget.targets
|
||||
|
||||
# Microsoft Azure Build Output
|
||||
csx/
|
||||
*.build.csdef
|
||||
|
||||
# Microsoft Azure Emulator
|
||||
ecf/
|
||||
rcf/
|
||||
|
||||
# Windows Store app package directories and files
|
||||
AppPackages/
|
||||
BundleArtifacts/
|
||||
Package.StoreAssociation.xml
|
||||
_pkginfo.txt
|
||||
*.appx
|
||||
*.appxbundle
|
||||
*.appxupload
|
||||
|
||||
# Visual Studio cache files
|
||||
# files ending in .cache can be ignored
|
||||
*.[Cc]ache
|
||||
# but keep track of directories ending in .cache
|
||||
!?*.[Cc]ache/
|
||||
|
||||
# Others
|
||||
ClientBin/
|
||||
~$*
|
||||
*~
|
||||
*.dbmdl
|
||||
*.dbproj.schemaview
|
||||
*.jfm
|
||||
*.pfx
|
||||
*.publishsettings
|
||||
orleans.codegen.cs
|
||||
|
||||
# Including strong name files can present a security risk
|
||||
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
|
||||
#*.snk
|
||||
|
||||
# Since there are multiple workflows, uncomment next line to ignore bower_components
|
||||
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
|
||||
#bower_components/
|
||||
|
||||
# RIA/Silverlight projects
|
||||
Generated_Code/
|
||||
|
||||
# Backup & report files from converting an old project file
|
||||
# to a newer Visual Studio version. Backup files are not needed,
|
||||
# because we have git ;-)
|
||||
_UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
UpgradeLog*.htm
|
||||
ServiceFabricBackup/
|
||||
*.rptproj.bak
|
||||
|
||||
# SQL Server files
|
||||
*.mdf
|
||||
*.ldf
|
||||
*.ndf
|
||||
|
||||
# Business Intelligence projects
|
||||
*.rdl.data
|
||||
*.bim.layout
|
||||
*.bim_*.settings
|
||||
*.rptproj.rsuser
|
||||
*- [Bb]ackup.rdl
|
||||
*- [Bb]ackup ([0-9]).rdl
|
||||
*- [Bb]ackup ([0-9][0-9]).rdl
|
||||
|
||||
# Microsoft Fakes
|
||||
FakesAssemblies/
|
||||
|
||||
# GhostDoc plugin setting file
|
||||
*.GhostDoc.xml
|
||||
|
||||
# Node.js Tools for Visual Studio
|
||||
.ntvs_analysis.dat
|
||||
node_modules/
|
||||
|
||||
# Visual Studio 6 build log
|
||||
*.plg
|
||||
|
||||
# Visual Studio 6 workspace options file
|
||||
*.opt
|
||||
|
||||
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
|
||||
*.vbw
|
||||
|
||||
# Visual Studio LightSwitch build output
|
||||
**/*.HTMLClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/ModelManifest.xml
|
||||
**/*.Server/GeneratedArtifacts
|
||||
**/*.Server/ModelManifest.xml
|
||||
_Pvt_Extensions
|
||||
|
||||
# Paket dependency manager
|
||||
.paket/paket.exe
|
||||
paket-files/
|
||||
|
||||
# FAKE - F# Make
|
||||
.fake/
|
||||
|
||||
# CodeRush personal settings
|
||||
.cr/personal
|
||||
|
||||
# Python Tools for Visual Studio (PTVS)
|
||||
__pycache__/
|
||||
*.pyc
|
||||
|
||||
# Cake - Uncomment if you are using it
|
||||
# tools/**
|
||||
# !tools/packages.config
|
||||
|
||||
# Tabs Studio
|
||||
*.tss
|
||||
|
||||
# Telerik's JustMock configuration file
|
||||
*.jmconfig
|
||||
|
||||
# BizTalk build output
|
||||
*.btp.cs
|
||||
*.btm.cs
|
||||
*.odx.cs
|
||||
*.xsd.cs
|
||||
|
||||
# OpenCover UI analysis results
|
||||
OpenCover/
|
||||
|
||||
# Azure Stream Analytics local run output
|
||||
ASALocalRun/
|
||||
|
||||
# MSBuild Binary and Structured Log
|
||||
*.binlog
|
||||
|
||||
# NVidia Nsight GPU debugger configuration file
|
||||
*.nvuser
|
||||
|
||||
# MFractors (Xamarin productivity tool) working folder
|
||||
.mfractor/
|
||||
|
||||
# Local History for Visual Studio
|
||||
.localhistory/
|
||||
|
||||
# BeatPulse healthcheck temp database
|
||||
healthchecksdb
|
||||
|
||||
# Backup folder for Package Reference Convert tool in Visual Studio 2017
|
||||
MigrationBackup/
|
||||
|
||||
# Ionide (cross platform F# VS Code tools) working folder
|
||||
.ionide/
|
||||
|
||||
# Fody - auto-generated XML schema
|
||||
FodyWeavers.xsd
|
||||
|
||||
# DocFX
|
||||
_site
|
||||
docs/api
|
0
.nojekyll
Normal file
0
.nojekyll
Normal file
18
GNUmakefile
18
GNUmakefile
|
@ -1,18 +0,0 @@
|
|||
DOTNET ?= dotnet
|
||||
NETVERSION ?= net8.0
|
||||
|
||||
.PHONY: publish
|
||||
publish:
|
||||
make DOTNET=$(DOTNET) NETVERSION=$(NETVERSION) -C src/Xdg.Directories.FFI publish
|
||||
|
||||
.PHONY: install
|
||||
install: publish
|
||||
make DOTNET=$(DOTNET) NETVERSION=$(NETVERSION) -C src/Xdg.Directories.FFI install
|
||||
|
||||
.PHONY: uninstall
|
||||
uninstall:
|
||||
make -C src/Xdg.Directories.FFI uninstall
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
make -C src/Xdg.Directories.FFI clean
|
21
LICENSE
21
LICENSE
|
@ -1,21 +0,0 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2023 Xdg.Net 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.
|
61
README.md
61
README.md
|
@ -1,61 +0,0 @@
|
|||
# Xdg.Directories
|
||||
|
||||
> A .NET Standard library for the XDG Base Directory Specification and XDG user directories.
|
||||
|
||||
[![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/xdg-net/xdg.directories/build-test.yaml?style=for-the-badge&logo=github)](https://github.com/xdg-net/Xdg.Directories/actions/workflows/build-test.yaml)
|
||||
[![NuGet Version](https://img.shields.io/nuget/v/xdg.directories?style=for-the-badge&logo=nuget)](https://www.nuget.org/packages/Xdg.Directories/)
|
||||
[![Documentation](https://img.shields.io/badge/docfx-Docs-3391ff.svg?style=for-the-badge&logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iMzguMDAwMDAwcHQiIGhlaWdodD0iMzguMDAwMDAwcHQiIHZpZXdCb3g9IjAgMCAxNzIuMDAwMDAwIDE3Mi4wMDAwMDAiCiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij4KPG1ldGFkYXRhPgpDcmVhdGVkIGJ5IERvY2Z4CjwvbWV0YWRhdGE+CjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLDE3Mi4wMDAwMDApIHNjYWxlKDAuMTAwMDAwLC0wLjEwMDAwMCkiCmZpbGw9IiNkZGRkZGQiIHN0cm9rZT0ibm9uZSI+CjxwYXRoIGQ9Ik0yMzAgMTM1OSBjMCAtMTggMTEgLTMwIDQ0IC00OCA4MCAtNDIgODEgLTQ1IDgxIC00NDEgMCAtNDAwIC0xCi00MDQgLTc5IC00MzYgLTM2IC0xNSAtNDYgLTI0IC00NiAtNDMgMCAtMjMgMiAtMjQgNjEgLTE3IDM0IDMgODggNiAxMjAgNgpsNTkgMCAwIDQ5NSAwIDQ5NSAtODIgMCBjLTQ2IDAgLTEwMCAzIC0xMjAgNiAtMzUgNiAtMzggNSAtMzggLTE3eiIvPgo8cGF0aCBkPSJNNjE4IDEzNzMgbC0xMTggLTQgMCAtNDkzIDAgLTQ5NCAxNTQgLTcgYzE4MSAtOSAyMzUgLTMgMzEzIDM0IDY4CjMzIDE2OCAxMzAgMjA3IDIwMiA3NSAxMzYgNzUgMzg0IDEgNTM2IC03MSAxNDUgLTIzNCAyNDAgLTM5OSAyMzEgLTIzIC0xIC05NAotNCAtMTU4IC01eiBtMjg3IC0xMTkgYzY4IC0yNCAxNDQgLTEwMSAxNzYgLTE3OSAyMiAtNTQgMjQgLTc1IDI0IC0yMTAgMAotMTQxIC0yIC0xNTMgLTI2IC0yMDYgLTM2IC03NiAtODkgLTEzMiAtMTUyIC0xNjAgLTQ1IC0yMSAtNjggLTI0IC0xNjQgLTI0Ci03MSAwIC0xMTYgNCAtMTIzIDExIC0yMiAyMiAtMzEgMTc1IC0yOCA0NjMgMiAyMDggNiAyOTMgMTUgMzAyIDMyIDMyIDE4OCAzMwoyNzggM3oiLz4KPHBhdGggZD0iTTExNzAgMTIyOCBjNzUgLTEwNCAxMTAgLTMzNyA3NiAtNTA4IC0yMSAtMTAwIC01NiAtMTc4IC0xMDUgLTIzMwpsLTM2IC00MSAzNCAyMCBjNzUgNDMgMTYwIDEzMyAxOTggMjEyIDM3IDc1IDM4IDc4IDM4IDE5MSAtMSAxMjkgLTE4IDE5MSAtNzUKMjcwIC0yOCAzOCAtMTM2IDEzMSAtMTUzIDEzMSAtNCAwIDYgLTE5IDIzIC00MnoiLz4KPC9nPgo8L3N2Zz4K)](https://xdg-net.github.io/Xdg.Directories/)
|
||||
[![MIT License](https://img.shields.io/github/license/xdg-net/xdg.directories?style=for-the-badge)](https://choosealicense.com/licenses/mit/)
|
||||
|
||||
Xdg.Directories is a ***small*** (the .dll is only 11 KB), [***fast***](https://xdg-net.github.io/Xdg.Directories/dev/bench/) and ***portable*** (Completely supports .NET Standard 2.0 and even NativeAOT!) .NET implementation of the [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html) and XDG user directories for Windows, MacOS and Linux/FreeBSD.
|
||||
|
||||
Full documentation can be found at <https://xdg-net.github.io/Xdg.Directories>.
|
||||
|
||||
## Installation
|
||||
|
||||
Use [NuGet](http://docs.nuget.org/docs/start-here/installing-nuget) to install [Xdg.Directories](thttps://www.nuget.org/packages/Xdg.Directories).
|
||||
|
||||
From the .NET CLI:
|
||||
|
||||
```bash
|
||||
dotnet add package Xdg.Directories
|
||||
```
|
||||
|
||||
or from Visual Studio's package manager:
|
||||
|
||||
```pwsh
|
||||
Install-Package Xdg.Directories
|
||||
```
|
||||
|
||||
### Pre-releases
|
||||
|
||||
Preview releases are uploaded to both [GitHub packages](https://github.com/xdg-net/Xdg.Directories/pkgs/nuget/Xdg.Directories) (need GitHub account to download) and [Forgejo packages](https://git.froth.zone/mirrors/-/packages/nuget/xdg.directories) (no login required).
|
||||
|
||||
## Usage
|
||||
|
||||
### Base Directories, C\#
|
||||
|
||||
```cs
|
||||
using System;
|
||||
using Xdg.Directories;
|
||||
|
||||
// Prints /home/$USER/.local/share
|
||||
Console.Writeline(BaseDirectory.DataHome);
|
||||
|
||||
// Prints /home/$USER/.cache
|
||||
Console.Writeline(BaseDirectory.CacheHome)
|
||||
```
|
||||
|
||||
### User Directories, F\#
|
||||
|
||||
```fsharp
|
||||
open Xdg.Directories
|
||||
|
||||
// Prints /home/$USER/Documents
|
||||
printfn "%s" UserDirectory.DesktopDir
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the [MIT](https://choosealicense.com/licenses/mit/) license. \
|
||||
Icon is made by Emoji One, [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0), via [Wikimedia Commons](https://commons.wikimedia.org/wiki/File:Eo_circle_purple_white_letter-x.svg) an image.
|
48
Xdg.Net.sln
48
Xdg.Net.sln
|
@ -1,48 +0,0 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.5.33627.172
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xdg.Directories", "src\Xdg.Directories\Xdg.Directories.csproj", "{D644CF8D-B8EB-4581-B075-9FD62BB5709A}"
|
||||
EndProject
|
||||
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Xdg.Benchmarks", "src\Xdg.Benchmarks\Xdg.Benchmarks.fsproj", "{AEC4CC3D-E753-4D96-B8E8-B39B41EC0871}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xdg.Testing", "src\Xdg.Testing\Xdg.Testing.csproj", "{F5B4B166-F5F9-4D47-B426-CDA907C8B3E5}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xdg.Directories.FFI", "src\Xdg.Directories.FFI\Xdg.Directories.FFI.csproj", "{7261AAFC-65AE-4456-BB9B-5AAC17B89B28}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5A43E4AC-06BD-4311-AF36-616FE7C938CD}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.editorconfig = .editorconfig
|
||||
GNUmakefile = GNUmakefile
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{D644CF8D-B8EB-4581-B075-9FD62BB5709A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D644CF8D-B8EB-4581-B075-9FD62BB5709A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D644CF8D-B8EB-4581-B075-9FD62BB5709A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D644CF8D-B8EB-4581-B075-9FD62BB5709A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{AEC4CC3D-E753-4D96-B8E8-B39B41EC0871}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{AEC4CC3D-E753-4D96-B8E8-B39B41EC0871}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{AEC4CC3D-E753-4D96-B8E8-B39B41EC0871}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{AEC4CC3D-E753-4D96-B8E8-B39B41EC0871}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F5B4B166-F5F9-4D47-B426-CDA907C8B3E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F5B4B166-F5F9-4D47-B426-CDA907C8B3E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F5B4B166-F5F9-4D47-B426-CDA907C8B3E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F5B4B166-F5F9-4D47-B426-CDA907C8B3E5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7261AAFC-65AE-4456-BB9B-5AAC17B89B28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7261AAFC-65AE-4456-BB9B-5AAC17B89B28}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7261AAFC-65AE-4456-BB9B-5AAC17B89B28}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7261AAFC-65AE-4456-BB9B-5AAC17B89B28}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {6625754A-B79C-48B3-9B84-B7CF536AF30C}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
505
api/Xdg.Directories.BaseDirectory.html
Normal file
505
api/Xdg.Directories.BaseDirectory.html
Normal file
|
@ -0,0 +1,505 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class BaseDirectory </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class BaseDirectory ">
|
||||
|
||||
<meta name="description" content="The XDG Base Directory specification is a standard created by freedesktop.org that standardizes the location of storing application files.">
|
||||
<link rel="icon" href="../images/icon.png">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
<meta name="docfx:navrel" content="../toc.html">
|
||||
<meta name="docfx:tocrel" content="toc.html">
|
||||
|
||||
<meta name="docfx:rel" content="../">
|
||||
|
||||
|
||||
<meta name="docfx:docurl" content="https://github.com/xdg-net/Xdg.Directories/new/master/apiSpec/new?filename=Xdg_Directories_BaseDirectory.md&value=---%0Auid%3A%20Xdg.Directories.BaseDirectory%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">
|
||||
<meta name="loc:inThisArticle" content="In this article">
|
||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<meta name="loc:tocFilter" content="Filter by title">
|
||||
<meta name="loc:nextArticle" content="Next">
|
||||
<meta name="loc:prevArticle" content="Previous">
|
||||
<meta name="loc:themeLight" content="Light">
|
||||
<meta name="loc:themeDark" content="Dark">
|
||||
<meta name="loc:themeAuto" content="Auto">
|
||||
<meta name="loc:changeTheme" content="Change theme">
|
||||
<meta name="loc:copy" content="Copy">
|
||||
<meta name="loc:downloadPdf" content="Download PDF">
|
||||
|
||||
<script type="module" src="./../public/docfx.min.js"></script>
|
||||
|
||||
<script>
|
||||
const theme = localStorage.getItem('theme') || 'auto'
|
||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../index.html">
|
||||
<img id="logo" class="svg" src="../images/icon.svg" alt="Xdg.Directories">
|
||||
Xdg.Directories
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled="" placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="Xdg.Directories.BaseDirectory">
|
||||
|
||||
|
||||
|
||||
<h1 id="Xdg_Directories_BaseDirectory" data-uid="Xdg.Directories.BaseDirectory" class="text-break">
|
||||
Class BaseDirectory <a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/BaseDirectory.cs/#L4"><i class="bi bi-code-slash"></i></a>
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Xdg.html">Xdg</a>.<a class="xref" href="Xdg.Directories.html">Directories</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Xdg.Directories.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>The XDG Base Directory specification is a standard created by freedesktop.org that standardizes the location of storing application files.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static class BaseDirectory</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">BaseDirectory</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Xdg_Directories_BaseDirectory_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"> <p>
|
||||
<br>
|
||||
This allows users to have less clutter in their home directories, and allows programmers to not have to hard-code directories.
|
||||
</p>
|
||||
<br>
|
||||
For all base directories, the directories are resolved as follows:
|
||||
<ol><li><span class="term">
|
||||
The respective <code>XDG_*</code> enivronment variable
|
||||
</span>will always be used if specified</li><li><table><tbody><tr></tr><tr><td class="term">Windows</td><td class="description">
|
||||
Use <a href="https://learn.microsoft.com/en-us/windows/win32/shell/known-folders">Known Folders</a>.
|
||||
</td></tr><tr><td class="term">macOS</td><td class="description">
|
||||
Follow the <a href="https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html#//apple_ref/doc/uid/TP40010672-CH2-SW1">Apple documentation</a> on application-specific files.
|
||||
</td></tr><tr><td class="term">Linux/FreeBSD</td><td class="description">
|
||||
Follow the <a href="https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG Base Directory</a> specification.
|
||||
</td></tr></tbody></table></li></ol>
|
||||
</div>
|
||||
|
||||
|
||||
<h2 class="section" id="properties">Properties
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Xdg_Directories_BaseDirectory_BinHome_" data-uid="Xdg.Directories.BaseDirectory.BinHome*"></a>
|
||||
|
||||
<h3 id="Xdg_Directories_BaseDirectory_BinHome" data-uid="Xdg.Directories.BaseDirectory.BinHome">
|
||||
BinHome
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/BaseDirectory.cs/#L55"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Base directory for executable files.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static string BinHome { get; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd><p>A single base directory relative to which user-specifc <strong>executable</strong> files should be written.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section" id="Xdg_Directories_BaseDirectory_BinHome_remarks">Remarks</h4>
|
||||
<div class="markdown level1 remarks"><p>If <code>XDG_BIN_HOME</code> is set, the directory specified.</p>
|
||||
<table><tbody><tr><td class="term">Windows</td><td class="description"><code>""</code><br>
|
||||
Windows does not support this by default.
|
||||
</td></tr><tr><td class="term">macOS</td><td class="description"><code>""</code><br>
|
||||
macOS does not support this by default.
|
||||
</td></tr><tr><td class="term">Linux/FreeBSD</td><td class="description"><code>$HOME/.local/bin</code></td></tr></tbody></table>
|
||||
NOTE: This is not an XDG standard but a <em>de facto</em> standard.
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Xdg_Directories_BaseDirectory_CacheHome_" data-uid="Xdg.Directories.BaseDirectory.CacheHome*"></a>
|
||||
|
||||
<h3 id="Xdg_Directories_BaseDirectory_CacheHome" data-uid="Xdg.Directories.BaseDirectory.CacheHome">
|
||||
CacheHome
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/BaseDirectory.cs/#L117"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Base directory for non-essential data.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static string CacheHome { get; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd><p>A single base directory relative to which user-specifc <strong>non-essential</strong> data should be written.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section" id="Xdg_Directories_BaseDirectory_CacheHome_remarks">Remarks</h4>
|
||||
<div class="markdown level1 remarks"><p>If <code>XDG_CACHE_HOME</code> is set, the directory specified.</p>
|
||||
<table><tbody><tr><td class="term">Windows</td><td class="description"><code>%LOCALAPPDATA%\cache</code></td></tr><tr><td class="term">macOS</td><td class="description"><code>$HOME/Library/Caches</code></td></tr><tr><td class="term">Linux/FreeBSD</td><td class="description"><code>$HOME/.cache</code></td></tr></tbody></table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Xdg_Directories_BaseDirectory_ConfigDirs_" data-uid="Xdg.Directories.BaseDirectory.ConfigDirs*"></a>
|
||||
|
||||
<h3 id="Xdg_Directories_BaseDirectory_ConfigDirs" data-uid="Xdg.Directories.BaseDirectory.ConfigDirs">
|
||||
ConfigDirs
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/BaseDirectory.cs/#L90"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>A list of directories to look for configuration files.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static IList<string> ConfigDirs { get; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ilist-1">IList</a><<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>></dt>
|
||||
<dd><p>A set of preference-ordered base directories to which configuration files should be searched.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section" id="Xdg_Directories_BaseDirectory_ConfigDirs_remarks">Remarks</h4>
|
||||
<div class="markdown level1 remarks"><p>If <code>XDG_CONFIG_DIRS</code> is set, a list of the directories specified.</p>
|
||||
<table><tbody><tr><td class="term">Windows</td><td class="description"><code>%ProgramData%</code>,
|
||||
<code>%APPADATA%</code></td></tr><tr><td class="term">macOS</td><td class="description"><code>~/Library/Preferences</code>,
|
||||
<code>/Library/Application Support</code>,
|
||||
<code>/Library/Preferences</code></td></tr><tr><td class="term">Linux/FreeBSD</td><td class="description"><code>/etc/xdg</code></td></tr></tbody></table>
|
||||
This is typically not used, for most use cases <a class="xref" href="Xdg.Directories.BaseDirectory.html#Xdg_Directories_BaseDirectory_ConfigHome">ConfigHome</a> should be used instead.
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Xdg_Directories_BaseDirectory_ConfigHome_" data-uid="Xdg.Directories.BaseDirectory.ConfigHome*"></a>
|
||||
|
||||
<h3 id="Xdg_Directories_BaseDirectory_ConfigHome" data-uid="Xdg.Directories.BaseDirectory.ConfigHome">
|
||||
ConfigHome
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/BaseDirectory.cs/#L23"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Base directory for configuration files.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static string ConfigHome { get; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd><p>A single base directory relative to which user-specifc <strong>configuration</strong> files should be written.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section" id="Xdg_Directories_BaseDirectory_ConfigHome_remarks">Remarks</h4>
|
||||
<div class="markdown level1 remarks"><p>If <code>XDG_CONFIG_HOME</code> is set, the directory specified.</p>
|
||||
<table><tbody><tr><td class="term">Windows</td><td class="description"><code>%LOCALAPPDATA%</code></td></tr><tr><td class="term">macOS</td><td class="description"><code>$HOME/Library/Application Support</code></td></tr><tr><td class="term">Linux/FreeBSD</td><td class="description"><code>$HOME/.config</code></td></tr></tbody></table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Xdg_Directories_BaseDirectory_DataDirs_" data-uid="Xdg.Directories.BaseDirectory.DataDirs*"></a>
|
||||
|
||||
<h3 id="Xdg_Directories_BaseDirectory_DataDirs" data-uid="Xdg.Directories.BaseDirectory.DataDirs">
|
||||
DataDirs
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/BaseDirectory.cs/#L69"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>A list of directories to search for data files.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static IList<string> DataDirs { get; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ilist-1">IList</a><<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>></dt>
|
||||
<dd><p>A set of preference-ordered base directories to which data files should be searched.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section" id="Xdg_Directories_BaseDirectory_DataDirs_remarks">Remarks</h4>
|
||||
<div class="markdown level1 remarks"><p>If <code>XDG_DATA_DIRS</code> is set, a list of the directories specified.</p>
|
||||
<table><tbody><tr><td class="term">Windows</td><td class="description"><code>%APPADATA%</code>,
|
||||
<code>%ProgramData%</code></td></tr><tr><td class="term">macOS</td><td class="description"><code>/Library/Application Support</code></td></tr><tr><td class="term">Linux/FreeBSD</td><td class="description"><code>/usr/local/share/</code>,
|
||||
<code>/usr/share/</code></td></tr></tbody></table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Xdg_Directories_BaseDirectory_DataHome_" data-uid="Xdg.Directories.BaseDirectory.DataHome*"></a>
|
||||
|
||||
<h3 id="Xdg_Directories_BaseDirectory_DataHome" data-uid="Xdg.Directories.BaseDirectory.DataHome">
|
||||
DataHome
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/BaseDirectory.cs/#L7"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Base directory for data files.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static string DataHome { get; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd><p>A single base directory relative to which user-specifc <strong>data</strong> files should be written.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section" id="Xdg_Directories_BaseDirectory_DataHome_remarks">Remarks</h4>
|
||||
<div class="markdown level1 remarks"><p>If <code>XDG_DATA_HOME</code> is set, the directory specified.</p>
|
||||
<table><tbody><tr><td class="term">Windows</td><td class="description"><code>%LOCALAPPDATA%</code></td></tr><tr><td class="term">macOS</td><td class="description"><code>$HOME/Library/Application Support</code></td></tr><tr><td class="term">Linux/FreeBSD</td><td class="description"><code>$HOME/.local/share</code></td></tr></tbody></table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Xdg_Directories_BaseDirectory_RuntimeDir_" data-uid="Xdg.Directories.BaseDirectory.RuntimeDir*"></a>
|
||||
|
||||
<h3 id="Xdg_Directories_BaseDirectory_RuntimeDir" data-uid="Xdg.Directories.BaseDirectory.RuntimeDir">
|
||||
RuntimeDir
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/BaseDirectory.cs/#L134"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Base directory for runtime-specific files.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static string RuntimeDir { get; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd><p>A single base directory relative to which user-specifc <strong>runtime files</strong> should be written.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section" id="Xdg_Directories_BaseDirectory_RuntimeDir_remarks">Remarks</h4>
|
||||
<div class="markdown level1 remarks"><p>If <code>XDG_RUNTIME_DIR</code> is set, the directory specified.</p>
|
||||
<table><tbody><tr><td class="term">Windows</td><td class="description"><code>%LOCALAPPDATA%</code></td></tr><tr><td class="term">macOS</td><td class="description"><code>$HOME/Library/Application Support</code></td></tr><tr><td class="term">Linux/FreeBSD</td><td class="description"><code>/run/user/$UID</code></td></tr></tbody></table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Xdg_Directories_BaseDirectory_StateHome_" data-uid="Xdg.Directories.BaseDirectory.StateHome*"></a>
|
||||
|
||||
<h3 id="Xdg_Directories_BaseDirectory_StateHome" data-uid="Xdg.Directories.BaseDirectory.StateHome">
|
||||
StateHome
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/BaseDirectory.cs/#L39"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Base directory for state data.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static string StateHome { get; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd><p>A single base directory relative to which user-specifc <strong>state data</strong> should be written.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section" id="Xdg_Directories_BaseDirectory_StateHome_remarks">Remarks</h4>
|
||||
<div class="markdown level1 remarks"><p>If <code>XDG_STATE_HOME</code> is set, the directory specified.</p>
|
||||
<table><tbody><tr><td class="term">Windows</td><td class="description"><code>%LOCALAPPDATA%</code></td></tr><tr><td class="term">macOS</td><td class="description"><code>$HOME/Library/Application Support</code></td></tr><tr><td class="term">Linux/FreeBSD</td><td class="description"><code>$HOME/.local/state</code></td></tr></tbody></table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
<a href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/BaseDirectory.cs/#L4" class="edit-link">Edit this page</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span>Made with <a href="https://dotnet.github.io/docfx">docfx</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
316
api/Xdg.Directories.Other.html
Normal file
316
api/Xdg.Directories.Other.html
Normal file
|
@ -0,0 +1,316 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class Other </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class Other ">
|
||||
|
||||
<meta name="description" content="Other useful directories that aren't specified by XDG.">
|
||||
<link rel="icon" href="../images/icon.png">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
<meta name="docfx:navrel" content="../toc.html">
|
||||
<meta name="docfx:tocrel" content="toc.html">
|
||||
|
||||
<meta name="docfx:rel" content="../">
|
||||
|
||||
|
||||
<meta name="docfx:docurl" content="https://github.com/xdg-net/Xdg.Directories/new/master/apiSpec/new?filename=Xdg_Directories_Other.md&value=---%0Auid%3A%20Xdg.Directories.Other%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">
|
||||
<meta name="loc:inThisArticle" content="In this article">
|
||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<meta name="loc:tocFilter" content="Filter by title">
|
||||
<meta name="loc:nextArticle" content="Next">
|
||||
<meta name="loc:prevArticle" content="Previous">
|
||||
<meta name="loc:themeLight" content="Light">
|
||||
<meta name="loc:themeDark" content="Dark">
|
||||
<meta name="loc:themeAuto" content="Auto">
|
||||
<meta name="loc:changeTheme" content="Change theme">
|
||||
<meta name="loc:copy" content="Copy">
|
||||
<meta name="loc:downloadPdf" content="Download PDF">
|
||||
|
||||
<script type="module" src="./../public/docfx.min.js"></script>
|
||||
|
||||
<script>
|
||||
const theme = localStorage.getItem('theme') || 'auto'
|
||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../index.html">
|
||||
<img id="logo" class="svg" src="../images/icon.svg" alt="Xdg.Directories">
|
||||
Xdg.Directories
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled="" placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="Xdg.Directories.Other">
|
||||
|
||||
|
||||
|
||||
<h1 id="Xdg_Directories_Other" data-uid="Xdg.Directories.Other" class="text-break">
|
||||
Class Other <a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/Other.cs/#L4"><i class="bi bi-code-slash"></i></a>
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Xdg.html">Xdg</a>.<a class="xref" href="Xdg.Directories.html">Directories</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Xdg.Directories.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Other useful directories that aren't specified by XDG.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static class Other</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">Other</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Xdg_Directories_Other_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><p>These variables were graciously stolen from the excellent <a href="https://github.com/adrg/xdg">Go XDG implementation</a>.
|
||||
That library largely inspired this one, absolutely recommended if you're working in Go.</p>
|
||||
</div>
|
||||
|
||||
|
||||
<h2 class="section" id="properties">Properties
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Xdg_Directories_Other_Applications_" data-uid="Xdg.Directories.Other.Applications*"></a>
|
||||
|
||||
<h3 id="Xdg_Directories_Other_Applications" data-uid="Xdg.Directories.Other.Applications">
|
||||
Applications
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/Other.cs/#L23"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Application directories</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static IList<string> Applications { get; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ilist-1">IList</a><<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>></dt>
|
||||
<dd><p>Common application directories.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section" id="Xdg_Directories_Other_Applications_remarks">Remarks</h4>
|
||||
<div class="markdown level1 remarks"><table><tbody><tr><td class="term">Windows</td><td class="description">
|
||||
The <code>Programs</code> Special Folder,
|
||||
the <code>Common Programs</code> Special Folder
|
||||
</td></tr><tr><td class="term">macOS</td><td class="description">
|
||||
<code>/Applications</code>
|
||||
</td></tr><tr><td class="term">Linux/FreeBSD</td><td class="description">
|
||||
<code>$XDG_DATA_HOME/applications</code>,
|
||||
<code>$HOME/.local/share/applications</code>,
|
||||
<code>/usr/local/share/applications</code>,
|
||||
<code>/usr/share/applications</code></td></tr></tbody></table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Xdg_Directories_Other_Fonts_" data-uid="Xdg.Directories.Other.Fonts*"></a>
|
||||
|
||||
<h3 id="Xdg_Directories_Other_Fonts" data-uid="Xdg.Directories.Other.Fonts">
|
||||
Fonts
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/Other.cs/#L49"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Font directories</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static IList<string> Fonts { get; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ilist-1">IList</a><<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>></dt>
|
||||
<dd><p>Common font directories.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section" id="Xdg_Directories_Other_Fonts_remarks">Remarks</h4>
|
||||
<div class="markdown level1 remarks"><table><tbody><tr><td class="term">Windows</td><td class="description">
|
||||
<code>%SYSTEMROOT%\Fonts</code>,
|
||||
<code>%LOCALAPPDATA%\Microsoft\Windows\Fonts</code></td></tr><tr><td class="term">macOS</td><td class="description">
|
||||
<code>$HOME/Library/Fonts</code>,
|
||||
<code>/Library/Fonts</code>,
|
||||
<code>/System/Library/Fonts</code>,
|
||||
<code>/Network/Library/Fonts</code></td></tr><tr><td class="term">Linux/FreeBSD</td><td class="description">
|
||||
<code>$XDG_DATA_HOME/fonts</code>,
|
||||
<code>$HOME/.fonts</code>,
|
||||
<code>$HOME/.local/share/fonts</code>,
|
||||
<code>/usr/local/share/fonts</code><code>/usr/share/fonts</code></td></tr></tbody></table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Xdg_Directories_Other_Home_" data-uid="Xdg.Directories.Other.Home*"></a>
|
||||
|
||||
<h3 id="Xdg_Directories_Other_Home" data-uid="Xdg.Directories.Other.Home">
|
||||
Home
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/Other.cs/#L7"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Home Directory</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static string Home { get; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd><p>The current user's home directory.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section" id="Xdg_Directories_Other_Home_remarks">Remarks</h4>
|
||||
<div class="markdown level1 remarks"><table><tbody><tr><td class="term">Windows</td><td class="description">
|
||||
<code>%USERPROFILE%</code>
|
||||
</td></tr><tr><td class="term">Unix (macOS/Linux/FreeBSD)</td><td class="description">
|
||||
<code>$HOME</code>
|
||||
</td></tr></tbody></table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
<a href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/Other.cs/#L4" class="edit-link">Edit this page</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span>Made with <a href="https://dotnet.github.io/docfx">docfx</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
501
api/Xdg.Directories.UserDirectory.html
Normal file
501
api/Xdg.Directories.UserDirectory.html
Normal file
|
@ -0,0 +1,501 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class UserDirectory </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class UserDirectory ">
|
||||
|
||||
<meta name="description" content="User directories are &quot;well known&quot; user directories, examples include the Desktop folder and the Documents folder.">
|
||||
<link rel="icon" href="../images/icon.png">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
<meta name="docfx:navrel" content="../toc.html">
|
||||
<meta name="docfx:tocrel" content="toc.html">
|
||||
|
||||
<meta name="docfx:rel" content="../">
|
||||
|
||||
|
||||
<meta name="docfx:docurl" content="https://github.com/xdg-net/Xdg.Directories/new/master/apiSpec/new?filename=Xdg_Directories_UserDirectory.md&value=---%0Auid%3A%20Xdg.Directories.UserDirectory%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">
|
||||
<meta name="loc:inThisArticle" content="In this article">
|
||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<meta name="loc:tocFilter" content="Filter by title">
|
||||
<meta name="loc:nextArticle" content="Next">
|
||||
<meta name="loc:prevArticle" content="Previous">
|
||||
<meta name="loc:themeLight" content="Light">
|
||||
<meta name="loc:themeDark" content="Dark">
|
||||
<meta name="loc:themeAuto" content="Auto">
|
||||
<meta name="loc:changeTheme" content="Change theme">
|
||||
<meta name="loc:copy" content="Copy">
|
||||
<meta name="loc:downloadPdf" content="Download PDF">
|
||||
|
||||
<script type="module" src="./../public/docfx.min.js"></script>
|
||||
|
||||
<script>
|
||||
const theme = localStorage.getItem('theme') || 'auto'
|
||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../index.html">
|
||||
<img id="logo" class="svg" src="../images/icon.svg" alt="Xdg.Directories">
|
||||
Xdg.Directories
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled="" placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="Xdg.Directories.UserDirectory">
|
||||
|
||||
|
||||
|
||||
<h1 id="Xdg_Directories_UserDirectory" data-uid="Xdg.Directories.UserDirectory" class="text-break">
|
||||
Class UserDirectory <a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/UserDirectory.cs/#L4"><i class="bi bi-code-slash"></i></a>
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Xdg.html">Xdg</a>.<a class="xref" href="Xdg.Directories.html">Directories</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Xdg.Directories.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>User directories are "well known" user directories, examples include the Desktop folder and the Documents folder.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static class UserDirectory</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">UserDirectory</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Xdg_Directories_UserDirectory_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><p>For all user directories, the directories are resolved as follows:</p>
|
||||
<ol><li><span class="term"> The respective <code>XDG_*</code> enivronment variable </span>will always be used if specified</li><li><table><tbody><tr></tr><tr><td class="term">Windows</td><td class="description">
|
||||
Use <a href="https://learn.microsoft.com/en-us/windows/win32/shell/known-folders">Known Folders</a>.
|
||||
</td></tr><tr><td class="term">macOS</td><td class="description">
|
||||
Not sure where this is documented by Apple but it largely follows what Linux does.
|
||||
</td></tr><tr><td class="term">Linux/FreeBSD</td><td class="description">
|
||||
Follow what <a href="https://freedesktop.org/wiki/Software/xdg-user-dirs">xdg-user-dirs</a> sets.
|
||||
</td></tr></tbody></table></li></ol>
|
||||
</div>
|
||||
|
||||
|
||||
<h2 class="section" id="properties">Properties
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Xdg_Directories_UserDirectory_DesktopDir_" data-uid="Xdg.Directories.UserDirectory.DesktopDir*"></a>
|
||||
|
||||
<h3 id="Xdg_Directories_UserDirectory_DesktopDir" data-uid="Xdg.Directories.UserDirectory.DesktopDir">
|
||||
DesktopDir
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/UserDirectory.cs/#L7"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Desktop folder</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static string DesktopDir { get; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd><p>The user's desktop directory.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section" id="Xdg_Directories_UserDirectory_DesktopDir_remarks">Remarks</h4>
|
||||
<div class="markdown level1 remarks"><p>If <code>XDG_DESKTOP_DIR</code> is set, the directory specified.</p>
|
||||
<table><tbody><tr><td class="term">Windows</td><td class="description">
|
||||
The <code>Desktop</code> Special Folder
|
||||
</td></tr><tr><td class="term">macOS</td><td class="description"><code>$HOME/Desktop</code></td></tr><tr><td class="term">Linux/FreeBSD</td><td class="description"><code>$HOME/Desktop</code></td></tr></tbody></table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Xdg_Directories_UserDirectory_DocumentsDir_" data-uid="Xdg.Directories.UserDirectory.DocumentsDir*"></a>
|
||||
|
||||
<h3 id="Xdg_Directories_UserDirectory_DocumentsDir" data-uid="Xdg.Directories.UserDirectory.DocumentsDir">
|
||||
DocumentsDir
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/UserDirectory.cs/#L36"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Document folder</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static string DocumentsDir { get; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd><p>A location to store documents files.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section" id="Xdg_Directories_UserDirectory_DocumentsDir_remarks">Remarks</h4>
|
||||
<div class="markdown level1 remarks"><p>If <code>XDG_DOCUMENTS_DIR</code> is set, the directory specified.</p>
|
||||
<table><tbody><tr><td class="term">Windows</td><td class="description">
|
||||
The <code>Documents</code> Special Folder
|
||||
</td></tr><tr><td class="term">macOS</td><td class="description"><code>$HOME/Documents</code></td></tr><tr><td class="term">Linux/FreeBSD</td><td class="description"><code>$HOME/Documents</code></td></tr></tbody></table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Xdg_Directories_UserDirectory_DownloadDir_" data-uid="Xdg.Directories.UserDirectory.DownloadDir*"></a>
|
||||
|
||||
<h3 id="Xdg_Directories_UserDirectory_DownloadDir" data-uid="Xdg.Directories.UserDirectory.DownloadDir">
|
||||
DownloadDir
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/UserDirectory.cs/#L21"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Download folder</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static string DownloadDir { get; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd><p>A location to store downloaded files.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section" id="Xdg_Directories_UserDirectory_DownloadDir_remarks">Remarks</h4>
|
||||
<div class="markdown level1 remarks"><p>If <code>XDG_DOWNLOAD_DIR</code> is set, the directory specified.</p>
|
||||
<table><tbody><tr><td class="term">Windows</td><td class="description"><code>null</code><br>
|
||||
Windows does not specify the Downloads folder in its magic folder list.
|
||||
</td></tr><tr><td class="term">macOS</td><td class="description"><code>$HOME/Downloads</code></td></tr><tr><td class="term">Linux/FreeBSD</td><td class="description"><code>$HOME/Downloads</code></td></tr></tbody></table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Xdg_Directories_UserDirectory_MusicDir_" data-uid="Xdg.Directories.UserDirectory.MusicDir*"></a>
|
||||
|
||||
<h3 id="Xdg_Directories_UserDirectory_MusicDir" data-uid="Xdg.Directories.UserDirectory.MusicDir">
|
||||
MusicDir
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/UserDirectory.cs/#L50"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Music folder</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static string MusicDir { get; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd><p>A location to store music files.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section" id="Xdg_Directories_UserDirectory_MusicDir_remarks">Remarks</h4>
|
||||
<div class="markdown level1 remarks"><p>If <code>XDG_MUSIC_DIR</code> is set, the directory specified.</p>
|
||||
<table><tbody><tr><td class="term">Windows</td><td class="description">
|
||||
The <code>Music</code> Special Folder
|
||||
</td></tr><tr><td class="term">macOS</td><td class="description"><code>$HOME/Music</code></td></tr><tr><td class="term">Linux/FreeBSD</td><td class="description"><code>$HOME/Music</code></td></tr></tbody></table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Xdg_Directories_UserDirectory_PicturesDir_" data-uid="Xdg.Directories.UserDirectory.PicturesDir*"></a>
|
||||
|
||||
<h3 id="Xdg_Directories_UserDirectory_PicturesDir" data-uid="Xdg.Directories.UserDirectory.PicturesDir">
|
||||
PicturesDir
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/UserDirectory.cs/#L64"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Image folder</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static string PicturesDir { get; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd><p>A location to store image files.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section" id="Xdg_Directories_UserDirectory_PicturesDir_remarks">Remarks</h4>
|
||||
<div class="markdown level1 remarks"><p>If <code>XDG_PICTURES_DIR</code> is set, the directory specified.</p>
|
||||
<table><tbody><tr><td class="term">Windows</td><td class="description">
|
||||
The <code>Pictures</code> Special Folder
|
||||
</td></tr><tr><td class="term">macOS</td><td class="description"><code>$HOME/Pictures</code></td></tr><tr><td class="term">Linux/FreeBSD</td><td class="description"><code>$HOME/Pictures</code></td></tr></tbody></table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Xdg_Directories_UserDirectory_PublicDir_" data-uid="Xdg.Directories.UserDirectory.PublicDir*"></a>
|
||||
|
||||
<h3 id="Xdg_Directories_UserDirectory_PublicDir" data-uid="Xdg.Directories.UserDirectory.PublicDir">
|
||||
PublicDir
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/UserDirectory.cs/#L106"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Public folder</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static string PublicDir { get; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd><p>A location to store public / shared files.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section" id="Xdg_Directories_UserDirectory_PublicDir_remarks">Remarks</h4>
|
||||
<div class="markdown level1 remarks"><p>If <code>XDG_PUBLICSHARE_DIR</code> is set, the directory specified.</p>
|
||||
<table><tbody><tr><td class="term">Windows</td><td class="description"><code>%PUBLIC%</code></td></tr><tr><td class="term">macOS</td><td class="description"><code>$HOME/Public</code></td></tr><tr><td class="term">Linux/FreeBSD</td><td class="description"><code>$HOME/Public</code></td></tr></tbody></table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Xdg_Directories_UserDirectory_TemplatesDir_" data-uid="Xdg.Directories.UserDirectory.TemplatesDir*"></a>
|
||||
|
||||
<h3 id="Xdg_Directories_UserDirectory_TemplatesDir" data-uid="Xdg.Directories.UserDirectory.TemplatesDir">
|
||||
TemplatesDir
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/UserDirectory.cs/#L92"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Template folder</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static string TemplatesDir { get; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd><p>A location to store template files.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section" id="Xdg_Directories_UserDirectory_TemplatesDir_remarks">Remarks</h4>
|
||||
<div class="markdown level1 remarks"><p>If <code>XDG_TEMPLATES_DIR</code> is set, the directory specified.</p>
|
||||
<table><tbody><tr><td class="term">Windows</td><td class="description">
|
||||
The <code>Templates</code> Special Folder
|
||||
</td></tr><tr><td class="term">macOS</td><td class="description"><code>$HOME/Templates</code></td></tr><tr><td class="term">Linux/FreeBSD</td><td class="description"><code>$HOME/Templatess</code></td></tr></tbody></table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Xdg_Directories_UserDirectory_VideosDir_" data-uid="Xdg.Directories.UserDirectory.VideosDir*"></a>
|
||||
|
||||
<h3 id="Xdg_Directories_UserDirectory_VideosDir" data-uid="Xdg.Directories.UserDirectory.VideosDir">
|
||||
VideosDir
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/UserDirectory.cs/#L78"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Video folder</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static string VideosDir { get; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd><p>A location to store video files.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section" id="Xdg_Directories_UserDirectory_VideosDir_remarks">Remarks</h4>
|
||||
<div class="markdown level1 remarks"><p>If <code>XDG_VIDEOS_DIR</code> is set, the directory specified.</p>
|
||||
<table><tbody><tr><td class="term">Windows</td><td class="description">
|
||||
The <code>Videos</code> Special Folder
|
||||
</td></tr><tr><td class="term">macOS</td><td class="description"><code>$HOME/Movies</code></td></tr><tr><td class="term">Linux/FreeBSD</td><td class="description"><code>$HOME/Videos</code></td></tr></tbody></table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
<a href="https://github.com/xdg-net/Xdg.Directories/blob/master/src/Xdg.Directories/UserDirectory.cs/#L4" class="edit-link">Edit this page</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span>Made with <a href="https://dotnet.github.io/docfx">docfx</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
137
api/Xdg.Directories.html
Normal file
137
api/Xdg.Directories.html
Normal file
|
@ -0,0 +1,137 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Namespace Xdg.Directories </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Namespace Xdg.Directories ">
|
||||
|
||||
|
||||
<link rel="icon" href="../images/icon.png">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
<meta name="docfx:navrel" content="../toc.html">
|
||||
<meta name="docfx:tocrel" content="toc.html">
|
||||
|
||||
<meta name="docfx:rel" content="../">
|
||||
|
||||
|
||||
|
||||
<meta name="loc:inThisArticle" content="In this article">
|
||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<meta name="loc:tocFilter" content="Filter by title">
|
||||
<meta name="loc:nextArticle" content="Next">
|
||||
<meta name="loc:prevArticle" content="Previous">
|
||||
<meta name="loc:themeLight" content="Light">
|
||||
<meta name="loc:themeDark" content="Dark">
|
||||
<meta name="loc:themeAuto" content="Auto">
|
||||
<meta name="loc:changeTheme" content="Change theme">
|
||||
<meta name="loc:copy" content="Copy">
|
||||
<meta name="loc:downloadPdf" content="Download PDF">
|
||||
|
||||
<script type="module" src="./../public/docfx.min.js"></script>
|
||||
|
||||
<script>
|
||||
const theme = localStorage.getItem('theme') || 'auto'
|
||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../index.html">
|
||||
<img id="logo" class="svg" src="../images/icon.svg" alt="Xdg.Directories">
|
||||
Xdg.Directories
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled="" placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="Xdg.Directories">
|
||||
|
||||
<h1 id="Xdg_Directories" data-uid="Xdg.Directories" class="text-break">Namespace Xdg.Directories</h1>
|
||||
<div class="markdown level0 summary"></div>
|
||||
<div class="markdown level0 conceptual"></div>
|
||||
<div class="markdown level0 remarks"></div>
|
||||
|
||||
<h3 id="classes">
|
||||
Classes
|
||||
</h3>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Xdg.Directories.BaseDirectory.html">BaseDirectory</a></dt>
|
||||
<dd><p>The XDG Base Directory specification is a standard created by freedesktop.org that standardizes the location of storing application files.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Xdg.Directories.Other.html">Other</a></dt>
|
||||
<dd><p>Other useful directories that aren't specified by XDG.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Xdg.Directories.UserDirectory.html">UserDirectory</a></dt>
|
||||
<dd><p>User directories are "well known" user directories, examples include the Desktop folder and the Documents folder.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span>Made with <a href="https://dotnet.github.io/docfx">docfx</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
35
api/toc.html
Normal file
35
api/toc.html
Normal file
|
@ -0,0 +1,35 @@
|
|||
|
||||
<div id="sidetoggle">
|
||||
<div>
|
||||
<div class="sidefilter">
|
||||
<form class="toc-filter">
|
||||
<span class="glyphicon glyphicon-filter filter-icon"></span>
|
||||
<span class="glyphicon glyphicon-remove clear-icon" id="toc_filter_clear"></span>
|
||||
<input type="text" id="toc_filter_input" placeholder="Filter by title" onkeypress="if(event.keyCode==13) {return false;}">
|
||||
</form>
|
||||
</div>
|
||||
<div class="sidetoc">
|
||||
<div class="toc" id="toc">
|
||||
|
||||
<ul class="nav level1">
|
||||
<li>
|
||||
<span class="expand-stub"></span>
|
||||
<a href="Xdg.Directories.html" name="" title="Xdg.Directories">Xdg.Directories</a>
|
||||
|
||||
<ul class="nav level2">
|
||||
<li>
|
||||
<a href="Xdg.Directories.BaseDirectory.html" name="" title="BaseDirectory">BaseDirectory</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Xdg.Directories.Other.html" name="" title="Other">Other</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Xdg.Directories.UserDirectory.html" name="" title="UserDirectory">UserDirectory</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
2
api/toc.json
Normal file
2
api/toc.json
Normal file
|
@ -0,0 +1,2 @@
|
|||
|
||||
{"items":[{"name":"Xdg.Directories","href":"Xdg.Directories.html","topicHref":"Xdg.Directories.html","topicUid":"Xdg.Directories","items":[{"name":"BaseDirectory","href":"Xdg.Directories.BaseDirectory.html","topicHref":"Xdg.Directories.BaseDirectory.html","topicUid":"Xdg.Directories.BaseDirectory"},{"name":"Other","href":"Xdg.Directories.Other.html","topicHref":"Xdg.Directories.Other.html","topicUid":"Xdg.Directories.Other"},{"name":"UserDirectory","href":"Xdg.Directories.UserDirectory.html","topicHref":"Xdg.Directories.UserDirectory.html","topicUid":"Xdg.Directories.UserDirectory"}]}],"memberLayout":"SamePage","pdf":false}
|
80
dev/bench/data.js
Normal file
80
dev/bench/data.js
Normal file
|
@ -0,0 +1,80 @@
|
|||
window.BENCHMARK_DATA = {
|
||||
"lastUpdate": 1720640564034,
|
||||
"repoUrl": "https://github.com/xdg-net/Xdg.Directories",
|
||||
"entries": {
|
||||
"Benchmark.Net Benchmark": [
|
||||
{
|
||||
"commit": {
|
||||
"author": {
|
||||
"email": "49699333+dependabot[bot]@users.noreply.github.com",
|
||||
"name": "dependabot[bot]",
|
||||
"username": "dependabot[bot]"
|
||||
},
|
||||
"committer": {
|
||||
"email": "sam@samtherapy.net",
|
||||
"name": "Sam Therapy",
|
||||
"username": "SamTherapy"
|
||||
},
|
||||
"distinct": true,
|
||||
"id": "221ffd300784e5d6b05cac29b55a07cafd9f3598",
|
||||
"message": "build(deps): Bump MSTest.TestFramework from 3.3.1 to 3.4.3\n\nBumps [MSTest.TestFramework](https://github.com/microsoft/testfx) from 3.3.1 to 3.4.3.\n- [Release notes](https://github.com/microsoft/testfx/releases)\n- [Changelog](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md)\n- [Commits](https://github.com/microsoft/testfx/compare/v3.3.1...v3.4.3)\n\n---\nupdated-dependencies:\n- dependency-name: MSTest.TestFramework\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
|
||||
"timestamp": "2024-07-10T19:38:43Z",
|
||||
"tree_id": "461261f9ed3b03823258611cd3adf34be19485a5",
|
||||
"url": "https://github.com/xdg-net/Xdg.Directories/commit/221ffd300784e5d6b05cac29b55a07cafd9f3598"
|
||||
},
|
||||
"date": 1720640558019,
|
||||
"tool": "benchmarkdotnet",
|
||||
"benches": [
|
||||
{
|
||||
"name": "Program+Benchmarks.DataHome",
|
||||
"value": 178.93958886464438,
|
||||
"unit": "ns",
|
||||
"range": "± 0.4360373567304985"
|
||||
},
|
||||
{
|
||||
"name": "Program+Benchmarks.DataDirs",
|
||||
"value": 280.2542209625244,
|
||||
"unit": "ns",
|
||||
"range": "± 0.8448185578412167"
|
||||
},
|
||||
{
|
||||
"name": "Program+Benchmarks.DesktopDir",
|
||||
"value": 745.8337306976318,
|
||||
"unit": "ns",
|
||||
"range": "± 1.3973230765515197"
|
||||
},
|
||||
{
|
||||
"name": "Program+Benchmarks.Home",
|
||||
"value": 86.66456937789917,
|
||||
"unit": "ns",
|
||||
"range": "± 0.2234866358133085"
|
||||
},
|
||||
{
|
||||
"name": "Program+Benchmarks.DataHome",
|
||||
"value": 618.3884107149564,
|
||||
"unit": "ns",
|
||||
"range": "± 1.068183162078533"
|
||||
},
|
||||
{
|
||||
"name": "Program+Benchmarks.DataDirs",
|
||||
"value": 916.116544178554,
|
||||
"unit": "ns",
|
||||
"range": "± 7.65743424283359"
|
||||
},
|
||||
{
|
||||
"name": "Program+Benchmarks.DesktopDir",
|
||||
"value": 2723.96733210637,
|
||||
"unit": "ns",
|
||||
"range": "± 25.479934917979545"
|
||||
},
|
||||
{
|
||||
"name": "Program+Benchmarks.Home",
|
||||
"value": 310.68222182137623,
|
||||
"unit": "ns",
|
||||
"range": "± 0.9788624167024504"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
281
dev/bench/index.html
Normal file
281
dev/bench/index.html
Normal file
|
@ -0,0 +1,281 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes" />
|
||||
<style>
|
||||
html {
|
||||
font-family: BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
background-color: #fff;
|
||||
font-size: 16px;
|
||||
}
|
||||
body {
|
||||
color: #4a4a4a;
|
||||
margin: 8px;
|
||||
font-size: 1em;
|
||||
font-weight: 400;
|
||||
}
|
||||
header {
|
||||
margin-bottom: 8px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
main {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
a {
|
||||
color: #3273dc;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
}
|
||||
a:hover {
|
||||
color: #000;
|
||||
}
|
||||
button {
|
||||
color: #fff;
|
||||
background-color: #3298dc;
|
||||
border-color: transparent;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
}
|
||||
button:hover {
|
||||
background-color: #2793da;
|
||||
flex: none;
|
||||
}
|
||||
.spacer {
|
||||
flex: auto;
|
||||
}
|
||||
.small {
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
footer {
|
||||
margin-top: 16px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.header-label {
|
||||
margin-right: 4px;
|
||||
}
|
||||
.benchmark-set {
|
||||
margin: 8px 0;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.benchmark-title {
|
||||
font-size: 3rem;
|
||||
font-weight: 600;
|
||||
word-break: break-word;
|
||||
text-align: center;
|
||||
}
|
||||
.benchmark-graphs {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
width: 100%;
|
||||
}
|
||||
.benchmark-chart {
|
||||
max-width: 1000px;
|
||||
}
|
||||
</style>
|
||||
<title>Benchmarks</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<header id="header">
|
||||
<div class="header-item">
|
||||
<strong class="header-label">Last Update:</strong>
|
||||
<span id="last-update"></span>
|
||||
</div>
|
||||
<div class="header-item">
|
||||
<strong class="header-label">Repository:</strong>
|
||||
<a id="repository-link" rel="noopener"></a>
|
||||
</div>
|
||||
</header>
|
||||
<main id="main"></main>
|
||||
<footer>
|
||||
<button id="dl-button">Download data as JSON</button>
|
||||
<div class="spacer"></div>
|
||||
<div class="small">Powered by <a rel="noopener" href="https://github.com/marketplace/actions/continuous-benchmark">github-action-benchmark</a></div>
|
||||
</footer>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/chart.js@2.9.2/dist/Chart.min.js"></script>
|
||||
<script src="data.js"></script>
|
||||
<script id="main-script">
|
||||
'use strict';
|
||||
(function() {
|
||||
// Colors from https://github.com/github/linguist/blob/master/lib/linguist/languages.yml
|
||||
const toolColors = {
|
||||
cargo: '#dea584',
|
||||
go: '#00add8',
|
||||
benchmarkjs: '#f1e05a',
|
||||
benchmarkluau: '#000080',
|
||||
pytest: '#3572a5',
|
||||
googlecpp: '#f34b7d',
|
||||
catch2: '#f34b7d',
|
||||
julia: '#a270ba',
|
||||
jmh: '#b07219',
|
||||
benchmarkdotnet: '#178600',
|
||||
customBiggerIsBetter: '#38ff38',
|
||||
customSmallerIsBetter: '#ff3838',
|
||||
_: '#333333'
|
||||
};
|
||||
|
||||
function init() {
|
||||
function collectBenchesPerTestCase(entries) {
|
||||
const map = new Map();
|
||||
for (const entry of entries) {
|
||||
const {commit, date, tool, benches} = entry;
|
||||
for (const bench of benches) {
|
||||
const result = { commit, date, tool, bench };
|
||||
const arr = map.get(bench.name);
|
||||
if (arr === undefined) {
|
||||
map.set(bench.name, [result]);
|
||||
} else {
|
||||
arr.push(result);
|
||||
}
|
||||
}
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
const data = window.BENCHMARK_DATA;
|
||||
|
||||
// Render header
|
||||
document.getElementById('last-update').textContent = new Date(data.lastUpdate).toString();
|
||||
const repoLink = document.getElementById('repository-link');
|
||||
repoLink.href = data.repoUrl;
|
||||
repoLink.textContent = data.repoUrl;
|
||||
|
||||
// Render footer
|
||||
document.getElementById('dl-button').onclick = () => {
|
||||
const dataUrl = 'data:,' + JSON.stringify(data, null, 2);
|
||||
const a = document.createElement('a');
|
||||
a.href = dataUrl;
|
||||
a.download = 'benchmark_data.json';
|
||||
a.click();
|
||||
};
|
||||
|
||||
// Prepare data points for charts
|
||||
return Object.keys(data.entries).map(name => ({
|
||||
name,
|
||||
dataSet: collectBenchesPerTestCase(data.entries[name]),
|
||||
}));
|
||||
}
|
||||
|
||||
function renderAllChars(dataSets) {
|
||||
|
||||
function renderGraph(parent, name, dataset) {
|
||||
const canvas = document.createElement('canvas');
|
||||
canvas.className = 'benchmark-chart';
|
||||
parent.appendChild(canvas);
|
||||
|
||||
const color = toolColors[dataset.length > 0 ? dataset[0].tool : '_'];
|
||||
const data = {
|
||||
labels: dataset.map(d => d.commit.id.slice(0, 7)),
|
||||
datasets: [
|
||||
{
|
||||
label: name,
|
||||
data: dataset.map(d => d.bench.value),
|
||||
borderColor: color,
|
||||
backgroundColor: color + '60', // Add alpha for #rrggbbaa
|
||||
}
|
||||
],
|
||||
};
|
||||
const options = {
|
||||
scales: {
|
||||
xAxes: [
|
||||
{
|
||||
scaleLabel: {
|
||||
display: true,
|
||||
labelString: 'commit',
|
||||
},
|
||||
}
|
||||
],
|
||||
yAxes: [
|
||||
{
|
||||
scaleLabel: {
|
||||
display: true,
|
||||
labelString: dataset.length > 0 ? dataset[0].bench.unit : '',
|
||||
},
|
||||
ticks: {
|
||||
beginAtZero: true,
|
||||
}
|
||||
}
|
||||
],
|
||||
},
|
||||
tooltips: {
|
||||
callbacks: {
|
||||
afterTitle: items => {
|
||||
const {index} = items[0];
|
||||
const data = dataset[index];
|
||||
return '\n' + data.commit.message + '\n\n' + data.commit.timestamp + ' committed by @' + data.commit.committer.username + '\n';
|
||||
},
|
||||
label: item => {
|
||||
let label = item.value;
|
||||
const { range, unit } = dataset[item.index].bench;
|
||||
label += ' ' + unit;
|
||||
if (range) {
|
||||
label += ' (' + range + ')';
|
||||
}
|
||||
return label;
|
||||
},
|
||||
afterLabel: item => {
|
||||
const { extra } = dataset[item.index].bench;
|
||||
return extra ? '\n' + extra : '';
|
||||
}
|
||||
}
|
||||
},
|
||||
onClick: (_mouseEvent, activeElems) => {
|
||||
if (activeElems.length === 0) {
|
||||
return;
|
||||
}
|
||||
// XXX: Undocumented. How can we know the index?
|
||||
const index = activeElems[0]._index;
|
||||
const url = dataset[index].commit.url;
|
||||
window.open(url, '_blank');
|
||||
},
|
||||
};
|
||||
|
||||
new Chart(canvas, {
|
||||
type: 'line',
|
||||
data,
|
||||
options,
|
||||
});
|
||||
}
|
||||
|
||||
function renderBenchSet(name, benchSet, main) {
|
||||
const setElem = document.createElement('div');
|
||||
setElem.className = 'benchmark-set';
|
||||
main.appendChild(setElem);
|
||||
|
||||
const nameElem = document.createElement('h1');
|
||||
nameElem.className = 'benchmark-title';
|
||||
nameElem.textContent = name;
|
||||
setElem.appendChild(nameElem);
|
||||
|
||||
const graphsElem = document.createElement('div');
|
||||
graphsElem.className = 'benchmark-graphs';
|
||||
setElem.appendChild(graphsElem);
|
||||
|
||||
for (const [benchName, benches] of benchSet.entries()) {
|
||||
renderGraph(graphsElem, benchName, benches)
|
||||
}
|
||||
}
|
||||
|
||||
const main = document.getElementById('main');
|
||||
for (const {name, dataSet} of dataSets) {
|
||||
renderBenchSet(name, dataSet, main);
|
||||
}
|
||||
}
|
||||
|
||||
renderAllChars(init()); // Start
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
279
docs/defaults.html
Normal file
279
docs/defaults.html
Normal file
|
@ -0,0 +1,279 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Default Locations </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Default Locations ">
|
||||
|
||||
|
||||
<link rel="icon" href="../images/icon.png">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
<meta name="docfx:navrel" content="../toc.html">
|
||||
<meta name="docfx:tocrel" content="toc.html">
|
||||
|
||||
<meta name="docfx:rel" content="../">
|
||||
|
||||
|
||||
<meta name="docfx:docurl" content="https://github.com/xdg-net/Xdg.Directories/blob/master/docs/docs/defaults.md/#L1">
|
||||
<meta name="loc:inThisArticle" content="In this article">
|
||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<meta name="loc:tocFilter" content="Filter by title">
|
||||
<meta name="loc:nextArticle" content="Next">
|
||||
<meta name="loc:prevArticle" content="Previous">
|
||||
<meta name="loc:themeLight" content="Light">
|
||||
<meta name="loc:themeDark" content="Dark">
|
||||
<meta name="loc:themeAuto" content="Auto">
|
||||
<meta name="loc:changeTheme" content="Change theme">
|
||||
<meta name="loc:copy" content="Copy">
|
||||
<meta name="loc:downloadPdf" content="Download PDF">
|
||||
|
||||
<script type="module" src="./../public/docfx.min.js"></script>
|
||||
|
||||
<script>
|
||||
const theme = localStorage.getItem('theme') || 'auto'
|
||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../index.html">
|
||||
<img id="logo" class="svg" src="../images/icon.svg" alt="Xdg.Directories">
|
||||
Xdg.Directories
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled="" placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="default-locations">Default Locations</h1>
|
||||
|
||||
<p>If any of the respective XDG environment are specified, the variable will always be returned.
|
||||
Otherwise, the value depends on the operating system.</p>
|
||||
<p>Inspiration is taken from the <a href="https://github.com/adrg/xdg">Go implementation</a> for Windows and MacOS directories.</p>
|
||||
<details open="">
|
||||
<summary>Base Directory</summary>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Environment Variable</th>
|
||||
<th>Windows</th>
|
||||
<th>macOS</th>
|
||||
<th>Linux/FreeBSD</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>XDG_DATA_HOME</code></td>
|
||||
<td><code>%LOCALAPPDATA%</code></td>
|
||||
<td><code>$HOME/Library/Application Support</code></td>
|
||||
<td><code>$HOME/.local/share</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>XDG_CONFIG_HOME</code></td>
|
||||
<td><code>%LOCALAPPDATA%</code></td>
|
||||
<td><code>$HOME/Library/Application Support</code></td>
|
||||
<td><code>$HOME/.config</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>XDG_STATE_HOME</code></td>
|
||||
<td><code>%LOCALAPPDATA%</code></td>
|
||||
<td><code>$HOME/Library/Application Support</code></td>
|
||||
<td><code>$HOME/.local/state</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>XDG_BIN_HOME</code></td>
|
||||
<td><code>null</code></td>
|
||||
<td><code>null</code></td>
|
||||
<td><code>$HOME/.local/bin</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>XDG_DATA_DIRS</code></td>
|
||||
<td><code>%APPDATA%:%PROGRAMDATA%</code></td>
|
||||
<td><code>/Library/Application Support</code></td>
|
||||
<td><code>/usr/local/share:/usr/share</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>XDG_CONFIG_DIRS</code></td>
|
||||
<td><code>%LOCALAPPDATA%</code></td>
|
||||
<td><code>$HOME/Library/Preferences:/Library/Application Support:/Library/Preferences</code></td>
|
||||
<td><code>/etc/xdg</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>XDG_CACHE_HOME</code></td>
|
||||
<td><code>%LOCALAPPDATA%</code></td>
|
||||
<td><code>$HOME/Library/Application Support</code></td>
|
||||
<td><code>$HOME/.config</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>XDG_RUNTIME_HOME</code></td>
|
||||
<td><code>%LOCALAPPDATA%</code></td>
|
||||
<td><code>$HOME/Library/Application Support</code></td>
|
||||
<td><code>/run/user/$UID</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</details>
|
||||
<details open="">
|
||||
<summary>User Directory</summary>
|
||||
<p>User directories on Windows use <a href="https://learn.microsoft.com/en-us/windows/win32/shell/known-folders">Known Folders</a>.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Environment Variable</th>
|
||||
<th>Windows</th>
|
||||
<th>macOS</th>
|
||||
<th>Linux/FreeBSD</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>XDG_DESKTOP_DIR</code></td>
|
||||
<td><code>Desktop</code></td>
|
||||
<td><code>$HOME/Desktop</code></td>
|
||||
<td><code>$HOME/Desktop</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>XDG_DOWNLOAD_DIR</code></td>
|
||||
<td><code>null</code></td>
|
||||
<td><code>$HOME/Downloads</code></td>
|
||||
<td><code>$HOME/Downloads</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>XDG_DOCUMENTS_DIR</code></td>
|
||||
<td><code>My Documents</code></td>
|
||||
<td><code>$HOME/Documents</code></td>
|
||||
<td><code>$HOME/Documents</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>XDG_MUSIC_DIR</code></td>
|
||||
<td><code>My Music</code></td>
|
||||
<td><code>$HOME/Music</code></td>
|
||||
<td><code>$HOME/Music</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>XDG_PICTURES_DIRS</code></td>
|
||||
<td><code>My Pictures</code></td>
|
||||
<td><code>$HOME/Pictures</code></td>
|
||||
<td><code>$HOME/Pictures</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>XDG_VIDEOS_DIR</code></td>
|
||||
<td><code>My Videos</code></td>
|
||||
<td><code>$HOME/Movies</code></td>
|
||||
<td><code>$HOME/Videos</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>XDG_TEMPLATES_DIR</code></td>
|
||||
<td><code>Templates</code></td>
|
||||
<td><code>$HOME/Templates</code></td>
|
||||
<td><code>$HOME/Templates</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>XDG_PUBLICSHARE_DIR</code></td>
|
||||
<td><code>%PUBLIC%</code></td>
|
||||
<td><code>$HOME/Public</code></td>
|
||||
<td><code>$HOME/Public</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</details>
|
||||
<details open="">
|
||||
<summary>Extra Directories</summary>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>Windows</th>
|
||||
<th>macOS</th>
|
||||
<th>Linux/FreeBSD</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Home</td>
|
||||
<td><code>%USERPROFILE%</code></td>
|
||||
<td><code>$HOME</code></td>
|
||||
<td><code>$HOME</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Applications</td>
|
||||
<td><code>Programs</code>, <code>Common Programs</code></td>
|
||||
<td><code>/Applications</code></td>
|
||||
<td><code>$XDG_DATA_HOME/applications</code>, <code>$HOME/.local/share/applications</code>, <code>/usr/local/share/applications</code>, <code>/usr/share/applications</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Fonts</td>
|
||||
<td><code>%SYSTEMROOT%\Fonts</code>, <code>%LOCALAPPDATA%\Microsoft\Windows\Fonts</code></td>
|
||||
<td><code>$HOME/Library/Fonts</code>, <code>/Library/Fonts</code>, <code>/System/Library/Fonts</code>, <code>/Network/Library/Fonts</code></td>
|
||||
<td><code>$XDG_DATA_HOME/fonts</code>, <code>$HOME/.fonts</code>, <code>$HOME/.local/share/fonts</code>, <code>/usr/local/share/fonts</code>, <code>/usr/share/fonts</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</details>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
<a href="https://github.com/xdg-net/Xdg.Directories/blob/master/docs/docs/defaults.md/#L1" class="edit-link">Edit this page</a>
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span>Made with <a href="https://dotnet.github.io/docfx">docfx</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
|
@ -1,49 +0,0 @@
|
|||
{
|
||||
"metadata": [
|
||||
{
|
||||
"src": [
|
||||
{
|
||||
"src": "../src",
|
||||
"files": [
|
||||
"**/Xdg.Directories*.csproj"
|
||||
]
|
||||
}
|
||||
],
|
||||
"dest": "api"
|
||||
}
|
||||
],
|
||||
"build": {
|
||||
"content": [
|
||||
{
|
||||
"files": [
|
||||
"**/*.{md,yml}"
|
||||
],
|
||||
"exclude": [
|
||||
"_site/**"
|
||||
]
|
||||
}
|
||||
],
|
||||
"resource": [
|
||||
{
|
||||
"files": [
|
||||
"images/**"
|
||||
]
|
||||
}
|
||||
],
|
||||
"output": "_site",
|
||||
"template": [
|
||||
"default",
|
||||
"modern",
|
||||
"custom"
|
||||
],
|
||||
"globalMetadata": {
|
||||
"_appName": "Xdg.Directories",
|
||||
"_appTitle": "",
|
||||
"_appFaviconPath": "images/icon.png",
|
||||
"_appLogoPath": "images/icon.svg",
|
||||
"_enableSearch": true,
|
||||
"_lang": "en",
|
||||
"pdf": false
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,48 +0,0 @@
|
|||
# Default Locations
|
||||
|
||||
If any of the respective XDG environment are specified, the variable will always be returned.
|
||||
Otherwise, the value depends on the operating system.
|
||||
|
||||
Inspiration is taken from the [Go implementation](https://github.com/adrg/xdg) for Windows and MacOS directories.
|
||||
|
||||
<details open>
|
||||
<summary>Base Directory</summary>
|
||||
|
||||
| Environment Variable | Windows | macOS | Linux/FreeBSD |
|
||||
| --- | --- | --- | --- |
|
||||
| `XDG_DATA_HOME` | `%LOCALAPPDATA%` | `$HOME/Library/Application Support` | `$HOME/.local/share` |
|
||||
| `XDG_CONFIG_HOME` | `%LOCALAPPDATA%` | `$HOME/Library/Application Support` | `$HOME/.config` |
|
||||
| `XDG_STATE_HOME` | `%LOCALAPPDATA%` | `$HOME/Library/Application Support` | `$HOME/.local/state` |
|
||||
| `XDG_BIN_HOME` | `null` | `null` | `$HOME/.local/bin` |
|
||||
| `XDG_DATA_DIRS` | `%APPDATA%:%PROGRAMDATA%` | `/Library/Application Support` | `/usr/local/share:/usr/share` |
|
||||
| `XDG_CONFIG_DIRS` | `%LOCALAPPDATA%` | `$HOME/Library/Preferences:/Library/Application Support:/Library/Preferences` | `/etc/xdg` |
|
||||
| `XDG_CACHE_HOME` | `%LOCALAPPDATA%` | `$HOME/Library/Application Support` | `$HOME/.config` |
|
||||
| `XDG_RUNTIME_HOME` | `%LOCALAPPDATA%` | `$HOME/Library/Application Support` | `/run/user/$UID` |
|
||||
</details>
|
||||
|
||||
<details open>
|
||||
<summary>User Directory</summary>
|
||||
|
||||
User directories on Windows use [Known Folders](https://learn.microsoft.com/en-us/windows/win32/shell/known-folders).
|
||||
|
||||
Environment Variable | Windows | macOS | Linux/FreeBSD |
|
||||
| --- | --- | --- | --- |
|
||||
| `XDG_DESKTOP_DIR` | `Desktop` | `$HOME/Desktop` | `$HOME/Desktop` |
|
||||
| `XDG_DOWNLOAD_DIR` | `null` | `$HOME/Downloads` | `$HOME/Downloads` |
|
||||
| `XDG_DOCUMENTS_DIR` | `My Documents` | `$HOME/Documents` | `$HOME/Documents` |
|
||||
| `XDG_MUSIC_DIR` | `My Music` | `$HOME/Music` | `$HOME/Music` |
|
||||
| `XDG_PICTURES_DIRS` | `My Pictures` | `$HOME/Pictures` | `$HOME/Pictures` |
|
||||
| `XDG_VIDEOS_DIR` | `My Videos` | `$HOME/Movies` | `$HOME/Videos` |
|
||||
| `XDG_TEMPLATES_DIR` | `Templates` | `$HOME/Templates` | `$HOME/Templates` |
|
||||
| `XDG_PUBLICSHARE_DIR` | `%PUBLIC%` | `$HOME/Public` | `$HOME/Public` |
|
||||
</details>
|
||||
|
||||
<details open>
|
||||
<summary>Extra Directories</summary>
|
||||
|
||||
| | Windows | macOS | Linux/FreeBSD |
|
||||
| --- | --- | --- | --- |
|
||||
| Home | `%USERPROFILE%` | `$HOME` | `$HOME` |
|
||||
| Applications | `Programs`, `Common Programs` | `/Applications` | `$XDG_DATA_HOME/applications`, `$HOME/.local/share/applications`, `/usr/local/share/applications`, `/usr/share/applications` |
|
||||
| Fonts | `%SYSTEMROOT%\Fonts`, `%LOCALAPPDATA%\Microsoft\Windows\Fonts` | `$HOME/Library/Fonts`, `/Library/Fonts`, `/System/Library/Fonts`, `/Network/Library/Fonts` | `$XDG_DATA_HOME/fonts`, `$HOME/.fonts`, `$HOME/.local/share/fonts`, `/usr/local/share/fonts`, `/usr/share/fonts` |
|
||||
</details>
|
|
@ -1,28 +0,0 @@
|
|||
# Installation
|
||||
|
||||
## Stable Releases
|
||||
|
||||
Use [NuGet](http://docs.nuget.org/docs/start-here/installing-nuget) to install [Xdg.Directories](https://www.nuget.org/packages/Xdg.Directories).
|
||||
|
||||
From the .NET CLI:
|
||||
|
||||
```bash
|
||||
dotnet add package Xdg.Directories
|
||||
```
|
||||
|
||||
or from Visual Studio's package manager:
|
||||
|
||||
```pwsh
|
||||
Install-Package Xdg.Directories
|
||||
```
|
||||
|
||||
## Pre-releases
|
||||
|
||||
For bleeding edge users, preview releases are available.
|
||||
|
||||
They are uploaded to two places automatically every commit:
|
||||
|
||||
- [GitHub packages](https://github.com/xdg-net/Xdg.Directories/pkgs/nuget/Xdg.Directories) - A GitHub account is needed to download.
|
||||
- [Forgejo packages](https://git.froth.zone/mirrors/-/packages/nuget/xdg.directories) - No login required.
|
||||
|
||||
Follow the directions at the respective links to install the package.
|
|
@ -1,22 +0,0 @@
|
|||
# TL;DR
|
||||
|
||||
Add the Xdg.Directories package to your project:
|
||||
|
||||
```bash
|
||||
dotnet add package Xdg.Directories
|
||||
```
|
||||
|
||||
Then use the `BaseDirectory` and `UserDirectory` classes to access the XDG directories:
|
||||
|
||||
```csharp
|
||||
using System;
|
||||
using Xdg.Directories;
|
||||
|
||||
// Prints /home/$USER/.local/share
|
||||
Console.Writeline(BaseDirectory.DataHome);
|
||||
|
||||
// Prints /home/$USER/Documents
|
||||
Console.Writeline(UserDirectory.DocumentsDir);
|
||||
```
|
||||
|
||||
For more information, see the [API documentation](/api/Xdg.Directories.html).
|
|
@ -1,4 +0,0 @@
|
|||
- name: Using the Library
|
||||
- href: defaults.md
|
||||
- href: quick-use.md
|
||||
- href: installation.md
|
|
@ -1 +0,0 @@
|
|||
../../icon.png
|
|
@ -1,18 +0,0 @@
|
|||
---
|
||||
_layout: landing
|
||||
---
|
||||
|
||||
# Xdg.Directories
|
||||
|
||||
> *Want to get straight to the point? Check out the [quick start guide](docs/quick-use.md).*
|
||||
|
||||
Xdg.Directories is a library that simplifies using the XDG Base Directory Specification and XDG user directories in .NET applications.
|
||||
|
||||
## Features
|
||||
|
||||
- **Cross-platform**: Supports Windows, MacOS and Linux/FreeBSD.
|
||||
- **Fast**: The .dll is only 11 KB.
|
||||
- **Portable**: Completely supports .NET Standard 2.0 and even NativeAOT!
|
||||
- **Simple**: Easy to use API.
|
||||
- **Sane Defaults**: Provides default directories for when the XDG environment variables are not set.
|
||||
- These defaults are documented in the code itself and are also available [here](docs/defaults.md).
|
132
docs/installation.html
Normal file
132
docs/installation.html
Normal file
|
@ -0,0 +1,132 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Installation </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Installation ">
|
||||
|
||||
|
||||
<link rel="icon" href="../images/icon.png">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
<meta name="docfx:navrel" content="../toc.html">
|
||||
<meta name="docfx:tocrel" content="toc.html">
|
||||
|
||||
<meta name="docfx:rel" content="../">
|
||||
|
||||
|
||||
<meta name="docfx:docurl" content="https://github.com/xdg-net/Xdg.Directories/blob/master/docs/docs/installation.md/#L1">
|
||||
<meta name="loc:inThisArticle" content="In this article">
|
||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<meta name="loc:tocFilter" content="Filter by title">
|
||||
<meta name="loc:nextArticle" content="Next">
|
||||
<meta name="loc:prevArticle" content="Previous">
|
||||
<meta name="loc:themeLight" content="Light">
|
||||
<meta name="loc:themeDark" content="Dark">
|
||||
<meta name="loc:themeAuto" content="Auto">
|
||||
<meta name="loc:changeTheme" content="Change theme">
|
||||
<meta name="loc:copy" content="Copy">
|
||||
<meta name="loc:downloadPdf" content="Download PDF">
|
||||
|
||||
<script type="module" src="./../public/docfx.min.js"></script>
|
||||
|
||||
<script>
|
||||
const theme = localStorage.getItem('theme') || 'auto'
|
||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../index.html">
|
||||
<img id="logo" class="svg" src="../images/icon.svg" alt="Xdg.Directories">
|
||||
Xdg.Directories
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled="" placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="installation">Installation</h1>
|
||||
|
||||
<h2 id="stable-releases">Stable Releases</h2>
|
||||
<p>Use <a href="http://docs.nuget.org/docs/start-here/installing-nuget">NuGet</a> to install <a href="https://www.nuget.org/packages/Xdg.Directories">Xdg.Directories</a>.</p>
|
||||
<p>From the .NET CLI:</p>
|
||||
<pre><code class="lang-bash">dotnet add package Xdg.Directories
|
||||
</code></pre>
|
||||
<p>or from Visual Studio's package manager:</p>
|
||||
<pre><code class="lang-pwsh">Install-Package Xdg.Directories
|
||||
</code></pre>
|
||||
<h2 id="pre-releases">Pre-releases</h2>
|
||||
<p>For bleeding edge users, preview releases are available.</p>
|
||||
<p>They are uploaded to two places automatically every commit:</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/xdg-net/Xdg.Directories/pkgs/nuget/Xdg.Directories">GitHub packages</a> - A GitHub account is needed to download.</li>
|
||||
<li><a href="https://git.froth.zone/mirrors/-/packages/nuget/xdg.directories">Forgejo packages</a> - No login required.</li>
|
||||
</ul>
|
||||
<p>Follow the directions at the respective links to install the package.</p>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
<a href="https://github.com/xdg-net/Xdg.Directories/blob/master/docs/docs/installation.md/#L1" class="edit-link">Edit this page</a>
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span>Made with <a href="https://dotnet.github.io/docfx">docfx</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
130
docs/quick-use.html
Normal file
130
docs/quick-use.html
Normal file
|
@ -0,0 +1,130 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>TL;DR </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="TL;DR ">
|
||||
|
||||
|
||||
<link rel="icon" href="../images/icon.png">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
<meta name="docfx:navrel" content="../toc.html">
|
||||
<meta name="docfx:tocrel" content="toc.html">
|
||||
|
||||
<meta name="docfx:rel" content="../">
|
||||
|
||||
|
||||
<meta name="docfx:docurl" content="https://github.com/xdg-net/Xdg.Directories/blob/master/docs/docs/quick-use.md/#L1">
|
||||
<meta name="loc:inThisArticle" content="In this article">
|
||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<meta name="loc:tocFilter" content="Filter by title">
|
||||
<meta name="loc:nextArticle" content="Next">
|
||||
<meta name="loc:prevArticle" content="Previous">
|
||||
<meta name="loc:themeLight" content="Light">
|
||||
<meta name="loc:themeDark" content="Dark">
|
||||
<meta name="loc:themeAuto" content="Auto">
|
||||
<meta name="loc:changeTheme" content="Change theme">
|
||||
<meta name="loc:copy" content="Copy">
|
||||
<meta name="loc:downloadPdf" content="Download PDF">
|
||||
|
||||
<script type="module" src="./../public/docfx.min.js"></script>
|
||||
|
||||
<script>
|
||||
const theme = localStorage.getItem('theme') || 'auto'
|
||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../index.html">
|
||||
<img id="logo" class="svg" src="../images/icon.svg" alt="Xdg.Directories">
|
||||
Xdg.Directories
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled="" placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="tldr">TL;DR</h1>
|
||||
|
||||
<p>Add the Xdg.Directories package to your project:</p>
|
||||
<pre><code class="lang-bash">dotnet add package Xdg.Directories
|
||||
</code></pre>
|
||||
<p>Then use the <code>BaseDirectory</code> and <code>UserDirectory</code> classes to access the XDG directories:</p>
|
||||
<pre><code class="lang-csharp">using System;
|
||||
using Xdg.Directories;
|
||||
|
||||
// Prints /home/$USER/.local/share
|
||||
Console.Writeline(BaseDirectory.DataHome);
|
||||
|
||||
// Prints /home/$USER/Documents
|
||||
Console.Writeline(UserDirectory.DocumentsDir);
|
||||
</code></pre>
|
||||
<p>For more information, see the <a href="/api/Xdg.Directories.html">API documentation</a>.</p>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
<a href="https://github.com/xdg-net/Xdg.Directories/blob/master/docs/docs/quick-use.md/#L1" class="edit-link">Edit this page</a>
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span>Made with <a href="https://dotnet.github.io/docfx">docfx</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
31
docs/toc.html
Normal file
31
docs/toc.html
Normal file
|
@ -0,0 +1,31 @@
|
|||
|
||||
<div id="sidetoggle">
|
||||
<div>
|
||||
<div class="sidefilter">
|
||||
<form class="toc-filter">
|
||||
<span class="glyphicon glyphicon-filter filter-icon"></span>
|
||||
<span class="glyphicon glyphicon-remove clear-icon" id="toc_filter_clear"></span>
|
||||
<input type="text" id="toc_filter_input" placeholder="Filter by title" onkeypress="if(event.keyCode==13) {return false;}">
|
||||
</form>
|
||||
</div>
|
||||
<div class="sidetoc">
|
||||
<div class="toc" id="toc">
|
||||
|
||||
<ul class="nav level1">
|
||||
<li>
|
||||
<a>Using the Library</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="defaults.html" name="" title="Default Locations">Default Locations</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="quick-use.html" name="" title="TL;DR">TL;DR</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="installation.html" name="" title="Installation">Installation</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
2
docs/toc.json
Normal file
2
docs/toc.json
Normal file
|
@ -0,0 +1,2 @@
|
|||
|
||||
{"items":[{"name":"Using the Library"},{"name":"Default Locations","href":"defaults.html","topicHref":"defaults.html"},{"name":"TL;DR","href":"quick-use.html","topicHref":"quick-use.html"},{"name":"Installation","href":"installation.html","topicHref":"installation.html"}],"pdf":false}
|
|
@ -1,6 +0,0 @@
|
|||
- name: Docs
|
||||
href: docs/
|
||||
- name: API
|
||||
href: api/
|
||||
- name: Benchmarks
|
||||
href: dev/bench/
|
BIN
favicon.ico
Executable file
BIN
favicon.ico
Executable file
Binary file not shown.
After Width: | Height: | Size: 97 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
118
index.html
Normal file
118
index.html
Normal file
|
@ -0,0 +1,118 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Xdg.Directories </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Xdg.Directories ">
|
||||
|
||||
|
||||
<link rel="icon" href="images/icon.png">
|
||||
<link rel="stylesheet" href="public/docfx.min.css">
|
||||
<link rel="stylesheet" href="public/main.css">
|
||||
<meta name="docfx:navrel" content="toc.html">
|
||||
<meta name="docfx:tocrel" content="toc.html">
|
||||
|
||||
<meta name="docfx:rel" content="">
|
||||
|
||||
|
||||
<meta name="docfx:docurl" content="https://github.com/xdg-net/Xdg.Directories/blob/master/docs/index.md/#L1">
|
||||
<meta name="loc:inThisArticle" content="In this article">
|
||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<meta name="loc:tocFilter" content="Filter by title">
|
||||
<meta name="loc:nextArticle" content="Next">
|
||||
<meta name="loc:prevArticle" content="Previous">
|
||||
<meta name="loc:themeLight" content="Light">
|
||||
<meta name="loc:themeDark" content="Dark">
|
||||
<meta name="loc:themeAuto" content="Auto">
|
||||
<meta name="loc:changeTheme" content="Change theme">
|
||||
<meta name="loc:copy" content="Copy">
|
||||
<meta name="loc:downloadPdf" content="Download PDF">
|
||||
|
||||
<script type="module" src="./public/docfx.min.js"></script>
|
||||
|
||||
<script>
|
||||
const theme = localStorage.getItem('theme') || 'auto'
|
||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="tex2jax_ignore" data-layout="landing" data-yaml-mime="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="index.html">
|
||||
<img id="logo" class="svg" src="images/icon.svg" alt="Xdg.Directories">
|
||||
Xdg.Directories
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled="" placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="xdgdirectories">Xdg.Directories</h1>
|
||||
|
||||
<blockquote>
|
||||
<p><em>Want to get straight to the point? Check out the <a href="docs/quick-use.html">quick start guide</a>.</em></p>
|
||||
</blockquote>
|
||||
<p>Xdg.Directories is a library that simplifies using the XDG Base Directory Specification and XDG user directories in .NET applications.</p>
|
||||
<h2 id="features">Features</h2>
|
||||
<ul>
|
||||
<li><strong>Cross-platform</strong>: Supports Windows, MacOS and Linux/FreeBSD.</li>
|
||||
<li><strong>Fast</strong>: The .dll is only 11 KB.</li>
|
||||
<li><strong>Portable</strong>: Completely supports .NET Standard 2.0 and even NativeAOT!</li>
|
||||
<li><strong>Simple</strong>: Easy to use API.</li>
|
||||
<li><strong>Sane Defaults</strong>: Provides default directories for when the XDG environment variables are not set.
|
||||
<ul>
|
||||
<li>These defaults are documented in the code itself and are also available <a href="docs/defaults.html">here</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
<a href="https://github.com/xdg-net/Xdg.Directories/blob/master/docs/index.md/#L1" class="edit-link">Edit this page</a>
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span>Made with <a href="https://dotnet.github.io/docfx">docfx</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
42
index.json
Normal file
42
index.json
Normal file
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
"api/Xdg.Directories.BaseDirectory.html": {
|
||||
"href": "api/Xdg.Directories.BaseDirectory.html",
|
||||
"title": "Class BaseDirectory",
|
||||
"keywords": "Class BaseDirectory Namespace Xdg.Directories Assembly Xdg.Directories.dll The XDG Base Directory specification is a standard created by freedesktop.org that standardizes the location of storing application files. public static class BaseDirectory Inheritance object BaseDirectory Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Remarks This allows users to have less clutter in their home directories, and allows programmers to not have to hard-code directories. For all base directories, the directories are resolved as follows: The respective XDG_* enivronment variable will always be used if specified Windows Use Known Folders. macOS Follow the Apple documentation on application-specific files. Linux/FreeBSD Follow the XDG Base Directory specification. Properties BinHome Base directory for executable files. public static string BinHome { get; } Property Value string A single base directory relative to which user-specifc executable files should be written. Remarks If XDG_BIN_HOME is set, the directory specified. Windows \"\" Windows does not support this by default. macOS \"\" macOS does not support this by default. Linux/FreeBSD $HOME/.local/bin NOTE: This is not an XDG standard but a de facto standard. CacheHome Base directory for non-essential data. public static string CacheHome { get; } Property Value string A single base directory relative to which user-specifc non-essential data should be written. Remarks If XDG_CACHE_HOME is set, the directory specified. Windows %LOCALAPPDATA%\\cache macOS $HOME/Library/Caches Linux/FreeBSD $HOME/.cache ConfigDirs A list of directories to look for configuration files. public static IList<string> ConfigDirs { get; } Property Value IList<string> A set of preference-ordered base directories to which configuration files should be searched. Remarks If XDG_CONFIG_DIRS is set, a list of the directories specified. Windows %ProgramData%, %APPADATA% macOS ~/Library/Preferences, /Library/Application Support, /Library/Preferences Linux/FreeBSD /etc/xdg This is typically not used, for most use cases ConfigHome should be used instead. ConfigHome Base directory for configuration files. public static string ConfigHome { get; } Property Value string A single base directory relative to which user-specifc configuration files should be written. Remarks If XDG_CONFIG_HOME is set, the directory specified. Windows %LOCALAPPDATA% macOS $HOME/Library/Application Support Linux/FreeBSD $HOME/.config DataDirs A list of directories to search for data files. public static IList<string> DataDirs { get; } Property Value IList<string> A set of preference-ordered base directories to which data files should be searched. Remarks If XDG_DATA_DIRS is set, a list of the directories specified. Windows %APPADATA%, %ProgramData% macOS /Library/Application Support Linux/FreeBSD /usr/local/share/, /usr/share/ DataHome Base directory for data files. public static string DataHome { get; } Property Value string A single base directory relative to which user-specifc data files should be written. Remarks If XDG_DATA_HOME is set, the directory specified. Windows %LOCALAPPDATA% macOS $HOME/Library/Application Support Linux/FreeBSD $HOME/.local/share RuntimeDir Base directory for runtime-specific files. public static string RuntimeDir { get; } Property Value string A single base directory relative to which user-specifc runtime files should be written. Remarks If XDG_RUNTIME_DIR is set, the directory specified. Windows %LOCALAPPDATA% macOS $HOME/Library/Application Support Linux/FreeBSD /run/user/$UID StateHome Base directory for state data. public static string StateHome { get; } Property Value string A single base directory relative to which user-specifc state data should be written. Remarks If XDG_STATE_HOME is set, the directory specified. Windows %LOCALAPPDATA% macOS $HOME/Library/Application Support Linux/FreeBSD $HOME/.local/state"
|
||||
},
|
||||
"api/Xdg.Directories.Other.html": {
|
||||
"href": "api/Xdg.Directories.Other.html",
|
||||
"title": "Class Other",
|
||||
"keywords": "Class Other Namespace Xdg.Directories Assembly Xdg.Directories.dll Other useful directories that aren't specified by XDG. public static class Other Inheritance object Other Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Remarks These variables were graciously stolen from the excellent Go XDG implementation. That library largely inspired this one, absolutely recommended if you're working in Go. Properties Applications Application directories public static IList<string> Applications { get; } Property Value IList<string> Common application directories. Remarks Windows The Programs Special Folder, the Common Programs Special Folder macOS /Applications Linux/FreeBSD $XDG_DATA_HOME/applications, $HOME/.local/share/applications, /usr/local/share/applications, /usr/share/applications Fonts Font directories public static IList<string> Fonts { get; } Property Value IList<string> Common font directories. Remarks Windows %SYSTEMROOT%\\Fonts, %LOCALAPPDATA%\\Microsoft\\Windows\\Fonts macOS $HOME/Library/Fonts, /Library/Fonts, /System/Library/Fonts, /Network/Library/Fonts Linux/FreeBSD $XDG_DATA_HOME/fonts, $HOME/.fonts, $HOME/.local/share/fonts, /usr/local/share/fonts/usr/share/fonts Home Home Directory public static string Home { get; } Property Value string The current user's home directory. Remarks Windows %USERPROFILE% Unix (macOS/Linux/FreeBSD) $HOME"
|
||||
},
|
||||
"api/Xdg.Directories.UserDirectory.html": {
|
||||
"href": "api/Xdg.Directories.UserDirectory.html",
|
||||
"title": "Class UserDirectory",
|
||||
"keywords": "Class UserDirectory Namespace Xdg.Directories Assembly Xdg.Directories.dll User directories are \"well known\" user directories, examples include the Desktop folder and the Documents folder. public static class UserDirectory Inheritance object UserDirectory Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Remarks For all user directories, the directories are resolved as follows: The respective XDG_* enivronment variable will always be used if specified Windows Use Known Folders. macOS Not sure where this is documented by Apple but it largely follows what Linux does. Linux/FreeBSD Follow what xdg-user-dirs sets. Properties DesktopDir Desktop folder public static string DesktopDir { get; } Property Value string The user's desktop directory. Remarks If XDG_DESKTOP_DIR is set, the directory specified. Windows The Desktop Special Folder macOS $HOME/Desktop Linux/FreeBSD $HOME/Desktop DocumentsDir Document folder public static string DocumentsDir { get; } Property Value string A location to store documents files. Remarks If XDG_DOCUMENTS_DIR is set, the directory specified. Windows The Documents Special Folder macOS $HOME/Documents Linux/FreeBSD $HOME/Documents DownloadDir Download folder public static string DownloadDir { get; } Property Value string A location to store downloaded files. Remarks If XDG_DOWNLOAD_DIR is set, the directory specified. Windows null Windows does not specify the Downloads folder in its magic folder list. macOS $HOME/Downloads Linux/FreeBSD $HOME/Downloads MusicDir Music folder public static string MusicDir { get; } Property Value string A location to store music files. Remarks If XDG_MUSIC_DIR is set, the directory specified. Windows The Music Special Folder macOS $HOME/Music Linux/FreeBSD $HOME/Music PicturesDir Image folder public static string PicturesDir { get; } Property Value string A location to store image files. Remarks If XDG_PICTURES_DIR is set, the directory specified. Windows The Pictures Special Folder macOS $HOME/Pictures Linux/FreeBSD $HOME/Pictures PublicDir Public folder public static string PublicDir { get; } Property Value string A location to store public / shared files. Remarks If XDG_PUBLICSHARE_DIR is set, the directory specified. Windows %PUBLIC% macOS $HOME/Public Linux/FreeBSD $HOME/Public TemplatesDir Template folder public static string TemplatesDir { get; } Property Value string A location to store template files. Remarks If XDG_TEMPLATES_DIR is set, the directory specified. Windows The Templates Special Folder macOS $HOME/Templates Linux/FreeBSD $HOME/Templatess VideosDir Video folder public static string VideosDir { get; } Property Value string A location to store video files. Remarks If XDG_VIDEOS_DIR is set, the directory specified. Windows The Videos Special Folder macOS $HOME/Movies Linux/FreeBSD $HOME/Videos"
|
||||
},
|
||||
"api/Xdg.Directories.html": {
|
||||
"href": "api/Xdg.Directories.html",
|
||||
"title": "Namespace Xdg.Directories",
|
||||
"keywords": "Namespace Xdg.Directories Classes BaseDirectory The XDG Base Directory specification is a standard created by freedesktop.org that standardizes the location of storing application files. Other Other useful directories that aren't specified by XDG. UserDirectory User directories are \"well known\" user directories, examples include the Desktop folder and the Documents folder."
|
||||
},
|
||||
"docs/defaults.html": {
|
||||
"href": "docs/defaults.html",
|
||||
"title": "Default Locations",
|
||||
"keywords": "Default Locations If any of the respective XDG environment are specified, the variable will always be returned. Otherwise, the value depends on the operating system. Inspiration is taken from the Go implementation for Windows and MacOS directories. Base Directory Environment Variable Windows macOS Linux/FreeBSD XDG_DATA_HOME %LOCALAPPDATA% $HOME/Library/Application Support $HOME/.local/share XDG_CONFIG_HOME %LOCALAPPDATA% $HOME/Library/Application Support $HOME/.config XDG_STATE_HOME %LOCALAPPDATA% $HOME/Library/Application Support $HOME/.local/state XDG_BIN_HOME null null $HOME/.local/bin XDG_DATA_DIRS %APPDATA%:%PROGRAMDATA% /Library/Application Support /usr/local/share:/usr/share XDG_CONFIG_DIRS %LOCALAPPDATA% $HOME/Library/Preferences:/Library/Application Support:/Library/Preferences /etc/xdg XDG_CACHE_HOME %LOCALAPPDATA% $HOME/Library/Application Support $HOME/.config XDG_RUNTIME_HOME %LOCALAPPDATA% $HOME/Library/Application Support /run/user/$UID User Directory User directories on Windows use Known Folders. Environment Variable Windows macOS Linux/FreeBSD XDG_DESKTOP_DIR Desktop $HOME/Desktop $HOME/Desktop XDG_DOWNLOAD_DIR null $HOME/Downloads $HOME/Downloads XDG_DOCUMENTS_DIR My Documents $HOME/Documents $HOME/Documents XDG_MUSIC_DIR My Music $HOME/Music $HOME/Music XDG_PICTURES_DIRS My Pictures $HOME/Pictures $HOME/Pictures XDG_VIDEOS_DIR My Videos $HOME/Movies $HOME/Videos XDG_TEMPLATES_DIR Templates $HOME/Templates $HOME/Templates XDG_PUBLICSHARE_DIR %PUBLIC% $HOME/Public $HOME/Public Extra Directories Windows macOS Linux/FreeBSD Home %USERPROFILE% $HOME $HOME Applications Programs, Common Programs /Applications $XDG_DATA_HOME/applications, $HOME/.local/share/applications, /usr/local/share/applications, /usr/share/applications Fonts %SYSTEMROOT%\\Fonts, %LOCALAPPDATA%\\Microsoft\\Windows\\Fonts $HOME/Library/Fonts, /Library/Fonts, /System/Library/Fonts, /Network/Library/Fonts $XDG_DATA_HOME/fonts, $HOME/.fonts, $HOME/.local/share/fonts, /usr/local/share/fonts, /usr/share/fonts"
|
||||
},
|
||||
"docs/installation.html": {
|
||||
"href": "docs/installation.html",
|
||||
"title": "Installation",
|
||||
"keywords": "Installation Stable Releases Use NuGet to install Xdg.Directories. From the .NET CLI: dotnet add package Xdg.Directories or from Visual Studio's package manager: Install-Package Xdg.Directories Pre-releases For bleeding edge users, preview releases are available. They are uploaded to two places automatically every commit: GitHub packages - A GitHub account is needed to download. Forgejo packages - No login required. Follow the directions at the respective links to install the package."
|
||||
},
|
||||
"docs/quick-use.html": {
|
||||
"href": "docs/quick-use.html",
|
||||
"title": "TL;DR",
|
||||
"keywords": "TL;DR Add the Xdg.Directories package to your project: dotnet add package Xdg.Directories Then use the BaseDirectory and UserDirectory classes to access the XDG directories: using System; using Xdg.Directories; // Prints /home/$USER/.local/share Console.Writeline(BaseDirectory.DataHome); // Prints /home/$USER/Documents Console.Writeline(UserDirectory.DocumentsDir); For more information, see the API documentation."
|
||||
},
|
||||
"index.html": {
|
||||
"href": "index.html",
|
||||
"title": "Xdg.Directories",
|
||||
"keywords": "Xdg.Directories Want to get straight to the point? Check out the quick start guide. Xdg.Directories is a library that simplifies using the XDG Base Directory Specification and XDG user directories in .NET applications. Features Cross-platform: Supports Windows, MacOS and Linux/FreeBSD. Fast: The .dll is only 11 KB. Portable: Completely supports .NET Standard 2.0 and even NativeAOT! Simple: Easy to use API. Sane Defaults: Provides default directories for when the XDG environment variables are not set. These defaults are documented in the code itself and are also available here."
|
||||
}
|
||||
}
|
25
logo.svg
Executable file
25
logo.svg
Executable file
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||
width="38.000000pt" height="38.000000pt" viewBox="0 0 172.000000 172.000000"
|
||||
preserveAspectRatio="xMidYMid meet">
|
||||
<metadata>
|
||||
Created by Docfx
|
||||
</metadata>
|
||||
<g transform="translate(0.000000,172.000000) scale(0.100000,-0.100000)"
|
||||
fill="#dddddd" stroke="none">
|
||||
<path d="M230 1359 c0 -18 11 -30 44 -48 80 -42 81 -45 81 -441 0 -400 -1
|
||||
-404 -79 -436 -36 -15 -46 -24 -46 -43 0 -23 2 -24 61 -17 34 3 88 6 120 6
|
||||
l59 0 0 495 0 495 -82 0 c-46 0 -100 3 -120 6 -35 6 -38 5 -38 -17z"/>
|
||||
<path d="M618 1373 l-118 -4 0 -493 0 -494 154 -7 c181 -9 235 -3 313 34 68
|
||||
33 168 130 207 202 75 136 75 384 1 536 -71 145 -234 240 -399 231 -23 -1 -94
|
||||
-4 -158 -5z m287 -119 c68 -24 144 -101 176 -179 22 -54 24 -75 24 -210 0
|
||||
-141 -2 -153 -26 -206 -36 -76 -89 -132 -152 -160 -45 -21 -68 -24 -164 -24
|
||||
-71 0 -116 4 -123 11 -22 22 -31 175 -28 463 2 208 6 293 15 302 32 32 188 33
|
||||
278 3z"/>
|
||||
<path d="M1170 1228 c75 -104 110 -337 76 -508 -21 -100 -56 -178 -105 -233
|
||||
l-36 -41 34 20 c75 43 160 133 198 212 37 75 38 78 38 191 -1 129 -18 191 -75
|
||||
270 -28 38 -136 131 -153 131 -4 0 6 -19 23 -42z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
158
manifest.json
Normal file
158
manifest.json
Normal file
|
@ -0,0 +1,158 @@
|
|||
{
|
||||
"source_base_path": "/home/runner/work/Xdg.Directories/Xdg.Directories/docs",
|
||||
"xrefmap": "xrefmap.yml",
|
||||
"files": [
|
||||
{
|
||||
"type": "Resource",
|
||||
"output": {
|
||||
"resource": {
|
||||
"relative_path": "index.json"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ManagedReference",
|
||||
"source_relative_path": "api/Xdg.Directories.BaseDirectory.yml",
|
||||
"output": {
|
||||
".html": {
|
||||
"relative_path": "api/Xdg.Directories.BaseDirectory.html"
|
||||
}
|
||||
},
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"type": "ManagedReference",
|
||||
"source_relative_path": "api/Xdg.Directories.Other.yml",
|
||||
"output": {
|
||||
".html": {
|
||||
"relative_path": "api/Xdg.Directories.Other.html"
|
||||
}
|
||||
},
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"type": "ManagedReference",
|
||||
"source_relative_path": "api/Xdg.Directories.UserDirectory.yml",
|
||||
"output": {
|
||||
".html": {
|
||||
"relative_path": "api/Xdg.Directories.UserDirectory.html"
|
||||
}
|
||||
},
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"type": "ManagedReference",
|
||||
"source_relative_path": "api/Xdg.Directories.yml",
|
||||
"output": {
|
||||
".html": {
|
||||
"relative_path": "api/Xdg.Directories.html"
|
||||
}
|
||||
},
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"type": "Toc",
|
||||
"source_relative_path": "api/toc.yml",
|
||||
"output": {
|
||||
".html": {
|
||||
"relative_path": "api/toc.html"
|
||||
},
|
||||
".json": {
|
||||
"relative_path": "api/toc.json"
|
||||
}
|
||||
},
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"type": "Conceptual",
|
||||
"source_relative_path": "docs/defaults.md",
|
||||
"output": {
|
||||
".html": {
|
||||
"relative_path": "docs/defaults.html"
|
||||
}
|
||||
},
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"type": "Conceptual",
|
||||
"source_relative_path": "docs/installation.md",
|
||||
"output": {
|
||||
".html": {
|
||||
"relative_path": "docs/installation.html"
|
||||
}
|
||||
},
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"type": "Conceptual",
|
||||
"source_relative_path": "docs/quick-use.md",
|
||||
"output": {
|
||||
".html": {
|
||||
"relative_path": "docs/quick-use.html"
|
||||
}
|
||||
},
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"type": "Toc",
|
||||
"source_relative_path": "docs/toc.yml",
|
||||
"output": {
|
||||
".html": {
|
||||
"relative_path": "docs/toc.html"
|
||||
},
|
||||
".json": {
|
||||
"relative_path": "docs/toc.json"
|
||||
}
|
||||
},
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"type": "Resource",
|
||||
"source_relative_path": "images/icon.png",
|
||||
"output": {
|
||||
"resource": {
|
||||
"relative_path": "images/icon.png"
|
||||
}
|
||||
},
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"type": "Resource",
|
||||
"source_relative_path": "images/icon.svg",
|
||||
"output": {
|
||||
"resource": {
|
||||
"relative_path": "images/icon.svg"
|
||||
}
|
||||
},
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"type": "Conceptual",
|
||||
"source_relative_path": "index.md",
|
||||
"output": {
|
||||
".html": {
|
||||
"relative_path": "index.html"
|
||||
}
|
||||
},
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"type": "Toc",
|
||||
"source_relative_path": "toc.yml",
|
||||
"output": {
|
||||
".html": {
|
||||
"relative_path": "toc.html"
|
||||
},
|
||||
".json": {
|
||||
"relative_path": "toc.json"
|
||||
}
|
||||
},
|
||||
"version": ""
|
||||
}
|
||||
],
|
||||
"groups": [
|
||||
{
|
||||
"xrefmap": "xrefmap.yml"
|
||||
}
|
||||
]
|
||||
}
|
119
public/blockDiagram-9f4a6865-KQGFBXS7.min.js
vendored
Executable file
119
public/blockDiagram-9f4a6865-KQGFBXS7.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
7
public/blockDiagram-9f4a6865-KQGFBXS7.min.js.map
Executable file
7
public/blockDiagram-9f4a6865-KQGFBXS7.min.js.map
Executable file
File diff suppressed because one or more lines are too long
BIN
public/bootstrap-icons-OCU552PF.woff
Executable file
BIN
public/bootstrap-icons-OCU552PF.woff
Executable file
Binary file not shown.
BIN
public/bootstrap-icons-X6UQXWUS.woff2
Executable file
BIN
public/bootstrap-icons-X6UQXWUS.woff2
Executable file
Binary file not shown.
11
public/c4Diagram-ae766693-CZAYTAZR.min.js
vendored
Executable file
11
public/c4Diagram-ae766693-CZAYTAZR.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
7
public/c4Diagram-ae766693-CZAYTAZR.min.js.map
Executable file
7
public/c4Diagram-ae766693-CZAYTAZR.min.js.map
Executable file
File diff suppressed because one or more lines are too long
2
public/chunk-5FWMXAFW.min.js
vendored
Executable file
2
public/chunk-5FWMXAFW.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
7
public/chunk-5FWMXAFW.min.js.map
Executable file
7
public/chunk-5FWMXAFW.min.js.map
Executable file
File diff suppressed because one or more lines are too long
11
public/chunk-CA32PY7O.min.js
vendored
Executable file
11
public/chunk-CA32PY7O.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
7
public/chunk-CA32PY7O.min.js.map
Executable file
7
public/chunk-CA32PY7O.min.js.map
Executable file
File diff suppressed because one or more lines are too long
15
public/chunk-K2MRC2FE.min.js
vendored
Executable file
15
public/chunk-K2MRC2FE.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
7
public/chunk-K2MRC2FE.min.js.map
Executable file
7
public/chunk-K2MRC2FE.min.js.map
Executable file
File diff suppressed because one or more lines are too long
208
public/chunk-K4EHOM77.min.js
vendored
Executable file
208
public/chunk-K4EHOM77.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
7
public/chunk-K4EHOM77.min.js.map
Executable file
7
public/chunk-K4EHOM77.min.js.map
Executable file
File diff suppressed because one or more lines are too long
117
public/chunk-LUX5WYVM.min.js
vendored
Executable file
117
public/chunk-LUX5WYVM.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
7
public/chunk-LUX5WYVM.min.js.map
Executable file
7
public/chunk-LUX5WYVM.min.js.map
Executable file
File diff suppressed because one or more lines are too long
8
public/chunk-LXB37CFX.min.js
vendored
Executable file
8
public/chunk-LXB37CFX.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
7
public/chunk-LXB37CFX.min.js.map
Executable file
7
public/chunk-LXB37CFX.min.js.map
Executable file
File diff suppressed because one or more lines are too long
2
public/chunk-M7PQX5EB.min.js
vendored
Executable file
2
public/chunk-M7PQX5EB.min.js
vendored
Executable file
|
@ -0,0 +1,2 @@
|
|||
import{Ha as o,c}from"./chunk-YEACHCAA.min.js";import{d as l}from"./chunk-XUHMPXWX.min.js";var i=l(c(),1);var x=(s,t)=>{let r=s.append("rect");if(r.attr("x",t.x),r.attr("y",t.y),r.attr("fill",t.fill),r.attr("stroke",t.stroke),r.attr("width",t.width),r.attr("height",t.height),t.name&&r.attr("name",t.name),t.rx!==void 0&&r.attr("rx",t.rx),t.ry!==void 0&&r.attr("ry",t.ry),t.attrs!==void 0)for(let e in t.attrs)r.attr(e,t.attrs[e]);return t.class!==void 0&&r.attr("class",t.class),r},h=(s,t)=>{let r={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};x(s,r).lower()},y=(s,t)=>{let r=t.text.replace(o," "),e=s.append("text");e.attr("x",t.x),e.attr("y",t.y),e.attr("class","legend"),e.style("text-anchor",t.anchor),t.class!==void 0&&e.attr("class",t.class);let n=e.append("tspan");return n.attr("x",t.x+t.textMargin*2),n.text(r),e},m=(s,t,r,e)=>{let n=s.append("image");n.attr("x",t),n.attr("y",r);let a=(0,i.sanitizeUrl)(e);n.attr("xlink:href",a)},p=(s,t,r,e)=>{let n=s.append("use");n.attr("x",t),n.attr("y",r);let a=(0,i.sanitizeUrl)(e);n.attr("xlink:href",`#${a}`)},g=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),f=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0});export{x as a,h as b,y as c,m as d,p as e,g as f,f as g};
|
||||
//# sourceMappingURL=chunk-M7PQX5EB.min.js.map
|
7
public/chunk-M7PQX5EB.min.js.map
Executable file
7
public/chunk-M7PQX5EB.min.js.map
Executable file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"version": 3,
|
||||
"sources": ["../../node_modules/mermaid/dist/svgDrawCommon-5e1cfd1d.js"],
|
||||
"sourcesContent": ["import { sanitizeUrl } from \"@braintree/sanitize-url\";\nimport { J as lineBreakRegex } from \"./mermaid-6dc72991.js\";\nconst drawRect = (element, rectData) => {\n const rectElement = element.append(\"rect\");\n rectElement.attr(\"x\", rectData.x);\n rectElement.attr(\"y\", rectData.y);\n rectElement.attr(\"fill\", rectData.fill);\n rectElement.attr(\"stroke\", rectData.stroke);\n rectElement.attr(\"width\", rectData.width);\n rectElement.attr(\"height\", rectData.height);\n if (rectData.name) {\n rectElement.attr(\"name\", rectData.name);\n }\n rectData.rx !== void 0 && rectElement.attr(\"rx\", rectData.rx);\n rectData.ry !== void 0 && rectElement.attr(\"ry\", rectData.ry);\n if (rectData.attrs !== void 0) {\n for (const attrKey in rectData.attrs) {\n rectElement.attr(attrKey, rectData.attrs[attrKey]);\n }\n }\n rectData.class !== void 0 && rectElement.attr(\"class\", rectData.class);\n return rectElement;\n};\nconst drawBackgroundRect = (element, bounds) => {\n const rectData = {\n x: bounds.startx,\n y: bounds.starty,\n width: bounds.stopx - bounds.startx,\n height: bounds.stopy - bounds.starty,\n fill: bounds.fill,\n stroke: bounds.stroke,\n class: \"rect\"\n };\n const rectElement = drawRect(element, rectData);\n rectElement.lower();\n};\nconst drawText = (element, textData) => {\n const nText = textData.text.replace(lineBreakRegex, \" \");\n const textElem = element.append(\"text\");\n textElem.attr(\"x\", textData.x);\n textElem.attr(\"y\", textData.y);\n textElem.attr(\"class\", \"legend\");\n textElem.style(\"text-anchor\", textData.anchor);\n textData.class !== void 0 && textElem.attr(\"class\", textData.class);\n const tspan = textElem.append(\"tspan\");\n tspan.attr(\"x\", textData.x + textData.textMargin * 2);\n tspan.text(nText);\n return textElem;\n};\nconst drawImage = (elem, x, y, link) => {\n const imageElement = elem.append(\"image\");\n imageElement.attr(\"x\", x);\n imageElement.attr(\"y\", y);\n const sanitizedLink = sanitizeUrl(link);\n imageElement.attr(\"xlink:href\", sanitizedLink);\n};\nconst drawEmbeddedImage = (element, x, y, link) => {\n const imageElement = element.append(\"use\");\n imageElement.attr(\"x\", x);\n imageElement.attr(\"y\", y);\n const sanitizedLink = sanitizeUrl(link);\n imageElement.attr(\"xlink:href\", `#${sanitizedLink}`);\n};\nconst getNoteRect = () => {\n const noteRectData = {\n x: 0,\n y: 0,\n width: 100,\n height: 100,\n fill: \"#EDF2AE\",\n stroke: \"#666\",\n anchor: \"start\",\n rx: 0,\n ry: 0\n };\n return noteRectData;\n};\nconst getTextObj = () => {\n const testObject = {\n x: 0,\n y: 0,\n width: 100,\n height: 100,\n \"text-anchor\": \"start\",\n style: \"#666\",\n textMargin: 0,\n rx: 0,\n ry: 0,\n tspan: true\n };\n return testObject;\n};\nexport {\n drawBackgroundRect as a,\n drawEmbeddedImage as b,\n drawImage as c,\n drawRect as d,\n getTextObj as e,\n drawText as f,\n getNoteRect as g\n};\n"],
|
||||
"mappings": "2FAAA,IAAAA,EAA4B,SAE5B,IAAMC,EAAW,CAACC,EAASC,IAAa,CACtC,IAAMC,EAAcF,EAAQ,OAAO,MAAM,EAYzC,GAXAE,EAAY,KAAK,IAAKD,EAAS,CAAC,EAChCC,EAAY,KAAK,IAAKD,EAAS,CAAC,EAChCC,EAAY,KAAK,OAAQD,EAAS,IAAI,EACtCC,EAAY,KAAK,SAAUD,EAAS,MAAM,EAC1CC,EAAY,KAAK,QAASD,EAAS,KAAK,EACxCC,EAAY,KAAK,SAAUD,EAAS,MAAM,EACtCA,EAAS,MACXC,EAAY,KAAK,OAAQD,EAAS,IAAI,EAExCA,EAAS,KAAO,QAAUC,EAAY,KAAK,KAAMD,EAAS,EAAE,EAC5DA,EAAS,KAAO,QAAUC,EAAY,KAAK,KAAMD,EAAS,EAAE,EACxDA,EAAS,QAAU,OACrB,QAAWE,KAAWF,EAAS,MAC7BC,EAAY,KAAKC,EAASF,EAAS,MAAME,CAAO,CAAC,EAGrD,OAAAF,EAAS,QAAU,QAAUC,EAAY,KAAK,QAASD,EAAS,KAAK,EAC9DC,CACT,EACME,EAAqB,CAACJ,EAASK,IAAW,CAC9C,IAAMJ,EAAW,CACf,EAAGI,EAAO,OACV,EAAGA,EAAO,OACV,MAAOA,EAAO,MAAQA,EAAO,OAC7B,OAAQA,EAAO,MAAQA,EAAO,OAC9B,KAAMA,EAAO,KACb,OAAQA,EAAO,OACf,MAAO,MACT,EACoBN,EAASC,EAASC,CAAQ,EAClC,MAAM,CACpB,EACMK,EAAW,CAACN,EAASO,IAAa,CACtC,IAAMC,EAAQD,EAAS,KAAK,QAAQE,EAAgB,GAAG,EACjDC,EAAWV,EAAQ,OAAO,MAAM,EACtCU,EAAS,KAAK,IAAKH,EAAS,CAAC,EAC7BG,EAAS,KAAK,IAAKH,EAAS,CAAC,EAC7BG,EAAS,KAAK,QAAS,QAAQ,EAC/BA,EAAS,MAAM,cAAeH,EAAS,MAAM,EAC7CA,EAAS,QAAU,QAAUG,EAAS,KAAK,QAASH,EAAS,KAAK,EAClE,IAAMI,EAAQD,EAAS,OAAO,OAAO,EACrC,OAAAC,EAAM,KAAK,IAAKJ,EAAS,EAAIA,EAAS,WAAa,CAAC,EACpDI,EAAM,KAAKH,CAAK,EACTE,CACT,EACME,EAAY,CAACC,EAAMC,EAAGC,EAAGC,IAAS,CACtC,IAAMC,EAAeJ,EAAK,OAAO,OAAO,EACxCI,EAAa,KAAK,IAAKH,CAAC,EACxBG,EAAa,KAAK,IAAKF,CAAC,EACxB,IAAMG,KAAgB,eAAYF,CAAI,EACtCC,EAAa,KAAK,aAAcC,CAAa,CAC/C,EACMC,EAAoB,CAACnB,EAASc,EAAGC,EAAGC,IAAS,CACjD,IAAMC,EAAejB,EAAQ,OAAO,KAAK,EACzCiB,EAAa,KAAK,IAAKH,CAAC,EACxBG,EAAa,KAAK,IAAKF,CAAC,EACxB,IAAMG,KAAgB,eAAYF,CAAI,EACtCC,EAAa,KAAK,aAAc,IAAIC,CAAa,EAAE,CACrD,EACME,EAAc,KACG,CACnB,EAAG,EACH,EAAG,EACH,MAAO,IACP,OAAQ,IACR,KAAM,UACN,OAAQ,OACR,OAAQ,QACR,GAAI,EACJ,GAAI,CACN,GAGIC,EAAa,KACE,CACjB,EAAG,EACH,EAAG,EACH,MAAO,IACP,OAAQ,IACR,cAAe,QACf,MAAO,OACP,WAAY,EACZ,GAAI,EACJ,GAAI,EACJ,MAAO,EACT",
|
||||
"names": ["import_sanitize_url", "drawRect", "element", "rectData", "rectElement", "attrKey", "drawBackgroundRect", "bounds", "drawText", "textData", "nText", "lineBreakRegex", "textElem", "tspan", "drawImage", "elem", "x", "y", "link", "imageElement", "sanitizedLink", "drawEmbeddedImage", "getNoteRect", "getTextObj"]
|
||||
}
|
5
public/chunk-N4EFGQ5G.min.js
vendored
Executable file
5
public/chunk-N4EFGQ5G.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
7
public/chunk-N4EFGQ5G.min.js.map
Executable file
7
public/chunk-N4EFGQ5G.min.js.map
Executable file
File diff suppressed because one or more lines are too long
22
public/chunk-NRE4YRK7.min.js
vendored
Executable file
22
public/chunk-NRE4YRK7.min.js
vendored
Executable file
|
@ -0,0 +1,22 @@
|
|||
import{b as k}from"./chunk-XUHMPXWX.min.js";var v=k((h,j)=>{(function(e,n){typeof define=="function"&&define.amd?define(n):typeof h=="object"?j.exports=n():n()(e.lunr)})(h,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var n=e.version[0]=="2";e.ja=function(){this.pipeline.reset(),this.pipeline.add(e.ja.trimmer,e.ja.stopWordFilter,e.ja.stemmer),n?this.tokenizer=e.ja.tokenizer:(e.tokenizer&&(e.tokenizer=e.ja.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.ja.tokenizer))};var F=new e.TinySegmenter;e.ja.tokenizer=function(s){var t,i,f,o,a,d,g,p,r,c;if(!arguments.length||s==null||s==null)return[];if(Array.isArray(s))return s.map(function(m){return n?new e.Token(m.toLowerCase()):m.toLowerCase()});for(i=s.toString().toLowerCase().replace(/^\s+/,""),t=i.length-1;t>=0;t--)if(/\S/.test(i.charAt(t))){i=i.substring(0,t+1);break}for(a=[],f=i.length,r=0,p=0;r<=f;r++)if(d=i.charAt(r),g=r-p,d.match(/\s/)||r==f){if(g>0)for(o=F.segment(i.slice(p,r)).filter(function(m){return!!m}),c=p,t=0;t<o.length;t++)n?a.push(new e.Token(o[t],{position:[c,o[t].length],index:a.length})):a.push(o[t]),c+=o[t].length;p=r+1}return a},e.ja.stemmer=function(){return function(s){return s}}(),e.Pipeline.registerFunction(e.ja.stemmer,"stemmer-ja"),e.ja.wordCharacters="\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D\u5341\u767E\u5343\u4E07\u5104\u5146\u4E00-\u9FA0\u3005\u3006\u30F5\u30F6\u3041-\u3093\u30A1-\u30F4\u30FC\uFF71-\uFF9D\uFF9Ea-zA-Z\uFF41-\uFF5A\uFF21-\uFF3A0-9\uFF10-\uFF19",e.ja.trimmer=e.trimmerSupport.generateTrimmer(e.ja.wordCharacters),e.Pipeline.registerFunction(e.ja.trimmer,"trimmer-ja"),e.ja.stopWordFilter=e.generateStopWordFilter("\u3053\u308C \u305D\u308C \u3042\u308C \u3053\u306E \u305D\u306E \u3042\u306E \u3053\u3053 \u305D\u3053 \u3042\u305D\u3053 \u3053\u3061\u3089 \u3069\u3053 \u3060\u308C \u306A\u306B \u306A\u3093 \u4F55 \u79C1 \u8CB4\u65B9 \u8CB4\u65B9\u65B9 \u6211\u3005 \u79C1\u9054 \u3042\u306E\u4EBA \u3042\u306E\u304B\u305F \u5F7C\u5973 \u5F7C \u3067\u3059 \u3042\u308A\u307E\u3059 \u304A\u308A\u307E\u3059 \u3044\u307E\u3059 \u306F \u304C \u306E \u306B \u3092 \u3067 \u3048 \u304B\u3089 \u307E\u3067 \u3088\u308A \u3082 \u3069\u306E \u3068 \u3057 \u305D\u308C\u3067 \u3057\u304B\u3057".split(" ")),e.Pipeline.registerFunction(e.ja.stopWordFilter,"stopWordFilter-ja"),e.jp=e.ja,e.Pipeline.registerFunction(e.jp.stemmer,"stemmer-jp"),e.Pipeline.registerFunction(e.jp.trimmer,"trimmer-jp"),e.Pipeline.registerFunction(e.jp.stopWordFilter,"stopWordFilter-jp")}})});export{v as a};
|
||||
/*! Bundled license information:
|
||||
|
||||
lunr-languages/lunr.ja.js:
|
||||
(*!
|
||||
* Lunr languages, `Japanese` language
|
||||
* https://github.com/MihaiValentin/lunr-languages
|
||||
*
|
||||
* Copyright 2014, Chad Liu
|
||||
* http://www.mozilla.org/MPL/
|
||||
*)
|
||||
(*!
|
||||
* based on
|
||||
* Snowball JavaScript Library v0.3
|
||||
* http://code.google.com/p/urim/
|
||||
* http://snowball.tartarus.org/
|
||||
*
|
||||
* Copyright 2010, Oleg Mazko
|
||||
* http://www.mozilla.org/MPL/
|
||||
*)
|
||||
*/
|
||||
//# sourceMappingURL=chunk-NRE4YRK7.min.js.map
|
7
public/chunk-NRE4YRK7.min.js.map
Executable file
7
public/chunk-NRE4YRK7.min.js.map
Executable file
File diff suppressed because one or more lines are too long
161
public/chunk-QRBMAIWT.min.js
vendored
Executable file
161
public/chunk-QRBMAIWT.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
7
public/chunk-QRBMAIWT.min.js.map
Executable file
7
public/chunk-QRBMAIWT.min.js.map
Executable file
File diff suppressed because one or more lines are too long
2
public/chunk-RNO6SWHZ.min.js
vendored
Executable file
2
public/chunk-RNO6SWHZ.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
7
public/chunk-RNO6SWHZ.min.js.map
Executable file
7
public/chunk-RNO6SWHZ.min.js.map
Executable file
File diff suppressed because one or more lines are too long
2
public/chunk-XUHMPXWX.min.js
vendored
Executable file
2
public/chunk-XUHMPXWX.min.js
vendored
Executable file
|
@ -0,0 +1,2 @@
|
|||
var g=Object.create;var e=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(a=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(b,c)=>(typeof require<"u"?require:b)[c]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});var n=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),o=(a,b)=>{for(var c in b)e(a,c,{get:b[c],enumerable:!0})},l=(a,b,c,f)=>{if(b&&typeof b=="object"||typeof b=="function")for(let d of i(b))!k.call(a,d)&&d!==c&&e(a,d,{get:()=>b[d],enumerable:!(f=h(b,d))||f.enumerable});return a};var p=(a,b,c)=>(c=a!=null?g(j(a)):{},l(b||!a||!a.__esModule?e(c,"default",{value:a,enumerable:!0}):c,a));export{m as a,n as b,o as c,p as d};
|
||||
//# sourceMappingURL=chunk-XUHMPXWX.min.js.map
|
7
public/chunk-XUHMPXWX.min.js.map
Executable file
7
public/chunk-XUHMPXWX.min.js.map
Executable file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sourcesContent": [],
|
||||
"mappings": "",
|
||||
"names": []
|
||||
}
|
101
public/chunk-YEACHCAA.min.js
vendored
Executable file
101
public/chunk-YEACHCAA.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
7
public/chunk-YEACHCAA.min.js.map
Executable file
7
public/chunk-YEACHCAA.min.js.map
Executable file
File diff suppressed because one or more lines are too long
3
public/classDiagram-fb54d2a0-HROX7LLG.min.js
vendored
Executable file
3
public/classDiagram-fb54d2a0-HROX7LLG.min.js
vendored
Executable file
|
@ -0,0 +1,3 @@
|
|||
import{a as G,b as S,c as I}from"./chunk-QRBMAIWT.min.js";import{a as W}from"./chunk-RNO6SWHZ.min.js";import{A}from"./chunk-K2MRC2FE.min.js";import{G as _,Ga as y,I as C,J as R,Ka as O,ab as T,b as J,c as Z,db as P,h as E,nb as v}from"./chunk-YEACHCAA.min.js";import{d as N}from"./chunk-XUHMPXWX.min.js";var at=N(J(),1),it=N(Z(),1),nt=N(R(),1);var X=0,F=function(i,r,t,o,p){let g=function(e){switch(e){case p.db.relationType.AGGREGATION:return"aggregation";case p.db.relationType.EXTENSION:return"extension";case p.db.relationType.COMPOSITION:return"composition";case p.db.relationType.DEPENDENCY:return"dependency";case p.db.relationType.LOLLIPOP:return"lollipop"}};r.points=r.points.filter(e=>!Number.isNaN(e.y));let s=r.points,c=_().x(function(e){return e.x}).y(function(e){return e.y}).curve(C),n=i.append("path").attr("d",c(s)).attr("id","edge"+X).attr("class","relation"),a="";o.arrowMarkerAbsolute&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replace(/\(/g,"\\("),a=a.replace(/\)/g,"\\)")),t.relation.lineType==1&&n.attr("class","relation dashed-line"),t.relation.lineType==10&&n.attr("class","relation dotted-line"),t.relation.type1!=="none"&&n.attr("marker-start","url("+a+"#"+g(t.relation.type1)+"Start)"),t.relation.type2!=="none"&&n.attr("marker-end","url("+a+"#"+g(t.relation.type2)+"End)");let f,h,x=r.points.length,b=T.calcLabelPosition(r.points);f=b.x,h=b.y;let u,m,w,k;if(x%2!==0&&x>1){let e=T.calcCardinalityPosition(t.relation.type1!=="none",r.points,r.points[0]),d=T.calcCardinalityPosition(t.relation.type2!=="none",r.points,r.points[x-1]);y.debug("cardinality_1_point "+JSON.stringify(e)),y.debug("cardinality_2_point "+JSON.stringify(d)),u=e.x,m=e.y,w=d.x,k=d.y}if(t.title!==void 0){let e=i.append("g").attr("class","classLabel"),d=e.append("text").attr("class","label").attr("x",f).attr("y",h).attr("fill","red").attr("text-anchor","middle").text(t.title);window.label=d;let l=d.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",l.x-o.padding/2).attr("y",l.y-o.padding/2).attr("width",l.width+o.padding).attr("height",l.height+o.padding)}y.info("Rendering relation "+JSON.stringify(t)),t.relationTitle1!==void 0&&t.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",u).attr("y",m).attr("fill","black").attr("font-size","6").text(t.relationTitle1),t.relationTitle2!==void 0&&t.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",w).attr("y",k).attr("fill","black").attr("font-size","6").text(t.relationTitle2),X++},U=function(i,r,t,o){y.debug("Rendering class ",r,t);let p=r.id,g={id:p,label:r.id,width:0,height:0},s=i.append("g").attr("id",o.db.lookUpDomId(p)).attr("class","classGroup"),c;r.link?c=s.append("svg:a").attr("xlink:href",r.link).attr("target",r.linkTarget).append("text").attr("y",t.textHeight+t.padding).attr("x",0):c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);let n=!0;r.annotations.forEach(function(d){let l=c.append("tspan").text("\xAB"+d+"\xBB");n||l.attr("dy",t.textHeight),n=!1});let a=$(r),f=c.append("tspan").text(a).attr("class","title");n||f.attr("dy",t.textHeight);let h=c.node().getBBox().height,x,b,u;if(r.members.length>0){x=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin/2).attr("y2",t.padding+h+t.dividerMargin/2);let d=s.append("text").attr("x",t.padding).attr("y",h+t.dividerMargin+t.textHeight).attr("fill","white").attr("class","classText");n=!0,r.members.forEach(function(l){Y(d,l,n,t),n=!1}),b=d.node().getBBox()}if(r.methods.length>0){u=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin+b.height).attr("y2",t.padding+h+t.dividerMargin+b.height);let d=s.append("text").attr("x",t.padding).attr("y",h+2*t.dividerMargin+b.height+t.textHeight).attr("fill","white").attr("class","classText");n=!0,r.methods.forEach(function(l){Y(d,l,n,t),n=!1})}let m=s.node().getBBox();var w=" ";r.cssClasses.length>0&&(w=w+r.cssClasses.join(" "));let e=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",m.width+2*t.padding).attr("height",m.height+t.padding+.5*t.dividerMargin).attr("class",w).node().getBBox().width;return c.node().childNodes.forEach(function(d){d.setAttribute("x",(e-d.getBBox().width)/2)}),r.tooltip&&c.insert("title").text(r.tooltip),x&&x.attr("x2",e),u&&u.attr("x2",e),g.width=e,g.height=m.height+t.padding+.5*t.dividerMargin,g},$=function(i){let r=i.id;return i.type&&(r+="<"+O(i.type)+">"),r},z=function(i,r,t,o){y.debug("Rendering note ",r,t);let p=r.id,g={id:p,text:r.text,width:0,height:0},s=i.append("g").attr("id",p).attr("class","classGroup"),c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0),n=JSON.parse(`"${r.text}"`).split(`
|
||||
`);n.forEach(function(x){y.debug(`Adding line: ${x}`),c.append("tspan").text(x).attr("class","title").attr("dy",t.textHeight)});let a=s.node().getBBox(),h=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",a.width+2*t.padding).attr("height",a.height+n.length*t.textHeight+t.padding+.5*t.dividerMargin).node().getBBox().width;return c.node().childNodes.forEach(function(x){x.setAttribute("x",(h-x.getBBox().width)/2)}),g.width=h,g.height=a.height+n.length*t.textHeight+t.padding+.5*t.dividerMargin,g},Y=function(i,r,t,o){let{displayText:p,cssStyle:g}=r.getDisplayDetails(),s=i.append("tspan").attr("x",o.padding).text(p);g!==""&&s.attr("style",r.cssStyle),t||s.attr("dy",o.textHeight)},H={getClassTitleString:$,drawClass:U,drawEdge:F,drawNote:z},M={},B=20,L=function(i){let r=Object.entries(M).find(t=>t[1].label===i);if(r)return r[0]},V=function(i){i.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),i.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},q=function(i,r,t,o){let p=v().class;M={},y.info("Rendering diagram "+i);let g=v().securityLevel,s;g==="sandbox"&&(s=E("#i"+r));let c=g==="sandbox"?E(s.nodes()[0].contentDocument.body):E("body"),n=c.select(`[id='${r}']`);V(n);let a=new A({multigraph:!0});a.setGraph({isMultiGraph:!0}),a.setDefaultEdgeLabel(function(){return{}});let f=o.db.getClasses(),h=Object.keys(f);for(let e of h){let d=f[e],l=H.drawClass(n,d,p,o);M[l.id]=l,a.setNode(l.id,l),y.info("Org height: "+l.height)}o.db.getRelations().forEach(function(e){y.info("tjoho"+L(e.id1)+L(e.id2)+JSON.stringify(e)),a.setEdge(L(e.id1),L(e.id2),{relation:e},e.title||"DEFAULT")}),o.db.getNotes().forEach(function(e){y.debug(`Adding note: ${JSON.stringify(e)}`);let d=H.drawNote(n,e,p,o);M[d.id]=d,a.setNode(d.id,d),e.class&&e.class in f&&a.setEdge(e.id,L(e.class),{relation:{id1:e.id,id2:e.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),W(a),a.nodes().forEach(function(e){e!==void 0&&a.node(e)!==void 0&&(y.debug("Node "+e+": "+JSON.stringify(a.node(e))),c.select("#"+(o.db.lookUpDomId(e)||e)).attr("transform","translate("+(a.node(e).x-a.node(e).width/2)+","+(a.node(e).y-a.node(e).height/2)+" )"))}),a.edges().forEach(function(e){e!==void 0&&a.edge(e)!==void 0&&(y.debug("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(a.edge(e))),H.drawEdge(n,a.edge(e),a.edge(e).relation,p,o))});let u=n.node().getBBox(),m=u.width+B*2,w=u.height+B*2;P(n,w,m,p.useMaxWidth);let k=`${u.x-B} ${u.y-B} ${m} ${w}`;y.debug(`viewBox ${k}`),n.attr("viewBox",k)},K={draw:q},dt={parser:G,db:S,renderer:K,styles:I,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,S.clear()}};export{dt as diagram};
|
||||
//# sourceMappingURL=classDiagram-fb54d2a0-HROX7LLG.min.js.map
|
7
public/classDiagram-fb54d2a0-HROX7LLG.min.js.map
Executable file
7
public/classDiagram-fb54d2a0-HROX7LLG.min.js.map
Executable file
File diff suppressed because one or more lines are too long
3
public/classDiagram-v2-a2b738ad-P3OHMUUZ.min.js
vendored
Executable file
3
public/classDiagram-v2-a2b738ad-P3OHMUUZ.min.js
vendored
Executable file
|
@ -0,0 +1,3 @@
|
|||
import{a as R,b as T,c as $}from"./chunk-QRBMAIWT.min.js";import{a as M}from"./chunk-5FWMXAFW.min.js";import"./chunk-N4EFGQ5G.min.js";import"./chunk-LXB37CFX.min.js";import"./chunk-RNO6SWHZ.min.js";import{A as I}from"./chunk-K2MRC2FE.min.js";import{F as S,Ga as d,J as V,Oa as L,Ta as _,Ua as N,ab as B,b as F,c as H,eb as G,h as g,nb as i}from"./chunk-YEACHCAA.min.js";import{d as k}from"./chunk-XUHMPXWX.min.js";var ot=k(F(),1),lt=k(H(),1),st=k(V(),1);var E=s=>L.sanitizeText(s,i()),D={dividerMargin:10,padding:5,textHeight:10,curve:void 0},W=function(s,e,y,a){let t=Object.keys(s);d.info("keys:",t),d.info(s),t.forEach(function(r){var o,c;let l=s[r],p={shape:"rect",id:l.id,domId:l.domId,labelText:E(l.id),labelStyle:"",style:"fill: none; stroke: black",padding:((o=i().flowchart)==null?void 0:o.padding)??((c=i().class)==null?void 0:c.padding)};e.setNode(l.id,p),P(l.classes,e,y,a,l.id),d.info("setNode",p)})},P=function(s,e,y,a,t){let r=Object.keys(s);d.info("keys:",r),d.info(s),r.filter(o=>s[o].parent==t).forEach(function(o){var c,l;let n=s[o],p=n.cssClasses.join(" "),f=N(n.styles),m=n.label??n.id,u=0,b={labelStyle:f.labelStyle,shape:"class_box",labelText:E(m),classData:n,rx:u,ry:u,class:p,style:f.style,id:n.id,domId:n.domId,tooltip:a.db.getTooltip(n.id,t)||"",haveCallback:n.haveCallback,link:n.link,width:n.type==="group"?500:void 0,type:n.type,padding:((c=i().flowchart)==null?void 0:c.padding)??((l=i().class)==null?void 0:l.padding)};e.setNode(n.id,b),t&&e.setParent(n.id,t),d.info("setNode",b)})},J=function(s,e,y,a){d.info(s),s.forEach(function(t,r){var o,c;let l=t,n="",p={labelStyle:"",style:""},f=l.text,m=0,h={labelStyle:p.labelStyle,shape:"note",labelText:E(f),noteData:l,rx:m,ry:m,class:n,style:p.style,id:l.id,domId:l.id,tooltip:"",type:"note",padding:((o=i().flowchart)==null?void 0:o.padding)??((c=i().class)==null?void 0:c.padding)};if(e.setNode(l.id,h),d.info("setNode",h),!l.class||!(l.class in a))return;let b=y+r,x={id:`edgeNote${b}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:_(D.curve,S)};e.setEdge(l.id,l.class,x,b)})},K=function(s,e){let y=i().flowchart,a=0;s.forEach(function(t){var r;a++;let o={classes:"relation",pattern:t.relation.lineType==1?"dashed":"solid",id:`id_${t.id1}_${t.id2}_${a}`,arrowhead:t.type==="arrow_open"?"none":"normal",startLabelRight:t.relationTitle1==="none"?"":t.relationTitle1,endLabelLeft:t.relationTitle2==="none"?"":t.relationTitle2,arrowTypeStart:z(t.relation.type1),arrowTypeEnd:z(t.relation.type2),style:"fill:none",labelStyle:"",curve:_(y?.curve,S)};if(d.info(o,t),t.style!==void 0){let c=N(t.style);o.style=c.style,o.labelStyle=c.labelStyle}t.text=t.title,t.text===void 0?t.style!==void 0&&(o.arrowheadStyle="fill: #333"):(o.arrowheadStyle="fill: #333",o.labelpos="c",((r=i().flowchart)==null?void 0:r.htmlLabels)??i().htmlLabels?(o.labelType="html",o.label='<span class="edgeLabel">'+t.text+"</span>"):(o.labelType="text",o.label=t.text.replace(L.lineBreakRegex,`
|
||||
`),t.style===void 0&&(o.style=o.style||"stroke: #333; stroke-width: 1.5px;fill:none"),o.labelStyle=o.labelStyle.replace("color:","fill:"))),e.setEdge(t.id1,t.id2,o,a)})},Q=function(s){D={...D,...s}},U=async function(s,e,y,a){d.info("Drawing class - ",e);let t=i().flowchart??i().class,r=i().securityLevel;d.info("config:",t);let o=t?.nodeSpacing??50,c=t?.rankSpacing??50,l=new I({multigraph:!0,compound:!0}).setGraph({rankdir:a.db.getDirection(),nodesep:o,ranksep:c,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=a.db.getNamespaces(),p=a.db.getClasses(),f=a.db.getRelations(),m=a.db.getNotes();d.info(f),W(n,l,e,a),P(p,l,e,a),K(f,l),J(m,l,f.length+1,p);let u;r==="sandbox"&&(u=g("#i"+e));let h=r==="sandbox"?g(u.nodes()[0].contentDocument.body):g("body"),b=h.select(`[id="${e}"]`),x=h.select("#"+e+" g");if(await M(x,l,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",e),B.insertTitle(b,"classTitleText",t?.titleTopMargin??5,a.db.getDiagramTitle()),G(l,b,t?.diagramPadding,t?.useMaxWidth),!t?.htmlLabels){let C=r==="sandbox"?u.nodes()[0].contentDocument:document,q=C.querySelectorAll('[id="'+e+'"] .edgeLabel .label');for(let w of q){let A=w.getBBox(),v=C.createElementNS("http://www.w3.org/2000/svg","rect");v.setAttribute("rx",0),v.setAttribute("ry",0),v.setAttribute("width",A.width),v.setAttribute("height",A.height),w.insertBefore(v,w.firstChild)}}};function z(s){let e;switch(s){case 0:e="aggregation";break;case 1:e="extension";break;case 2:e="composition";break;case 3:e="dependency";break;case 4:e="lollipop";break;default:e="none"}return e}var X={setConf:Q,draw:U},it={parser:R,db:T,renderer:X,styles:$,init:s=>{s.class||(s.class={}),s.class.arrowMarkerAbsolute=s.arrowMarkerAbsolute,T.clear()}};export{it as diagram};
|
||||
//# sourceMappingURL=classDiagram-v2-a2b738ad-P3OHMUUZ.min.js.map
|
7
public/classDiagram-v2-a2b738ad-P3OHMUUZ.min.js.map
Executable file
7
public/classDiagram-v2-a2b738ad-P3OHMUUZ.min.js.map
Executable file
File diff suppressed because one or more lines are too long
16
public/docfx.min.css
vendored
Executable file
16
public/docfx.min.css
vendored
Executable file
File diff suppressed because one or more lines are too long
7
public/docfx.min.css.map
Executable file
7
public/docfx.min.css.map
Executable file
File diff suppressed because one or more lines are too long
102
public/docfx.min.js
vendored
Executable file
102
public/docfx.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
7
public/docfx.min.js.map
Executable file
7
public/docfx.min.js.map
Executable file
File diff suppressed because one or more lines are too long
52
public/erDiagram-09d1c15f-DTEA6AXO.min.js
vendored
Executable file
52
public/erDiagram-09d1c15f-DTEA6AXO.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
7
public/erDiagram-09d1c15f-DTEA6AXO.min.js.map
Executable file
7
public/erDiagram-09d1c15f-DTEA6AXO.min.js.map
Executable file
File diff suppressed because one or more lines are too long
10
public/es-NKDSMAKG.min.js
vendored
Executable file
10
public/es-NKDSMAKG.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
7
public/es-NKDSMAKG.min.js.map
Executable file
7
public/es-NKDSMAKG.min.js.map
Executable file
File diff suppressed because one or more lines are too long
5
public/flowDiagram-b222e15a-KHGBC5KH.min.js
vendored
Executable file
5
public/flowDiagram-b222e15a-KHGBC5KH.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
7
public/flowDiagram-b222e15a-KHGBC5KH.min.js.map
Executable file
7
public/flowDiagram-b222e15a-KHGBC5KH.min.js.map
Executable file
File diff suppressed because one or more lines are too long
2
public/flowDiagram-v2-13329dc7-7HQDDRUE.min.js
vendored
Executable file
2
public/flowDiagram-v2-13329dc7-7HQDDRUE.min.js
vendored
Executable file
|
@ -0,0 +1,2 @@
|
|||
import{g as i,h as p}from"./chunk-LUX5WYVM.min.js";import"./chunk-5FWMXAFW.min.js";import{a as m,b as o}from"./chunk-CA32PY7O.min.js";import"./chunk-N4EFGQ5G.min.js";import"./chunk-LXB37CFX.min.js";import"./chunk-RNO6SWHZ.min.js";import"./chunk-K2MRC2FE.min.js";import{J as l,b as a,c as s,ob as e}from"./chunk-YEACHCAA.min.js";import{d as t}from"./chunk-XUHMPXWX.min.js";var g=t(a(),1),n=t(s(),1),c=t(l(),1);var y={parser:m,db:o,renderer:i,styles:p,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,e({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),i.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{y as diagram};
|
||||
//# sourceMappingURL=flowDiagram-v2-13329dc7-7HQDDRUE.min.js.map
|
7
public/flowDiagram-v2-13329dc7-7HQDDRUE.min.js.map
Executable file
7
public/flowDiagram-v2-13329dc7-7HQDDRUE.min.js.map
Executable file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"version": 3,
|
||||
"sources": ["../../node_modules/mermaid/dist/flowDiagram-v2-13329dc7.js"],
|
||||
"sourcesContent": ["import { p as parser, f as flowDb } from \"./flowDb-c1833063.js\";\nimport { f as flowRendererV2, a as flowStyles } from \"./styles-483fbfea.js\";\nimport { p as setConfig } from \"./mermaid-6dc72991.js\";\nimport \"d3\";\nimport \"dagre-d3-es/src/graphlib/index.js\";\nimport \"./index-01f381cb.js\";\nimport \"dagre-d3-es/src/dagre/index.js\";\nimport \"dagre-d3-es/src/graphlib/json.js\";\nimport \"./edges-066a5561.js\";\nimport \"./createText-ca0c5216.js\";\nimport \"mdast-util-from-markdown\";\nimport \"ts-dedent\";\nimport \"dagre-d3-es/src/dagre-js/label/add-html-label.js\";\nimport \"khroma\";\nimport \"dayjs\";\nimport \"@braintree/sanitize-url\";\nimport \"dompurify\";\nimport \"lodash-es/memoize.js\";\nimport \"lodash-es/merge.js\";\nimport \"stylis\";\nimport \"lodash-es/isEmpty.js\";\nconst diagram = {\n parser,\n db: flowDb,\n renderer: flowRendererV2,\n styles: flowStyles,\n init: (cnf) => {\n if (!cnf.flowchart) {\n cnf.flowchart = {};\n }\n cnf.flowchart.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n setConfig({ flowchart: { arrowMarkerAbsolute: cnf.arrowMarkerAbsolute } });\n flowRendererV2.setConf(cnf.flowchart);\n flowDb.clear();\n flowDb.setGen(\"gen-2\");\n }\n};\nexport {\n diagram\n};\n"],
|
||||
"mappings": "oXAcA,IAAAA,EAAO,SACPC,EAAO,SACPC,EAAO,SAKP,IAAMC,EAAU,CACd,OAAAC,EACA,GAAIC,EACJ,SAAUC,EACV,OAAQC,EACR,KAAOC,GAAQ,CACRA,EAAI,YACPA,EAAI,UAAY,CAAC,GAEnBA,EAAI,UAAU,oBAAsBA,EAAI,oBACxCC,EAAU,CAAE,UAAW,CAAE,oBAAqBD,EAAI,mBAAoB,CAAE,CAAC,EACzEF,EAAe,QAAQE,EAAI,SAAS,EACpCH,EAAO,MAAM,EACbA,EAAO,OAAO,OAAO,CACvB,CACF",
|
||||
"names": ["import_dayjs", "import_sanitize_url", "import_dompurify", "diagram", "parser$1", "flowDb", "flowRendererV2", "flowStyles", "cnf", "setConfig"]
|
||||
}
|
140
public/flowchart-elk-definition-ae0efee6-MAQF265M.min.js
vendored
Executable file
140
public/flowchart-elk-definition-ae0efee6-MAQF265M.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
7
public/flowchart-elk-definition-ae0efee6-MAQF265M.min.js.map
Executable file
7
public/flowchart-elk-definition-ae0efee6-MAQF265M.min.js.map
Executable file
File diff suppressed because one or more lines are too long
258
public/ganttDiagram-b62c793e-AG7E44IT.min.js
vendored
Executable file
258
public/ganttDiagram-b62c793e-AG7E44IT.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
7
public/ganttDiagram-b62c793e-AG7E44IT.min.js.map
Executable file
7
public/ganttDiagram-b62c793e-AG7E44IT.min.js.map
Executable file
File diff suppressed because one or more lines are too long
71
public/gitGraphDiagram-942e62fe-MKYST3PD.min.js
vendored
Executable file
71
public/gitGraphDiagram-942e62fe-MKYST3PD.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
7
public/gitGraphDiagram-942e62fe-MKYST3PD.min.js.map
Executable file
7
public/gitGraphDiagram-942e62fe-MKYST3PD.min.js.map
Executable file
File diff suppressed because one or more lines are too long
8
public/infoDiagram-94cd232f-QDJEABPW.min.js
vendored
Executable file
8
public/infoDiagram-94cd232f-QDJEABPW.min.js
vendored
Executable file
|
@ -0,0 +1,8 @@
|
|||
import{Ga as N,J as q,b as V,c as X,db as R,rb as z}from"./chunk-YEACHCAA.min.js";import{d as O}from"./chunk-XUHMPXWX.min.js";var et=O(V(),1),it=O(X(),1);var st=O(q(),1);var P=function(){var a=function(u,t,e,i){for(e=e||{},i=u.length;i--;e[u[i]]=t);return e},f=[6,9,10],_={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(t,e,i,s,r,n,d){switch(n.length-1,r){case 1:return s;case 4:break;case 6:s.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},a(f,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},a(f,[2,3]),a(f,[2,4]),a(f,[2,5]),a(f,[2,6])],defaultActions:{4:[2,1]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var i=new Error(t);throw i.hash=e,i}},parse:function(t){var e=this,i=[0],s=[],r=[null],n=[],d=this.table,L="",v=0,T=0,Y=2,F=1,D=n.slice.call(arguments,1),o=Object.create(this.lexer),p={yy:{}};for(var E in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E)&&(p.yy[E]=this.yy[E]);o.setInput(t,p.yy),p.yy.lexer=o,p.yy.parser=this,typeof o.yylloc>"u"&&(o.yylloc={});var I=o.yylloc;n.push(I);var M=o.options&&o.options.ranges;typeof p.yy.parseError=="function"?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function B(){var y;return y=s.pop()||o.lex()||F,typeof y!="number"&&(y instanceof Array&&(s=y,y=s.pop()),y=e.symbols_[y]||y),y}for(var l,g,h,w,m={},b,c,j,S;;){if(g=i[i.length-1],this.defaultActions[g]?h=this.defaultActions[g]:((l===null||typeof l>"u")&&(l=B()),h=d[g]&&d[g][l]),typeof h>"u"||!h.length||!h[0]){var A="";S=[];for(b in d[g])this.terminals_[b]&&b>Y&&S.push("'"+this.terminals_[b]+"'");o.showPosition?A="Parse error on line "+(v+1)+`:
|
||||
`+o.showPosition()+`
|
||||
Expecting `+S.join(", ")+", got '"+(this.terminals_[l]||l)+"'":A="Parse error on line "+(v+1)+": Unexpected "+(l==F?"end of input":"'"+(this.terminals_[l]||l)+"'"),this.parseError(A,{text:o.match,token:this.terminals_[l]||l,line:o.yylineno,loc:I,expected:S})}if(h[0]instanceof Array&&h.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+l);switch(h[0]){case 1:i.push(l),r.push(o.yytext),n.push(o.yylloc),i.push(h[1]),l=null,T=o.yyleng,L=o.yytext,v=o.yylineno,I=o.yylloc;break;case 2:if(c=this.productions_[h[1]][1],m.$=r[r.length-c],m._$={first_line:n[n.length-(c||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(c||1)].first_column,last_column:n[n.length-1].last_column},M&&(m._$.range=[n[n.length-(c||1)].range[0],n[n.length-1].range[1]]),w=this.performAction.apply(m,[L,T,v,p.yy,h[1],r,n].concat(D)),typeof w<"u")return w;c&&(i=i.slice(0,-1*c*2),r=r.slice(0,-1*c),n=n.slice(0,-1*c)),i.push(this.productions_[h[1]][0]),r.push(m.$),n.push(m._$),j=d[i[i.length-2]][i[i.length-1]],i.push(j);break;case 3:return!0}}return!0}},k=function(){var u={EOF:1,parseError:function(e,i){if(this.yy.parser)this.yy.parser.parseError(e,i);else throw new Error(e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===s.length?this.yylloc.first_column:0)+s[s.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
||||
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+`
|
||||
`+e+"^"},test_match:function(t,e){var i,s,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),s=t[0].match(/(?:\r\n?|\n).*/g),s&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var n in r)this[n]=r[n];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,i,s;this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),n=0;n<r.length;n++)if(i=this._input.match(this.rules[r[n]]),i&&(!e||i[0].length>e[0].length)){if(e=i,s=n,this.options.backtrack_lexer){if(t=this.test_match(i,r[n]),t!==!1)return t;if(this._backtrack){e=!1;continue}else return!1}else if(!this.options.flex)break}return e?(t=this.test_match(e,r[s]),t!==!1?t:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
||||
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,i,s,r){switch(s){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};return u}();_.lexer=k;function x(){this.yy={}}return x.prototype=_,_.Parser=x,new x}();P.parser=P;var C=P,U={info:!1},$=U.info,G=a=>{$=a},H=()=>$,J=()=>{$=U.info},K={clear:J,setInfo:G,getInfo:H},Q=(a,f,_)=>{N.debug(`rendering info diagram
|
||||
`+a);let k=z(f);R(k,100,400,!0),k.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${_}`)},W={draw:Q},rt={parser:C,db:K,renderer:W};export{rt as diagram};
|
||||
//# sourceMappingURL=infoDiagram-94cd232f-QDJEABPW.min.js.map
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue