diff --git a/.github/workflows/github.yml b/.github/workflows/github.yml index 4507ca07274..b8ae18c688b 100644 --- a/.github/workflows/github.yml +++ b/.github/workflows/github.yml @@ -14,374 +14,6 @@ env: BUILD_TYPE: Release jobs: - build: - strategy: - matrix: - include: - - platform: linux-qt6 - os: ubuntu-24.04 - test: 0 - before_install: linux_qt6.sh - preset: linux-clang-test - - platform: linux - os: ubuntu-24.04 - test: 1 - before_install: linux_qt5.sh - preset: linux-gcc-test - - platform: linux - os: ubuntu-20.04 - test: 0 - before_install: linux_qt5.sh - preset: linux-gcc-debug - - platform: mac-intel - os: macos-13 - test: 0 - pack: 1 - upload: 1 - pack_type: Release - extension: dmg - before_install: macos.sh - preset: macos-conan-ninja-release - conan_profile: macos-intel - conan_prebuilts: dependencies-mac-intel - conan_options: --options with_apple_system_libs=True - artifact_platform: intel - - platform: mac-arm - os: macos-13 - test: 0 - pack: 1 - upload: 1 - pack_type: Release - extension: dmg - before_install: macos.sh - preset: macos-arm-conan-ninja-release - conan_profile: macos-arm - conan_prebuilts: dependencies-mac-arm - conan_options: --options with_apple_system_libs=True - artifact_platform: arm - - platform: ios - os: macos-13 - test: 0 - pack: 1 - upload: 1 - pack_type: Release - extension: ipa - before_install: macos.sh - preset: ios-release-conan-ccache - conan_profile: ios-arm64 - conan_prebuilts: dependencies-ios - conan_options: --options with_apple_system_libs=True - - platform: msvc-x64 - os: windows-latest - test: 0 - pack: 1 - upload: 1 - pack_type: RelWithDebInfo - extension: exe - before_install: msvc.sh - preset: windows-msvc-release - - platform: msvc-x86 - os: windows-latest - test: 0 - pack: 1 - pack_type: RelWithDebInfo - extension: exe - before_install: msvc.sh - preset: windows-msvc-release-x86 - - platform: mingw_x86_64 - os: ubuntu-24.04 - test: 0 - pack: 1 - pack_type: Release - extension: exe - cmake_args: -G Ninja - before_install: mingw.sh - preset: windows-mingw-conan-linux - conan_profile: mingw64-linux.jinja - conan_prebuilts: dependencies-mingw-x86-64 - - platform: mingw_x86 - os: ubuntu-24.04 - test: 0 - pack: 1 - pack_type: Release - extension: exe - cmake_args: -G Ninja - before_install: mingw.sh - preset: windows-mingw-conan-linux - conan_profile: mingw32-linux.jinja - conan_prebuilts: dependencies-mingw-x86 - - platform: android-32 - os: ubuntu-24.04 - upload: 1 - extension: apk - preset: android-conan-ninja-release - before_install: android.sh - conan_profile: android-32-ndk - conan_prebuilts: dependencies-android-armeabi-v7a - artifact_platform: armeabi-v7a - - platform: android-64 - os: ubuntu-24.04 - upload: 1 - extension: apk - preset: android-conan-ninja-release - before_install: android.sh - conan_profile: android-64-ndk - conan_prebuilts: dependencies-android-arm64-v8a - artifact_platform: arm64-v8a - runs-on: ${{ matrix.os }} - defaults: - run: - shell: bash - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - submodules: recursive - - - name: Prepare CI - if: "${{ matrix.before_install != '' }}" - run: source '${{github.workspace}}/CI/before_install/${{matrix.before_install}}' - env: - VCMI_BUILD_PLATFORM: x64 - - - name: Install Conan Dependencies - if: "${{ matrix.conan_prebuilts != '' }}" - run: source '${{github.workspace}}/CI/install_conan_dependencies.sh' '${{matrix.conan_prebuilts}}' - - - name: Install vcpkg Dependencies - if: ${{ startsWith(matrix.platform, 'msvc') }} - run: source '${{github.workspace}}/CI/install_vcpkg_dependencies.sh' '${{matrix.platform}}' - - # ensure the ccache for each PR is separate so they don't interfere with each other - # fall back to ccache of the vcmi/vcmi repo if no PR-specific ccache is found - - name: ccache for PRs - uses: hendrikmuhs/ccache-action@v1.2 - if: ${{ github.event.number != '' }} - with: - key: ${{ matrix.preset }}-PR-${{ github.event.number }} - restore-keys: | - ${{ matrix.preset }}-PR-${{ github.event.number }} - ${{ matrix.preset }}-no-PR - # actual cache takes up less space, at most ~1 GB - max-size: "5G" - verbose: 2 - - - name: ccache for everything but PRs - uses: hendrikmuhs/ccache-action@v1.2 - if: ${{ (github.repository == 'vcmi/vcmi' && github.event.number == '' && (github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/beta' || github.ref == 'refs/heads/master')) || github.repository != 'vcmi/vcmi' }} - with: - key: ${{ matrix.preset }}-no-PR - restore-keys: | - ${{ matrix.preset }}-no-PR - # actual cache takes up less space, at most ~1 GB - max-size: "5G" - verbose: 2 - - - name: Prepare Heroes 3 data - env: - HEROES_3_DATA_PASSWORD: ${{ secrets.HEROES_3_DATA_PASSWORD }} - if: ${{ env.HEROES_3_DATA_PASSWORD != '' && matrix.test == 1 }} - run: | - if [[ ${{github.repository_owner}} == vcmi ]] - then - data_url="https://github.com/vcmi-mods/vcmi-test-data/releases/download/v1.0/h3_assets.zip" - else - data_url="https://github.com/${{github.repository_owner}}/vcmi-test-data/releases/download/v1.0/h3_assets.zip" - fi - wget --progress=dot:giga "$data_url" -O h3_assets.zip - 7za x h3_assets.zip -p$HEROES_3_DATA_PASSWORD - mkdir -p ~/.local/share/vcmi/ - mv h3_assets/* ~/.local/share/vcmi/ - - - name: Install Conan - if: "${{ matrix.conan_profile != '' }}" - run: pipx install 'conan<2.0' - - - name: Install Conan profile - if: "${{ matrix.conan_profile != '' }}" - run: | - conan profile new default --detect - conan install . \ - --install-folder=conan-generated \ - --no-imports \ - --build=never \ - --profile:build=default \ - --profile:host=CI/conan/${{ matrix.conan_profile }} \ - ${{ matrix.conan_options }} - env: - GENERATE_ONLY_BUILT_CONFIG: 1 - - # Workaround for gradle not discovering SDK that was installed via conan - - name: Find Android NDK - if: ${{ startsWith(matrix.platform, 'android') }} - run: sudo ln -s -T /home/runner/.conan/data/android-ndk/r25c/_/_/package/4db1be536558d833e52e862fd84d64d75c2b3656/bin /usr/local/lib/android/sdk/ndk/25.2.9519653 - - - name: Install Java - uses: actions/setup-java@v4 - if: ${{ startsWith(matrix.platform, 'android') }} - with: - distribution: 'temurin' - java-version: '11' - - # a hack to build ID for x64 build in order for Google Play to allow upload of both 32 and 64 bit builds - - name: Bump Android x64 build ID - if: ${{ matrix.platform == 'android-64' }} - run: perl -i -pe 's/versionCode (\d+)/$x=$1+1; "versionCode $x"/e' android/vcmi-app/build.gradle - - - name: Build Number - run: | - source '${{github.workspace}}/CI/get_package_name.sh' - if [ '${{ matrix.artifact_platform }}' ]; then - VCMI_PACKAGE_FILE_NAME+="-${{ matrix.artifact_platform }}" - fi - echo VCMI_PACKAGE_FILE_NAME="$VCMI_PACKAGE_FILE_NAME" >> $GITHUB_ENV - echo VCMI_PACKAGE_NAME_SUFFIX="$VCMI_PACKAGE_NAME_SUFFIX" >> $GITHUB_ENV - echo VCMI_PACKAGE_GOLDMASTER="$VCMI_PACKAGE_GOLDMASTER" >> $GITHUB_ENV - env: - PULL_REQUEST: ${{ github.event.pull_request.number }} - - - name: Configure - run: | - if [[ ${{matrix.preset}} == linux-gcc-test ]] - then - cmake -DENABLE_CCACHE:BOOL=ON -DCMAKE_C_COMPILER=gcc-14 -DCMAKE_CXX_COMPILER=g++-14 --preset ${{ matrix.preset }} - elif [[ (${{matrix.preset}} == android-conan-ninja-release) && (${{github.ref}} != 'refs/heads/master') ]] - then - cmake -DENABLE_CCACHE:BOOL=ON -DANDROID_GRADLE_PROPERTIES="applicationIdSuffix=.daily;signingConfig=dailySigning;applicationLabel=VCMI daily" --preset ${{ matrix.preset }} - elif [[ ${{startsWith(matrix.platform, 'msvc') }} ]] - then - cmake --preset ${{ matrix.preset }} - else - cmake -DENABLE_CCACHE:BOOL=ON --preset ${{ matrix.preset }} - fi - - - name: Build - run: | - cmake --build --preset ${{matrix.preset}} - env: - ANDROID_STORE_PASSWORD: ${{ secrets.ANDROID_STORE_PASSWORD }} - ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }} - - - name: Test - env: - HEROES_3_DATA_PASSWORD: ${{ secrets.HEROES_3_DATA_PASSWORD }} - if: ${{ env.HEROES_3_DATA_PASSWORD != '' && matrix.test == 1 }} - run: | - ctest --preset ${{matrix.preset}} - - - name: Kill XProtect to work around CPack issue on macOS - if: ${{ startsWith(matrix.platform, 'mac') }} - run: | - # Cf. https://github.com/actions/runner-images/issues/7522#issuecomment-1556766641 - echo Killing...; sudo pkill -9 XProtect >/dev/null || true; - echo "Waiting..."; counter=0; while pgrep XProtect && ((counter < 20)); do sleep 3; ((counter++)); done - pgrep XProtect || true - - - name: Pack - id: cpack - if: ${{ matrix.pack == 1 }} - run: | - cd '${{github.workspace}}/out/build/${{matrix.preset}}' - - # Workaround for CPack bug on macOS 13 - counter=0 - until cpack -C ${{matrix.pack_type}} || ((counter > 20)); do - sleep 3 - ((counter++)) - done - rm -rf _CPack_Packages - - - name: Artifacts - if: ${{ matrix.pack == 1 }} - uses: actions/upload-artifact@v4 - with: - name: ${{ env.VCMI_PACKAGE_FILE_NAME }} - ${{ matrix.platform }} - compression-level: 0 - path: | - ${{github.workspace}}/out/build/${{matrix.preset}}/${{ env.VCMI_PACKAGE_FILE_NAME }}.${{ matrix.extension }} - - - name: Find Android package - if: ${{ startsWith(matrix.platform, 'android') }} - run: | - builtApkPath="$(ls ${{ github.workspace }}/out/build/${{ matrix.preset }}/android-build/vcmi-app/build/outputs/apk/release/*.${{ matrix.extension }})" - builtAabPath="$(ls ${{ github.workspace }}/out/build/${{ matrix.preset }}/android-build/vcmi-app/build/outputs/bundle/release/*.aab)" - ANDROID_APK_PATH="${{ github.workspace }}/$VCMI_PACKAGE_FILE_NAME.${{ matrix.extension }}" - ANDROID_AAB_PATH="${{ github.workspace }}/$VCMI_PACKAGE_FILE_NAME.aab" - mv "$builtApkPath" "$ANDROID_APK_PATH" - mv "$builtAabPath" "$ANDROID_AAB_PATH" - echo "ANDROID_APK_PATH=$ANDROID_APK_PATH" >> $GITHUB_ENV - echo "ANDROID_AAB_PATH=$ANDROID_AAB_PATH" >> $GITHUB_ENV - - - name: Upload android apk artifacts - if: ${{ startsWith(matrix.platform, 'android') }} - uses: actions/upload-artifact@v4 - with: - name: ${{ env.VCMI_PACKAGE_FILE_NAME }} - ${{ matrix.platform }} - compression-level: 0 - path: | - ${{ env.ANDROID_APK_PATH }} - - - name: Upload Android aab artifacts - if: ${{ startsWith(matrix.platform, 'android') && github.ref == 'refs/heads/master' }} - uses: actions/upload-artifact@v4 - with: - name: ${{ env.VCMI_PACKAGE_FILE_NAME }} - ${{ matrix.platform }} - aab - compression-level: 0 - path: | - ${{ env.ANDROID_AAB_PATH }} - - - name: Upload debug symbols - if: ${{ startsWith(matrix.platform, 'msvc') }} - uses: actions/upload-artifact@v4 - with: - name: ${{ env.VCMI_PACKAGE_FILE_NAME }} - ${{ matrix.platform }} - symbols - compression-level: 9 - path: | - ${{github.workspace}}/**/*.pdb - - - name: Upload build - if: ${{ (matrix.upload == 1) && (github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/beta' || github.ref == 'refs/heads/master') }} - continue-on-error: true - run: | - if [ -z '${{ env.ANDROID_APK_PATH }}' ] ; then - cd '${{github.workspace}}/out/build/${{matrix.preset}}' - fi - source '${{github.workspace}}/CI/upload_package.sh' - env: - DEPLOY_RSA: ${{ secrets.DEPLOY_RSA }} - PACKAGE_EXTENSION: ${{ matrix.extension }} - - deploy-src: - if: always() && github.ref == 'refs/heads/master' - runs-on: ubuntu-latest - defaults: - run: - shell: bash - steps: - - uses: actions/checkout@v4 - with: - submodules: recursive - - - name: Build Number - run: | - source '${{github.workspace}}/CI/get_package_name.sh' - echo VCMI_PACKAGE_FILE_NAME="$VCMI_PACKAGE_FILE_NAME" >> $GITHUB_ENV - - - name: Create source code archive (including submodules) - run: | - git archive HEAD -o "release.tar" --worktree-attributes -v - git submodule update --init --recursive - git submodule --quiet foreach 'cd "$toplevel"; tar -rvf "release.tar" "$sm_path"' - gzip release.tar - - - name: Upload source code archive - uses: actions/upload-artifact@v4 - with: - name: ${{ env.VCMI_PACKAGE_FILE_NAME }} - path: | - ./release.tar.gz - validate-code: if: always() runs-on: ubuntu-24.04 @@ -402,3 +34,13 @@ jobs: run: | sudo apt install python3-jstyleson python3 CI/validate_json.py + + - name: Validate Markdown + uses: DavidAnson/markdownlint-cli2-action@v18 + with: + config: 'CI/example.markdownlint-cli2.jsonc' + fix: true + globs: '**/*.md' + + - name Commit Changes + uses: stefanzweifel/git-auto-commit-action@v5 \ No newline at end of file diff --git a/CI/example.markdownlint-cli2.jsonc b/CI/example.markdownlint-cli2.jsonc new file mode 100644 index 00000000000..8475b480cc9 --- /dev/null +++ b/CI/example.markdownlint-cli2.jsonc @@ -0,0 +1,285 @@ +{ + "config" : { + "default" : false, + + // MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md001.md + "MD001": false, + + // MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md010.md + "MD010": { + // Include code blocks + "code_blocks": false, + // Fenced code languages to ignore + "ignore_code_languages": [], + // Number of spaces for each hard tab + "spaces_per_tab": 4 + }, + + // MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md024.md + "MD024": { + // Only check sibling headings + "allow_different_nesting": true, + // Only check sibling headings + "siblings_only": true + }, + + // MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md026.md + "MD026": { + // Punctuation characters + "punctuation": ".,;:!。,;:!" + }, + + // MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md030.md + "MD030": { + // Spaces for single-line unordered list items + "ul_single": 1, + // Spaces for single-line ordered list items + "ol_single": 1, + // Spaces for multi-line unordered list items + "ul_multi": 1, + // Spaces for multi-line ordered list items + "ol_multi": 1 + }, + + // MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md031.md + "MD031": { + // Include list items + "list_items": false + }, + + // MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md032.md + "MD032": true, + + // MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md047.md + "MD047": true, + + // MD058 - Tables should be surrounded by blank lines + "MD058" : true + }, + + "configUnused" : { + // MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md003.md + "MD003": { + "style": "atx" + }, + + // MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md004.md + "MD004": { + "style": "consistent" + }, + + // MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md005.md + "MD005": true, + + // MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md007.md + "MD007": { + // Spaces for indent + "indent": 2, + // Whether to indent the first level of the list + "start_indented": false, + // Spaces for first level indent (when start_indented is set) + "start_indent": 0 + }, + + // MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md009.md + "MD009": { + // Spaces for line break + "br_spaces": 2, + // Allow spaces for empty lines in list items + "list_item_empty_lines": false, + // Include unnecessary breaks + "strict": false + }, + + // MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md011.md + "MD011": true, + + // MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md012.md + "MD012": { + // Consecutive blank lines + "maximum": 1 + }, + + // MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md013.md + "MD013": false, + // "MD013": { + // // Number of characters + // "line_length": 8000, + // // Number of characters for headings + // "heading_line_length": 8000, + // // Number of characters for code blocks + // "code_block_line_length": 8000, + // // Include code blocks + // "code_blocks": true, + // // Include tables + // "tables": true, + // // Include headings + // "headings": true, + // // Strict length checking + // "strict": false, + // // Stern length checking + // "stern": false + // }, + + // MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md014.md + "MD014": true, + + // MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md018.md + "MD018": true, + + // MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md019.md + "MD019": true, + + // MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md020.md + "MD020": true, + + // MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md021.md + "MD021": true, + + // MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md022.md + "MD022": { + // Blank lines above heading + "lines_above": 1, + // Blank lines below heading + "lines_below": 1 + }, + + // MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md023.md + "MD023": true, + + // MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md025.md + "MD025": { + // Heading level + "level": 1, + // RegExp for matching title in front matter + "front_matter_title": "^\\s*title\\s*[:=]" + }, + + // MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md027.md + "MD027": true, + + // MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md028.md + "MD028": true, + + // MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md029.md + "MD029": { + // List style + "style": "ordered" + }, + + // MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md033.md + "MD033": { + // Allowed elements + "allowed_elements": [] + }, + + // MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md034.md + "MD034": true, + + // MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md035.md + "MD035": { + // Horizontal rule style + "style": "consistent" + }, + + // MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md036.md + "MD036": { + // Punctuation characters + "punctuation": ".,;:!?。,;:!?" + }, + + // MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md037.md + "MD037": true, + + // MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md038.md + "MD038": true, + + // MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md039.md + "MD039": true, + + // MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md040.md + "MD040": { + // List of languages + "allowed_languages": [ "cpp", "json", "jsonc", "json5" ], + // Require language only + "language_only": true + }, + + // MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md041.md + "MD041": { + // Heading level + "level": 1, + // RegExp for matching title in front matter + "front_matter_title": "^\\s*title\\s*[:=]" + }, + + // MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md042.md + "MD042": true, + + // MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md043.md + "MD043": false, + + // MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md044.md + "MD044": false, + + // MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md045.md + "MD045": false, + + // MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md046.md + "MD046": { + // Block style + "style": "fenced" + }, + + // MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md048.md + "MD048": { + // Code fence style + "style": "backtick " + }, + + // MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md049.md + "MD049": { + // Emphasis style + "style": "asterisk" + }, + + // MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md050.md + "MD050": { + // Strong style + "style": "asterisk" + }, + + // MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md051.md + "MD051": true, + + // MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md052.md + "MD052": { + // Include shortcut syntax + "shortcut_syntax": false + }, + + // MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md053.md + "MD053": { + // Ignored definitions + "ignored_definitions": [ + "//" + ] + }, + + // MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md054.md + "MD054": { + // Allow autolinks + "autolink": true, + // Allow inline links and images + "inline": true, + // Allow full reference links and images + "full": true, + // Allow collapsed reference links and images + "collapsed": true, + // Allow shortcut reference links and images + "shortcut": true, + // Allow URLs as inline links + "url_inline": true + } + } +} \ No newline at end of file