Docs updates
All checks were successful
Ascently - Sync Deploy / build-and-push (push) Successful in 2m43s
Ascently - Docs Deploy / build-and-push (push) Successful in 3m34s

This commit is contained in:
2025-10-14 14:26:56 -06:00
parent 082cb79630
commit 7601e7bb03
11 changed files with 88 additions and 104 deletions

View File

@@ -12,7 +12,7 @@ export default defineConfig({
starlight({
title: "Ascently",
description:
"A FOSS climbing tracking app with offline-first design and optional sync server",
"An offline-first FOSS climb tracking app with an optional sync server.",
logo: {
light: "./src/assets/logo.svg",
dark: "./src/assets/logo-dark.svg",
@@ -20,8 +20,8 @@ export default defineConfig({
favicon: "/favicon.png",
social: [
{
icon: "github",
label: "GitHub",
icon: "seti:git",
label: "Gitea",
href: "https://git.atri.dad/atridad/Ascently",
},
{
@@ -46,6 +46,10 @@ export default defineConfig({
label: "Reference",
autogenerate: { directory: "reference" },
},
{
label: "Privacy",
link: "/privacy/",
},
],
customCss: ["./src/styles/custom.css"],
}),
@@ -54,4 +58,4 @@ export default defineConfig({
adapter: node({
mode: "standalone",
}),
});
});

View File

@@ -27,7 +27,7 @@
"dependencies": {
"@astrojs/node": "^9.5.0",
"@astrojs/starlight": "^0.36.0",
"astro": "^5.14.4",
"astro": "^5.14.5",
"sharp": "^0.34.4"
}
}

48
docs/pnpm-lock.yaml generated
View File

@@ -10,13 +10,13 @@ importers:
dependencies:
'@astrojs/node':
specifier: ^9.5.0
version: 9.5.0(astro@5.14.4(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3))
version: 9.5.0(astro@5.14.5(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3))
'@astrojs/starlight':
specifier: ^0.36.0
version: 0.36.0(astro@5.14.4(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3))
version: 0.36.0(astro@5.14.5(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3))
astro:
specifier: ^5.14.4
version: 5.14.4(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3)
specifier: ^5.14.5
version: 5.14.5(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3)
sharp:
specifier: ^0.34.4
version: 0.34.4
@@ -669,8 +669,8 @@ packages:
peerDependencies:
astro: ^4.0.0-beta || ^5.0.0-beta || ^3.3.0
astro@5.14.4:
resolution: {integrity: sha512-yqgMAO2Whi9GmZkByyiPcG7CiiPr0Me0iBSorMa6M0g+wQk/ewnIqUyr7T/uFCPTQndoKwucnYFTrf0yfb0urw==}
astro@5.14.5:
resolution: {integrity: sha512-EHt7y3+nHYyKzBats1AL3N4Pyrvqyr+zXBC7njUa9Tfe+gsiHlunaw+lXitTT/DDVwO2R/f/qVG7Xc6rl0b2KQ==}
engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'}
hasBin: true
@@ -1753,8 +1753,8 @@ packages:
vfile@6.0.3:
resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
vite@6.3.6:
resolution: {integrity: sha512-0msEVHJEScQbhkbVTb/4iHZdJ6SXp/AvxL2sjwYQFfBqleHtnCqv1J3sa9zbWz/6kW1m9Tfzn92vW+kZ1WV6QA==}
vite@6.3.7:
resolution: {integrity: sha512-mQYaKepA0NGMBsz8Xktt3tJUG5ELE2iT7IJ+ssXI6nxVdE2sFc/d/6w/JByqMLvWg8hNKHpPgzjgOkrhpKFnrA==}
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
peerDependencies:
@@ -1884,12 +1884,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@astrojs/mdx@4.3.7(astro@5.14.4(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3))':
'@astrojs/mdx@4.3.7(astro@5.14.5(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3))':
dependencies:
'@astrojs/markdown-remark': 6.3.8
'@mdx-js/mdx': 3.1.1
acorn: 8.15.0
astro: 5.14.4(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3)
astro: 5.14.5(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3)
es-module-lexer: 1.7.0
estree-util-visit: 2.0.0
hast-util-to-html: 9.0.5
@@ -1903,10 +1903,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@astrojs/node@9.5.0(astro@5.14.4(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3))':
'@astrojs/node@9.5.0(astro@5.14.5(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3))':
dependencies:
'@astrojs/internal-helpers': 0.7.4
astro: 5.14.4(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3)
astro: 5.14.5(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3)
send: 1.2.0
server-destroy: 1.0.1
transitivePeerDependencies:
@@ -1922,17 +1922,17 @@ snapshots:
stream-replace-string: 2.0.0
zod: 3.25.76
'@astrojs/starlight@0.36.0(astro@5.14.4(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3))':
'@astrojs/starlight@0.36.0(astro@5.14.5(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3))':
dependencies:
'@astrojs/markdown-remark': 6.3.8
'@astrojs/mdx': 4.3.7(astro@5.14.4(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3))
'@astrojs/mdx': 4.3.7(astro@5.14.5(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3))
'@astrojs/sitemap': 3.6.0
'@pagefind/default-ui': 1.4.0
'@types/hast': 3.0.4
'@types/js-yaml': 4.0.9
'@types/mdast': 4.0.4
astro: 5.14.4(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3)
astro-expressive-code: 0.41.3(astro@5.14.4(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3))
astro: 5.14.5(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3)
astro-expressive-code: 0.41.3(astro@5.14.5(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3))
bcp-47: 2.1.0
hast-util-from-html: 2.0.3
hast-util-select: 6.0.4
@@ -2428,12 +2428,12 @@ snapshots:
astring@1.9.0: {}
astro-expressive-code@0.41.3(astro@5.14.4(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3)):
astro-expressive-code@0.41.3(astro@5.14.5(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3)):
dependencies:
astro: 5.14.4(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3)
astro: 5.14.5(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3)
rehype-expressive-code: 0.41.3
astro@5.14.4(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3):
astro@5.14.5(@types/node@24.7.2)(rollup@4.52.4)(typescript@5.9.3):
dependencies:
'@astrojs/compiler': 2.13.0
'@astrojs/internal-helpers': 0.7.4
@@ -2489,8 +2489,8 @@ snapshots:
unist-util-visit: 5.0.0
unstorage: 1.17.1
vfile: 6.0.3
vite: 6.3.6(@types/node@24.7.2)
vitefu: 1.1.1(vite@6.3.6(@types/node@24.7.2))
vite: 6.3.7(@types/node@24.7.2)
vitefu: 1.1.1(vite@6.3.7(@types/node@24.7.2))
xxhash-wasm: 1.1.0
yargs-parser: 21.1.1
yocto-spinner: 0.2.3
@@ -4116,7 +4116,7 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.3
vite@6.3.6(@types/node@24.7.2):
vite@6.3.7(@types/node@24.7.2):
dependencies:
esbuild: 0.25.10
fdir: 6.5.0(picomatch@4.0.3)
@@ -4128,9 +4128,9 @@ snapshots:
'@types/node': 24.7.2
fsevents: 2.3.3
vitefu@1.1.1(vite@6.3.6(@types/node@24.7.2)):
vitefu@1.1.1(vite@6.3.7(@types/node@24.7.2)):
optionalDependencies:
vite: 6.3.6(@types/node@24.7.2)
vite: 6.3.7(@types/node@24.7.2)
web-namespaces@2.0.1: {}

View File

@@ -3,8 +3,6 @@ title: Download
description: Get Ascently on your Android or iOS device
---
## Android
### Option 1: Direct APK Download
@@ -25,4 +23,4 @@ App Store release coming soon.
## Requirements
- **Android 12+** or **iOS 17+**
- **Android 12+** or **iOS 17+**

View File

@@ -1,9 +1,9 @@
---
title: Ascently
description: A FOSS climbing tracking app with offline-first design and optional sync server
description: An offline-first FOSS climb tracking app with an optional sync server.
template: splash
hero:
tagline: Track your climbing sessions, routes, and progress
tagline: Track your climbing sessions, routes, and progress.
image:
file: ../../assets/logo-highres.svg
alt: "Ascently app icon"
@@ -23,7 +23,7 @@ import { Card, CardGrid } from '@astrojs/starlight/components';
_Formerly OpenClimb_
Ascently is a **FOSS (Free and Open Source Software)** app designed to help climbers track their sessions, routes/problems, and overall progress. This app is offline-first, with an optional sync server and integrations with Apple Health and Health Connect.
Ascently is an **offline-first FOSS** app designed to help climbers track their sessions, routes/problems, and overall progress. There is an optional self-hosted sync server and integrations with Apple Health and Health Connect. There are no analytics or tracking baked into any part of this project. I am committed to maintaining a transparent and open-source solution for climbers, ensuring that you have full control over your data and privacy.
<CardGrid stagger>
<Card title="Offline-First" icon="laptop">
@@ -35,14 +35,14 @@ Ascently is a **FOSS (Free and Open Source Software)** app designed to help clim
<Card title="Health Integration" icon="heart">
Integrates with Apple Health and Health Connect to track your fitness data.
</Card>
<Card title="Optional Sync" icon="setting">
<Card title="Optional Sync" icon="cloud-download">
Run your own lightweight sync server to keep data synchronized across devices.
</Card>
</CardGrid>
## Requirements
- **Android:** Version 12+
- **Android:** Version 12+
- **iOS:** Version 17+
## Download
@@ -59,4 +59,4 @@ Ascently is a **FOSS (Free and Open Source Software)** app designed to help clim
*Built with ❤️ by Atridad Lahiji*
*Contact: me@atri.dad*
*Contact: me@atri.dad*

View File

@@ -0,0 +1,43 @@
---
title: Privacy Policy
description: Ascently's Privacy Policy
---
**Last updated: September 29, 2025**
This Privacy Policy describes our policies and procedures regarding the collection, use, and disclosure of your information when you use my software.
## No Data Collection
I do not collect any personal information, analytics, or data of any kind. This software is designed to be self-hosted or run entirely offline.
All data generated by or used with this software remains on your local machine or self-hosted environment under your control. I have no access to it.
## Optional Sync Server
You may optionally configure a sync server to synchronize your data across multiple devices. When using a sync server:
- Your data is transmitted only to the server you specify
- You are responsible for the server's security and privacy practices
- I have no access to or control over your chosen sync server
- All data remains encrypted during transmission
## Optional Health Data Integration
You may optionally integrate with Apple Health or Android Health Connect to import health and fitness data. When enabled:
- Health data is accessed only on your local device
- No health data is transmitted to me, but Apple or Google may receive data according to their respective privacy policies
- You control which health metrics are imported
- You can revoke access at any time through your device's health app settings
- Please refer to Apple's Privacy Policy or Google's Privacy Policy for information about their data practices
## No Tracking or Analytics
This software does not use cookies, tracking pixels, or any other analytics or tracking mechanisms. Your usage of the software is completely private.
## Contact Us
If you have any questions about this Privacy Policy, you can contact me:
* **By email:** me@atri.dad