discord-markdown-py 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. discord_markdown_py-0.1.0/.cargo/config.toml +5 -0
  2. discord_markdown_py-0.1.0/.github/workflows/ci.yaml +106 -0
  3. discord_markdown_py-0.1.0/.github/workflows/publish-python.yaml +85 -0
  4. discord_markdown_py-0.1.0/.github/workflows/release.yaml +64 -0
  5. discord_markdown_py-0.1.0/.gitignore +6 -0
  6. discord_markdown_py-0.1.0/.prettierignore +4 -0
  7. discord_markdown_py-0.1.0/.zed/settings.json +16 -0
  8. discord_markdown_py-0.1.0/Cargo.lock +2685 -0
  9. discord_markdown_py-0.1.0/Cargo.toml +47 -0
  10. discord_markdown_py-0.1.0/LICENSE +8 -0
  11. discord_markdown_py-0.1.0/PKG-INFO +5 -0
  12. discord_markdown_py-0.1.0/README.md +57 -0
  13. discord_markdown_py-0.1.0/benches/block.rs +58 -0
  14. discord_markdown_py-0.1.0/biome.json +30 -0
  15. discord_markdown_py-0.1.0/ffi/py/Cargo.toml +11 -0
  16. discord_markdown_py-0.1.0/ffi/py/src/lib.rs +35 -0
  17. discord_markdown_py-0.1.0/lib/java/.gitignore +42 -0
  18. discord_markdown_py-0.1.0/lib/java/.run/Cargo Build - Release.run.xml +17 -0
  19. discord_markdown_py-0.1.0/lib/java/.run/Cargo Build.run.xml +17 -0
  20. discord_markdown_py-0.1.0/lib/java/.run/Test - Debug.run.xml +11 -0
  21. discord_markdown_py-0.1.0/lib/java/.run/Test - Release.run.xml +11 -0
  22. discord_markdown_py-0.1.0/lib/java/build.gradle.kts +19 -0
  23. discord_markdown_py-0.1.0/lib/java/gradle/wrapper/gradle-wrapper.jar +0 -0
  24. discord_markdown_py-0.1.0/lib/java/gradle/wrapper/gradle-wrapper.properties +6 -0
  25. discord_markdown_py-0.1.0/lib/java/gradlew +234 -0
  26. discord_markdown_py-0.1.0/lib/java/gradlew.bat +89 -0
  27. discord_markdown_py-0.1.0/lib/java/settings.gradle.kts +2 -0
  28. discord_markdown_py-0.1.0/lib/java/src/main/java/com/discord/markdown/Parser.java +9 -0
  29. discord_markdown_py-0.1.0/lib/java/src/test/java/Test.java +59 -0
  30. discord_markdown_py-0.1.0/lib/kotlin/Block.kt +31 -0
  31. discord_markdown_py-0.1.0/lib/kotlin/Inline.kt +0 -0
  32. discord_markdown_py-0.1.0/lib/node/README.md +15 -0
  33. discord_markdown_py-0.1.0/lib/node/bench.js +28 -0
  34. discord_markdown_py-0.1.0/lib/node/build.js +13 -0
  35. discord_markdown_py-0.1.0/lib/node/dist/darwin-arm64/package.json +9 -0
  36. discord_markdown_py-0.1.0/lib/node/dist/darwin-x64/package.json +9 -0
  37. discord_markdown_py-0.1.0/lib/node/dist/linux-x64/package.json +9 -0
  38. discord_markdown_py-0.1.0/lib/node/dist/win32-x64/package.json +9 -0
  39. discord_markdown_py-0.1.0/lib/node/package.json +26 -0
  40. discord_markdown_py-0.1.0/lib/node/src/index.js +7 -0
  41. discord_markdown_py-0.1.0/lib/node/test.js +71 -0
  42. discord_markdown_py-0.1.0/lib/py/README.md +23 -0
  43. discord_markdown_py-0.1.0/lib/py/test.py +3 -0
  44. discord_markdown_py-0.1.0/lib/react/.gitignore +2 -0
  45. discord_markdown_py-0.1.0/lib/react/.swcrc +20 -0
  46. discord_markdown_py-0.1.0/lib/react/README.md +36 -0
  47. discord_markdown_py-0.1.0/lib/react/package.json +34 -0
  48. discord_markdown_py-0.1.0/lib/react/src/index.d.ts +138 -0
  49. discord_markdown_py-0.1.0/lib/react/src/index.jsx +158 -0
  50. discord_markdown_py-0.1.0/lib/react/test/basic.test.jsx +150 -0
  51. discord_markdown_py-0.1.0/lib/react/vitest.config.js +13 -0
  52. discord_markdown_py-0.1.0/lib/react/vitest.setup.js +6 -0
  53. discord_markdown_py-0.1.0/lib/types/index.d.ts +135 -0
  54. discord_markdown_py-0.1.0/lib/types/package.json +9 -0
  55. discord_markdown_py-0.1.0/lib/wasm/README.md +19 -0
  56. discord_markdown_py-0.1.0/lib/wasm/package.json +45 -0
  57. discord_markdown_py-0.1.0/lib/wasm/src/index.bench.js +18 -0
  58. discord_markdown_py-0.1.0/lib/wasm/src/index.d.ts +3 -0
  59. discord_markdown_py-0.1.0/lib/wasm/src/index.js +29 -0
  60. discord_markdown_py-0.1.0/lib/wasm/src/init.js +21 -0
  61. discord_markdown_py-0.1.0/lib/wasm/src/iter.test.js +92 -0
  62. discord_markdown_py-0.1.0/lib/wasm/src/parse/async/messages.js +33 -0
  63. discord_markdown_py-0.1.0/lib/wasm/src/parse/async/worker.js +24 -0
  64. discord_markdown_py-0.1.0/lib/wasm/src/parse/async.d.ts +7 -0
  65. discord_markdown_py-0.1.0/lib/wasm/src/parse/async.js +45 -0
  66. discord_markdown_py-0.1.0/lib/wasm/src/parse/async.test.js +69 -0
  67. discord_markdown_py-0.1.0/lib/wasm/src/parse/sync.d.ts +3 -0
  68. discord_markdown_py-0.1.0/lib/wasm/src/parse/sync.js +8 -0
  69. discord_markdown_py-0.1.0/lib/wasm/src/parse/sync.test.js +69 -0
  70. discord_markdown_py-0.1.0/lib/wasm/vitest.config.js +12 -0
  71. discord_markdown_py-0.1.0/package.json +13 -0
  72. discord_markdown_py-0.1.0/packages/confusables/Cargo.toml +12 -0
  73. discord_markdown_py-0.1.0/packages/confusables/README.md +5 -0
  74. discord_markdown_py-0.1.0/packages/confusables/build.rs +84 -0
  75. discord_markdown_py-0.1.0/packages/confusables/src/lib.rs +16 -0
  76. discord_markdown_py-0.1.0/packages/emoji/Cargo.toml +13 -0
  77. discord_markdown_py-0.1.0/packages/emoji/README.md +3 -0
  78. discord_markdown_py-0.1.0/packages/emoji/build.rs +85 -0
  79. discord_markdown_py-0.1.0/packages/emoji/src/lib.rs +11 -0
  80. discord_markdown_py-0.1.0/packages/variant-struct/Cargo.toml +12 -0
  81. discord_markdown_py-0.1.0/packages/variant-struct/src/lib.rs +148 -0
  82. discord_markdown_py-0.1.0/pnpm-lock.yaml +4023 -0
  83. discord_markdown_py-0.1.0/pnpm-workspace.yaml +17 -0
  84. discord_markdown_py-0.1.0/pyproject.toml +13 -0
  85. discord_markdown_py-0.1.0/rustfmt.toml +2 -0
  86. discord_markdown_py-0.1.0/site/.gitignore +13 -0
  87. discord_markdown_py-0.1.0/site/package.json +27 -0
  88. discord_markdown_py-0.1.0/site/public/.gitkeep +0 -0
  89. discord_markdown_py-0.1.0/site/public/_headers +3 -0
  90. discord_markdown_py-0.1.0/site/rsbuild.config.ts +20 -0
  91. discord_markdown_py-0.1.0/site/src/App.tsx +36 -0
  92. discord_markdown_py-0.1.0/site/src/components/Duration.tsx +4 -0
  93. discord_markdown_py-0.1.0/site/src/env.d.ts +1 -0
  94. discord_markdown_py-0.1.0/site/src/index.tsx +13 -0
  95. discord_markdown_py-0.1.0/site/src/render/Component.tsx +56 -0
  96. discord_markdown_py-0.1.0/site/src/render/Raw.tsx +35 -0
  97. discord_markdown_py-0.1.0/site/src/render/nodes/block.tsx +36 -0
  98. discord_markdown_py-0.1.0/site/src/render/nodes/inline.tsx +122 -0
  99. discord_markdown_py-0.1.0/site/tsconfig.json +23 -0
  100. discord_markdown_py-0.1.0/src/block/heading.rs +157 -0
  101. discord_markdown_py-0.1.0/src/block/list/item.rs +142 -0
  102. discord_markdown_py-0.1.0/src/block/list.rs +439 -0
  103. discord_markdown_py-0.1.0/src/block/quote.rs +155 -0
  104. discord_markdown_py-0.1.0/src/block/small.rs +88 -0
  105. discord_markdown_py-0.1.0/src/block.rs +251 -0
  106. discord_markdown_py-0.1.0/src/context/matched_pairs.rs +72 -0
  107. discord_markdown_py-0.1.0/src/context/rule.rs +118 -0
  108. discord_markdown_py-0.1.0/src/context/rule_set.rs +80 -0
  109. discord_markdown_py-0.1.0/src/context/start_sequence.rs +41 -0
  110. discord_markdown_py-0.1.0/src/context/terminal_sequence.rs +91 -0
  111. discord_markdown_py-0.1.0/src/context.rs +221 -0
  112. discord_markdown_py-0.1.0/src/grammar/global_terminal_sequence.rs +78 -0
  113. discord_markdown_py-0.1.0/src/grammar/override_terminal_sequence.rs +61 -0
  114. discord_markdown_py-0.1.0/src/grammar/start_sequence.rs +81 -0
  115. discord_markdown_py-0.1.0/src/grammar/terminal_sequence.rs +70 -0
  116. discord_markdown_py-0.1.0/src/grammar.rs +246 -0
  117. discord_markdown_py-0.1.0/src/inline/bold.rs +142 -0
  118. discord_markdown_py-0.1.0/src/inline/code.rs +98 -0
  119. discord_markdown_py-0.1.0/src/inline/code_block.rs +143 -0
  120. discord_markdown_py-0.1.0/src/inline/emoji/colon_delimited.rs +90 -0
  121. discord_markdown_py-0.1.0/src/inline/emoji/custom.rs +70 -0
  122. discord_markdown_py-0.1.0/src/inline/emoji/emoji-test.txt +5325 -0
  123. discord_markdown_py-0.1.0/src/inline/emoji/unicode.rs +295 -0
  124. discord_markdown_py-0.1.0/src/inline/emoji.rs +153 -0
  125. discord_markdown_py-0.1.0/src/inline/italic.rs +183 -0
  126. discord_markdown_py-0.1.0/src/inline/link/auto.rs +103 -0
  127. discord_markdown_py-0.1.0/src/inline/link/detection.rs +252 -0
  128. discord_markdown_py-0.1.0/src/inline/link/masked/link.rs +98 -0
  129. discord_markdown_py-0.1.0/src/inline/link/masked/text.rs +175 -0
  130. discord_markdown_py-0.1.0/src/inline/link/masked.rs +327 -0
  131. discord_markdown_py-0.1.0/src/inline/link/mention.rs +604 -0
  132. discord_markdown_py-0.1.0/src/inline/link.rs +450 -0
  133. discord_markdown_py-0.1.0/src/inline/mention/command.rs +147 -0
  134. discord_markdown_py-0.1.0/src/inline/mention.rs +276 -0
  135. discord_markdown_py-0.1.0/src/inline/spoiler.rs +101 -0
  136. discord_markdown_py-0.1.0/src/inline/strikethrough.rs +81 -0
  137. discord_markdown_py-0.1.0/src/inline/text.rs +208 -0
  138. discord_markdown_py-0.1.0/src/inline/timestamp/style.rs +101 -0
  139. discord_markdown_py-0.1.0/src/inline/timestamp.rs +119 -0
  140. discord_markdown_py-0.1.0/src/inline/underline.rs +93 -0
  141. discord_markdown_py-0.1.0/src/inline.rs +378 -0
  142. discord_markdown_py-0.1.0/src/input.rs +233 -0
  143. discord_markdown_py-0.1.0/src/lib.rs +226 -0
  144. discord_markdown_py-0.1.0/src/macros.rs +293 -0
  145. discord_markdown_py-0.1.0/src/node/iter.rs +27 -0
  146. discord_markdown_py-0.1.0/src/node.rs +284 -0
  147. discord_markdown_py-0.1.0/src/rule.rs +155 -0
  148. discord_markdown_py-0.1.0/src/span.rs +217 -0
  149. discord_markdown_py-0.1.0/src/test_utils.rs +11 -0
  150. discord_markdown_py-0.1.0/src/unparse.rs +29 -0
  151. discord_markdown_py-0.1.0/src/util.rs +97 -0
  152. discord_markdown_py-0.1.0/test_content/ddevs_announcement/content.md +28 -0
  153. discord_markdown_py-0.1.0/test_content/ddevs_announcement/result.json +594 -0
  154. discord_markdown_py-0.1.0/test_content/discordjs_announcement/content.md +23 -0
  155. discord_markdown_py-0.1.0/test_content/discordjs_announcement/result.json +342 -0
  156. discord_markdown_py-0.1.0/test_content/helldivers_announcement/content.md +6 -0
  157. discord_markdown_py-0.1.0/test_content/helldivers_announcement/result.json +90 -0
@@ -0,0 +1,5 @@
1
+ [target.aarch64-unknown-linux-musl]
2
+ linker = "aarch64-linux-musl-gcc"
3
+ rustflags = ["-C", "target-feature=-crt-static"]
4
+ [target.x86_64-pc-windows-msvc]
5
+ rustflags = ["-C", "target-feature=+crt-static"]
@@ -0,0 +1,106 @@
1
+ name: Build
2
+
3
+ on:
4
+ push:
5
+ branches: ["main"]
6
+ pull_request:
7
+ branches: ["main"]
8
+
9
+ env:
10
+ CARGO_TERM_COLOR: always
11
+
12
+ jobs:
13
+ test_rust:
14
+ runs-on: ubuntu-latest
15
+
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+ - name: Update Rust
19
+ run: rustup update stable && rustup default stable
20
+ - name: Test
21
+ run: cargo test --release
22
+
23
+ fuzz_rust_crash:
24
+ runs-on: ubuntu-latest
25
+
26
+ steps:
27
+ - uses: actions/checkout@v4
28
+ - name: Update Rust
29
+ run: rustup update stable && rustup default stable
30
+ - name: Install system dependencies
31
+ run: sudo apt-get install build-essential binutils-dev libunwind-dev libblocksruntime-dev liblzma-dev
32
+ - name: Install hfuzz
33
+ run: cd fuzz && cargo install honggfuzz --version 0.5.57 && cd -
34
+ - name: Fuzz
35
+ run: cd fuzz && HFUZZ_RUN_ARGS="--run_time 30 --timeout 3 --verifier --only_printable --crashdir ./hfuzz_workspace/crashes" cargo hfuzz run crash && cd -
36
+ - name: Show crash files
37
+ continue-on-error: true
38
+ run: head -n-0 fuzz/hfuzz_workspace/crashes/*
39
+ - name: Show report
40
+ run: "! [ -f fuzz/hfuzz_workspace/crash/HONGGFUZZ.REPORT.TXT ] || ! cat fuzz/hfuzz_workspace/crash/HONGGFUZZ.REPORT.TXT"
41
+
42
+ fuzz_rust_timeout:
43
+ runs-on: ubuntu-latest
44
+
45
+ steps:
46
+ - uses: actions/checkout@v4
47
+ - name: Update Rust
48
+ run: rustup update stable && rustup default stable
49
+ - name: Install system dependencies
50
+ run: sudo apt-get install build-essential binutils-dev libunwind-dev libblocksruntime-dev liblzma-dev
51
+ - name: Install hfuzz
52
+ run: cd fuzz && cargo install honggfuzz --version 0.5.57 && cd -
53
+ - name: Fuzz
54
+ run: cd fuzz && HFUZZ_RUN_ARGS="--run_time 30 --timeout 10 --verifier --only_printable --crashdir ./hfuzz_workspace/crashes" cargo hfuzz run timeout && cd -
55
+ - name: Show crash files
56
+ continue-on-error: true
57
+ run: head -n-0 fuzz/hfuzz_workspace/crashes/*
58
+ - name: Show report
59
+ run: "! [ -f fuzz/hfuzz_workspace/timeout/HONGGFUZZ.REPORT.TXT ] || ! cat fuzz/hfuzz_workspace/timeout/HONGGFUZZ.REPORT.TXT"
60
+
61
+ test_js:
62
+ runs-on: ubuntu-latest
63
+
64
+ steps:
65
+ - uses: actions/checkout@v4
66
+ - name: Update Rust
67
+ run: rustup update stable && rustup default stable
68
+ - uses: actions/setup-node@v4
69
+ with:
70
+ node-version: latest
71
+ - uses: pnpm/action-setup@v4
72
+ with:
73
+ version: 10
74
+ run_install: true
75
+ - uses: jetli/wasm-pack-action@v0.4.0
76
+ with:
77
+ version: latest
78
+ - name: Install Playwright browsers
79
+ run: pnpm exec playwright install --with-deps chromium
80
+ - run: pnpm -r build
81
+ - run: pnpm -r test
82
+
83
+ check_js:
84
+ runs-on: ubuntu-latest
85
+
86
+ steps:
87
+ - uses: actions/checkout@v4
88
+ - uses: actions/setup-node@v4
89
+ with:
90
+ node-version: latest
91
+ - uses: pnpm/action-setup@v4
92
+ with:
93
+ version: 10
94
+ run_install: true
95
+ - name: Run Biome
96
+ run: pnpm biome ci --verbose .
97
+
98
+ check_rust:
99
+ runs-on: ubuntu-latest
100
+
101
+ steps:
102
+ - uses: actions/checkout@v4
103
+ - name: Update Rust
104
+ run: rustup update stable && rustup default stable
105
+ - name: Check
106
+ run: cargo fmt --check
@@ -0,0 +1,85 @@
1
+ name: Publish Python
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ publish:
7
+ required: true
8
+ type: boolean
9
+ default: false
10
+ description: "Publish to PyPI? (unchecked = dry-run / twine check only)"
11
+
12
+ concurrency:
13
+ group: publish-python
14
+ cancel-in-progress: false
15
+
16
+ jobs:
17
+ build-wheels:
18
+ runs-on: ubuntu-latest
19
+ strategy:
20
+ fail-fast: false
21
+ matrix:
22
+ target: [x86_64, aarch64]
23
+ steps:
24
+ - uses: actions/checkout@v4
25
+
26
+ - uses: actions/setup-python@v5
27
+ with:
28
+ python-version: "3.12"
29
+
30
+ - name: Build wheels (${{ matrix.target }})
31
+ uses: PyO3/maturin-action@v1
32
+ with:
33
+ target: ${{ matrix.target }}
34
+ manylinux: auto
35
+ working-directory: ffi/py
36
+ args: --release --out dist
37
+
38
+ - uses: actions/upload-artifact@v4
39
+ with:
40
+ name: wheels-${{ matrix.target }}
41
+ path: ffi/py/dist/
42
+
43
+ build-sdist:
44
+ runs-on: ubuntu-latest
45
+ steps:
46
+ - uses: actions/checkout@v4
47
+
48
+ - name: Build sdist
49
+ uses: PyO3/maturin-action@v1
50
+ with:
51
+ command: sdist
52
+ working-directory: ffi/py
53
+ args: --out dist
54
+
55
+ - uses: actions/upload-artifact@v4
56
+ with:
57
+ name: sdist
58
+ path: ffi/py/dist/
59
+
60
+ publish:
61
+ needs: [build-wheels, build-sdist]
62
+ runs-on: ubuntu-latest
63
+ environment: pypi
64
+ permissions:
65
+ id-token: write
66
+ steps:
67
+ - uses: actions/download-artifact@v4
68
+ with:
69
+ path: dist
70
+ merge-multiple: true
71
+
72
+ - name: List built distributions
73
+ run: ls -la dist/
74
+
75
+ - name: Validate distributions (dry-run)
76
+ if: ${{ !inputs.publish }}
77
+ run: |
78
+ python -m pip install --upgrade twine
79
+ twine check dist/*
80
+
81
+ - name: Publish to PyPI
82
+ if: inputs.publish
83
+ uses: pypa/gh-action-pypi-publish@release/v1
84
+ with:
85
+ packages-dir: dist/
@@ -0,0 +1,64 @@
1
+ name: Release
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ publish:
7
+ required: true
8
+ type: boolean
9
+ description: "Publish to NPM?"
10
+ package:
11
+ required: true
12
+ type: choice
13
+ options:
14
+ - lib/types
15
+ - lib/wasm
16
+ - lib/react
17
+ description: "Package path to publish"
18
+ tag:
19
+ required: false
20
+ type: string
21
+ default: "latest"
22
+ description: "NPM version tag"
23
+
24
+ jobs:
25
+ release:
26
+ runs-on: ubuntu-latest
27
+
28
+ steps:
29
+ - uses: actions/checkout@v4
30
+
31
+ - name: Update Rust
32
+ run: rustup update stable && rustup default stable
33
+
34
+ - uses: actions/setup-node@v4
35
+ with:
36
+ node-version: latest
37
+ registry-url: https://registry.npmjs.org
38
+ scope: "@discord"
39
+
40
+ - uses: pnpm/action-setup@v4
41
+ with:
42
+ version: 10
43
+ run_install: true
44
+
45
+ - uses: jetli/wasm-pack-action@v0.4.0
46
+ with:
47
+ version: latest
48
+
49
+ - name: Build web
50
+ run: pnpm --filter "@discord/markdown-wasm" --filter "@discord/markdown-react" build
51
+
52
+ - name: Publish ${{ inputs.package }} (dry run)
53
+ if: ${{ !inputs.publish }}
54
+ run: pnpm publish --access public --tag ${{ inputs.tag }} --no-git-checks --dry-run
55
+ working-directory: ${{ inputs.package }}
56
+ env:
57
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
58
+
59
+ - name: Publish ${{ inputs.package }}
60
+ if: inputs.publish
61
+ run: pnpm publish --access public --tag ${{ inputs.tag }} --no-git-checks
62
+ working-directory: ${{ inputs.package }}
63
+ env:
64
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -0,0 +1,6 @@
1
+ target/
2
+ node_modules/
3
+ .DS_Store
4
+ .idea
5
+ *.node
6
+ *.wasm
@@ -0,0 +1,4 @@
1
+ test_content/
2
+ dist/
3
+ pnpm-lock.yaml
4
+ lib/wasm/src/lib/
@@ -0,0 +1,16 @@
1
+ // Folder-specific settings
2
+ //
3
+ // For a full list of overridable settings, and general information on folder-specific settings,
4
+ // see the documentation: https://zed.dev/docs/configuring-zed#settings-files
5
+ {
6
+ "languages": {
7
+ "JavaScript": { "formatter": { "language_server": { "name": "biome" } } },
8
+ "TypeScript": { "formatter": { "language_server": { "name": "biome" } } },
9
+ "JSX": { "formatter": { "language_server": { "name": "biome" } } },
10
+ "TSX": { "formatter": { "language_server": { "name": "biome" } } },
11
+ "JSON": { "formatter": { "language_server": { "name": "biome" } } },
12
+ "JSONC": { "formatter": { "language_server": { "name": "biome" } } },
13
+ "CSS": { "formatter": { "language_server": { "name": "biome" } } },
14
+ "GraphQL": { "formatter": { "language_server": { "name": "biome" } } }
15
+ }
16
+ }