From 39785437d06631250d74d4acafb051880188a198 Mon Sep 17 00:00:00 2001
From: Shane <6071159+smashedr@users.noreply.github.com>
Date: Sat, 28 Feb 2026 15:44:06 -0800
Subject: [PATCH 1/4] Updates
---
.gitattributes | 4 ++++
.github/actionlint.yaml | 6 ++++++
.github/dependabot.yml | 4 ++--
.github/workflows/lint.yaml | 34 ++++++++++------------------------
.github/workflows/pages.yaml | 15 +++++++--------
.github/yamllint.yaml | 7 +++++++
.gitignore | 6 +++---
.prettierignore | 6 ++----
.prettierrc.json | 6 +++---
README.md | 28 ++++++++++++++++++++--------
docs/clients/android.md | 6 ++++++
docs/clients/browser.md | 9 +++++++++
docs/clients/cli.md | 8 ++++++++
package-lock.json | 14 ++++----------
package.json | 2 +-
15 files changed, 92 insertions(+), 63 deletions(-)
create mode 100644 .gitattributes
create mode 100644 .github/actionlint.yaml
create mode 100644 .github/yamllint.yaml
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..0e7dfa0
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,4 @@
+# Fine-tune GitHub's language detection
+docs/**/*.md linguist-detectable=true
+docs/**/*.md linguist-documentation=false
+.vitepress/config.mts linguist-vendored
diff --git a/.github/actionlint.yaml b/.github/actionlint.yaml
new file mode 100644
index 0000000..447aaa1
--- /dev/null
+++ b/.github/actionlint.yaml
@@ -0,0 +1,6 @@
+paths:
+ .github/workflows/**/*.{yml,yaml}:
+ ignore:
+ - '"inputs" section is alias node but mapping node is expected'
+ - '"paths" section must be sequence node but got alias node with "" tag'
+ - '"paths-ignore" section must be sequence node but got alias node with "" tag'
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index f1af2b4..237d7ba 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -3,11 +3,11 @@ updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
- interval: "weekly"
+ interval: "monthly"
#open-pull-requests-limit: 1
- package-ecosystem: "npm"
directory: "/"
schedule:
- interval: "weekly"
+ interval: "monthly"
#open-pull-requests-limit: 1
diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml
index 8d04499..4c48b00 100644
--- a/.github/workflows/lint.yaml
+++ b/.github/workflows/lint.yaml
@@ -7,16 +7,12 @@ on:
push:
branches: [master]
-concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}
- cancel-in-progress: true
-
jobs:
lint:
name: "Lint"
- if: ${{ !contains(github.event.head_commit.message, '#nolint') }}
runs-on: ubuntu-latest
timeout-minutes: 5
+ if: ${{ !contains(github.event.head_commit.message, '#nolint') }}
steps:
- name: "Checkout"
@@ -47,33 +43,23 @@ jobs:
# run: |
# npm run lint
- - name: "Prettier Check"
+ - name: "prettier"
if: ${{ !cancelled() }}
run: |
npm run prettier:check
- - name: "Yamllint"
+ - name: "yamllint"
if: ${{ !cancelled() }}
env:
- CONFIG: "{extends: relaxed, ignore: [node_modules/], rules: {line-length: {max: 119}}}"
+ CONFIG: .github/yamllint.yaml
run: |
echo "::group::List Files"
- yamllint -d '${{ env.CONFIG }}' --list-files .
+ yamllint -c "${{ env.CONFIG }}" --list-files .
echo "::endgroup::"
- yamllint -d '${{ env.CONFIG }}' .
+ yamllint -c "${{ env.CONFIG }}" .
- - name: "Actionlint"
+ - name: "actionlint"
if: ${{ !cancelled() }}
- run: |
- echo "::group::Download"
- loc=$(curl -sI https://github.com/rhysd/actionlint/releases/latest | grep -i '^location:')
- echo "loc: ${loc}"
- tag=$(echo "${loc}" | sed -E 's|.*/tag/v?(.*)|\1|' | tr -d '\t\r\n')
- echo "tag: ${tag}"
- url="https://github.com/rhysd/actionlint/releases/latest/download/actionlint_${tag}_linux_amd64.tar.gz"
- echo "url: ${url}"
- curl -sL "${url}" | tar xz -C "${RUNNER_TEMP}" actionlint
- file "${RUNNER_TEMP}/actionlint"
- "${RUNNER_TEMP}/actionlint" --version
- echo "::endgroup::"
- "${RUNNER_TEMP}/actionlint" -color -verbose -shellcheck= -pyflakes=
+ uses: cssnr/actionlint-action@v1
+ with:
+ shellcheck_opts: -e SC2129
diff --git a/.github/workflows/pages.yaml b/.github/workflows/pages.yaml
index a0f20ad..ac19adf 100644
--- a/.github/workflows/pages.yaml
+++ b/.github/workflows/pages.yaml
@@ -3,7 +3,7 @@ name: "Pages"
on:
workflow_dispatch:
push:
- branches: [master]
+ branches: ["master"]
paths:
- ".github/workflows/pages.yaml"
- ".vitepress/**"
@@ -15,14 +15,13 @@ env:
purge-domain: ""
concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}
+ group: pages
cancel-in-progress: true
jobs:
build:
name: "Build"
- if: ${{ !contains(github.event.head_commit.message, '#nodeploy') || github.actor != 'dependabot[bot]' }}
-
+ if: ${{ !contains(github.event.head_commit.message, '#nodeploy') }}
uses: cssnr/workflows/.github/workflows/npm-build.yaml@master
permissions:
contents: read
@@ -53,7 +52,7 @@ jobs:
- name: "Send Deploy Notification"
if: ${{ !cancelled() }}
continue-on-error: true
- uses: sarisia/actions-status-discord@v1
+ uses: sarisia/actions-status-discord@eb045afee445dc055c18d3d90bd0f244fd062708 # v1.16.0
with:
webhook: ${{ secrets.DISCORD_WEBHOOK }}
description: ${{ steps.deployment.outputs.page_url }}
@@ -80,9 +79,9 @@ jobs:
crawler_user_id: ${{ secrets.CRAWLER_USER_ID }}
crawler_api_key: ${{ secrets.CRAWLER_API_KEY }}
- - name: "Send Discord Notification"
+ - name: "Send Post-Deploy Notification"
if: ${{ failure() }}
- uses: sarisia/actions-status-discord@v1
+ uses: sarisia/actions-status-discord@eb045afee445dc055c18d3d90bd0f244fd062708 # v1.16.0
with:
webhook: ${{ secrets.DISCORD_WEBHOOK }}
- description: ${{ github.event.repository.html_url }}/actions/runs/${{ github.run_id }}
+ description: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
diff --git a/.github/yamllint.yaml b/.github/yamllint.yaml
new file mode 100644
index 0000000..38237e5
--- /dev/null
+++ b/.github/yamllint.yaml
@@ -0,0 +1,7 @@
+extends: relaxed
+
+ignore-from-file: .gitignore
+
+rules:
+ line-length:
+ max: 119
diff --git a/.gitignore b/.gitignore
index e1caf77..9463438 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,8 @@
.idea/
*.iml
.vscode/
-**/dist/
+cache/
+dist/
build/
node_modules/
-.vitepress/cache
-.vitepress/contributors.json
+contributors.json
diff --git a/.prettierignore b/.prettierignore
index 00f94bb..db82eec 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -1,5 +1,3 @@
-.idea/
-.vscode/
-dist/
-node_modules/
+.github/disabled
+.github/pull_request_template.md
package-lock.json
diff --git a/.prettierrc.json b/.prettierrc.json
index 54a5e0d..70dc83d 100644
--- a/.prettierrc.json
+++ b/.prettierrc.json
@@ -1,5 +1,4 @@
{
- "trailingComma": "es5",
"semi": false,
"singleQuote": true,
"printWidth": 120,
@@ -7,11 +6,12 @@
{
"files": ["**/*.html", "**/*.yaml", "**/*.yml"],
"options": {
- "singleQuote": false
+ "singleQuote": false,
+ "printWidth": 120
}
},
{
- "files": ["**/*.js", "**/*.css", "**/*.scss"],
+ "files": ["**/*.js", "**/*.mjs", "**/*.css", "**/*.scss"],
"options": {
"tabWidth": 4
}
diff --git a/README.md b/README.md
index 8946bbd..0509227 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,15 @@
-[](https://github.com/django-files/django-files.github.io/deployments)
-[](https://github.com/django-files/django-files.github.io/actions/workflows/pages.yaml)
-[](https://github.com/django-files/django-files.github.io/actions/workflows/lint.yaml)
-[](https://github.com/django-files/django-files.github.io/pulse)
-[](https://github.com/django-files/django-files.github.io/graphs/contributors)
-[](https://github.com/django-files/django-files.github.io)
-[](https://github.com/django-files/django-files/discussions)
-[](https://github.com/django-files/django-files/stargazers)
+[](https://github.com/django-files/django-files.github.io/deployments/github-pages)
+[](https://github.com/django-files/django-files.github.io/deployments/dev)
+[](https://github.com/django-files/django-files.github.io/actions/workflows/pages.yaml)
+[](https://github.com/django-files/django-files.github.io/actions/workflows/lint.yaml)
+[](https://github.com/django-files/django-files.github.io/pulse)
+[](https://github.com/django-files/django-files.github.io?tab=readme-ov-file#readme)
+[](https://github.com/django-files/django-files.github.io?tab=readme-ov-file#readme)
+[](https://github.com/django-files/django-files.github.io/graphs/contributors)
+[](https://github.com/django-files/django-files/issues)
+[](https://github.com/django-files/django-files/discussions)
+[](https://github.com/django-files/django-files/forks)
+[](https://github.com/django-files/django-files/stargazers)
[](https://github.com/django-files)
[](https://discord.gg/wXy6m2X8wY)
@@ -46,3 +50,11 @@ The site should now be available at: http://localhost:5173/
- [VitePress CLI Reference](https://vitepress.dev/reference/cli)
- [VitePress Markdown Reference](https://vitepress.dev/guide/markdown)
+
+
+
+
+
+
+
+
diff --git a/docs/clients/android.md b/docs/clients/android.md
index 031ad41..bde9de6 100644
--- a/docs/clients/android.md
+++ b/docs/clients/android.md
@@ -10,6 +10,12 @@ href="https://github.com/django-files/android-client"
src="/images/logos/github.png"
/>
+::: danger :rotating_light: **Free and Open-Source Android is under threat!**
+
+Google will turn Android into a locked-down platform, restricting your essential freedom to install apps of your choice. Make your voice heard – [Keep Android Open](https://keepandroidopen.org/).
+
+:::
+
## Install
Get it from GitHub or Obtainium.
diff --git a/docs/clients/browser.md b/docs/clients/browser.md
index 71a5e68..8fe7a02 100644
--- a/docs/clients/browser.md
+++ b/docs/clients/browser.md
@@ -57,3 +57,12 @@ base-url="https://raw.githubusercontent.com/django-files/repo-images/refs/heads/
:number-of-slides="6"
:pagination="{ clickable: true }"
/>
+
+::: tip
+
+If you are only uploading images and want to use your locally installed [ShareX](https://getsharex.com/) for processing, it now supports native messaging.
+
+Download for [Chrome](https://chromewebstore.google.com/detail/sharex/nlkoigbdolhchiicbonbihbphgamnaoc)
+or [Firefox](https://addons.mozilla.org/en-US/firefox/addon/sharex/).
+
+:::
diff --git a/docs/clients/cli.md b/docs/clients/cli.md
index acc9bb5..58da315 100644
--- a/docs/clients/cli.md
+++ b/docs/clients/cli.md
@@ -16,6 +16,14 @@ href="https://github.com/django-files/cssnr/zipline-cli"
src="/images/logos/github.png"
/>
+::: warning :warning: New CLI Available
+
+A new CLI is available and supports any ShareX server.
+For more details visit:
+Additionally, this is being re-written in GoLang to remove the Python dependency.
+
+:::
+
## Install
The easiest way to install is with `pip`.
diff --git a/package-lock.json b/package-lock.json
index 4cbfe89..7cec7cb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -13,7 +13,7 @@
"vitepress": "^1.6.4"
},
"devDependencies": {
- "prettier": "^3.7.4"
+ "prettier": "^3.8.1"
}
},
"node_modules/@algolia/abtesting": {
@@ -165,7 +165,6 @@
"resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.45.0.tgz",
"integrity": "sha512-nxuCid+Nszs4xqwIMDw11pRJPes2c+Th1yup/+LtpjFH8QWXkr3SirNYSD3OXAeM060HgWWPLA8/Fxk+vwxQOA==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@algolia/client-common": "5.45.0",
"@algolia/requester-browser-xhr": "5.45.0",
@@ -1467,7 +1466,6 @@
"resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.45.0.tgz",
"integrity": "sha512-wrj4FGr14heLOYkBKV3Fbq5ZBGuIFeDJkTilYq/G+hH1CSlQBtYvG2X1j67flwv0fUeQJwnWxxRIunSemAZirA==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@algolia/abtesting": "1.11.0",
"@algolia/client-abtesting": "5.45.0",
@@ -1662,7 +1660,6 @@
"resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.6.6.tgz",
"integrity": "sha512-v/Z8bvMCajtx4mEXmOo7QEsIzlIOqRXTIwgUfsFOF9gEsespdbD0AkPIka1bSXZ8Y8oZ+2IVDQZePkTfEHZl7Q==",
"license": "MIT",
- "peer": true,
"dependencies": {
"tabbable": "^6.3.0"
}
@@ -1962,9 +1959,9 @@
}
},
"node_modules/prettier": {
- "version": "3.7.4",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.4.tgz",
- "integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==",
+ "version": "3.8.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz",
+ "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==",
"dev": true,
"license": "MIT",
"bin": {
@@ -2272,7 +2269,6 @@
"resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz",
"integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==",
"license": "MIT",
- "peer": true,
"dependencies": {
"esbuild": "^0.21.3",
"postcss": "^8.4.43",
@@ -2332,7 +2328,6 @@
"resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.6.4.tgz",
"integrity": "sha512-+2ym1/+0VVrbhNyRoFFesVvBvHAVMZMK0rw60E3X/5349M1GuVdKeazuksqopEdvkKwKGs21Q729jX81/bkBJg==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@docsearch/css": "3.8.2",
"@docsearch/js": "3.8.2",
@@ -2374,7 +2369,6 @@
"resolved": "https://registry.npmjs.org/vue/-/vue-3.5.25.tgz",
"integrity": "sha512-YLVdgv2K13WJ6n+kD5owehKtEXwdwXuj2TTyJMsO7pSeKw2bfRNZGjhB7YzrpbMYj5b5QsUebHpOqR3R3ziy/g==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@vue/compiler-dom": "3.5.25",
"@vue/compiler-sfc": "3.5.25",
diff --git a/package.json b/package.json
index f1d09a6..4f905d7 100644
--- a/package.json
+++ b/package.json
@@ -17,6 +17,6 @@
"vitepress": "^1.6.4"
},
"devDependencies": {
- "prettier": "^3.7.4"
+ "prettier": "^3.8.1"
}
}
From 5017c1ad073cb126e265e25fbaa5700545f66696 Mon Sep 17 00:00:00 2001
From: Shane <6071159+smashedr@users.noreply.github.com>
Date: Sat, 28 Feb 2026 15:49:10 -0800
Subject: [PATCH 2/4] Updates
---
docs/clients/browser.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/clients/browser.md b/docs/clients/browser.md
index 8fe7a02..d84c436 100644
--- a/docs/clients/browser.md
+++ b/docs/clients/browser.md
@@ -60,9 +60,9 @@ base-url="https://raw.githubusercontent.com/django-files/repo-images/refs/heads/
::: tip
-If you are only uploading images and want to use your locally installed [ShareX](https://getsharex.com/) for processing, it now supports native messaging.
+If you are only uploading images and want to use your locally installed ShareX for processing, it now supports native messaging.
-Download for [Chrome](https://chromewebstore.google.com/detail/sharex/nlkoigbdolhchiicbonbihbphgamnaoc)
+Download [ShareX](https://getsharex.com/) for [Chrome](https://chromewebstore.google.com/detail/sharex/nlkoigbdolhchiicbonbihbphgamnaoc)
or [Firefox](https://addons.mozilla.org/en-US/firefox/addon/sharex/).
:::
From 2b73bbbf233e04b2ad44684ccb7fb8d16f080e2f Mon Sep 17 00:00:00 2001
From: Shane <6071159+smashedr@users.noreply.github.com>
Date: Sat, 28 Feb 2026 15:50:43 -0800
Subject: [PATCH 3/4] Updates
---
docs/clients/browser.md | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/docs/clients/browser.md b/docs/clients/browser.md
index d84c436..33decf5 100644
--- a/docs/clients/browser.md
+++ b/docs/clients/browser.md
@@ -58,9 +58,11 @@ base-url="https://raw.githubusercontent.com/django-files/repo-images/refs/heads/
:pagination="{ clickable: true }"
/>
-::: tip
+
-If you are only uploading images and want to use your locally installed ShareX for processing, it now supports native messaging.
+::: tip Upload with Native ShareX Client
+
+If you are only uploading images and want to use your locally installed ShareX for processing, ShareX now supports native messaging.
Download [ShareX](https://getsharex.com/) for [Chrome](https://chromewebstore.google.com/detail/sharex/nlkoigbdolhchiicbonbihbphgamnaoc)
or [Firefox](https://addons.mozilla.org/en-US/firefox/addon/sharex/).
From 94b3d60f9f1b1c7650d13b37e0dba4012c696347 Mon Sep 17 00:00:00 2001
From: Shane <6071159+smashedr@users.noreply.github.com>
Date: Sat, 28 Feb 2026 15:53:30 -0800
Subject: [PATCH 4/4] Updates
---
docs/clients/browser.md | 2 +-
docs/clients/cli.md | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/clients/browser.md b/docs/clients/browser.md
index 33decf5..8c4feb9 100644
--- a/docs/clients/browser.md
+++ b/docs/clients/browser.md
@@ -60,7 +60,7 @@ base-url="https://raw.githubusercontent.com/django-files/repo-images/refs/heads/
-::: tip Upload with Native ShareX Client
+::: tip Upload w/ Native ShareX Client
If you are only uploading images and want to use your locally installed ShareX for processing, ShareX now supports native messaging.
diff --git a/docs/clients/cli.md b/docs/clients/cli.md
index 58da315..7615977 100644
--- a/docs/clients/cli.md
+++ b/docs/clients/cli.md
@@ -16,7 +16,7 @@ href="https://github.com/django-files/cssnr/zipline-cli"
src="/images/logos/github.png"
/>
-::: warning :warning: New CLI Available
+::: warning New ShareX CLI Available
A new CLI is available and supports any ShareX server.
For more details visit: