Skip to content

Commit f5204c3

Browse files
committed
Build modules index on site startup
1 parent 2e6aa71 commit f5204c3

38 files changed

Lines changed: 16309 additions & 1 deletion

File tree

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ dist/
44
.astro/
55

66
# derived content on startup
7-
src/content/docs/docs/modules
7+
#src/content/docs/docs/modules/*/
88

99
# dependencies
1010
node_modules/

scripts/sync-modules.js

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,46 @@ This ${modType} is available at [github.com/${owner}/${mod.repo}](https://github
108108
console.error(`❌ Error syncing ${mod.name}:`, err.message);
109109
}
110110
}
111+
112+
// Generate the modules index page
113+
const modulesIndexDir = './src/content/docs/docs/modules';
114+
if (!fs.existsSync(modulesIndexDir)) fs.mkdirSync(modulesIndexDir, { recursive: true });
115+
116+
const modTable = (mods) => {
117+
return `| Module | Version |\n| :--- | :--- |\n` +
118+
mods.map(m => `| [${m.name}](/docs/modules/${m.repo}/) | <a href='https://github.com/${owner}/${m.repo}/releases'><img alt='Release' src='https://img.shields.io/github/v/release/${owner}/${m.repo}.svg?style=flat' /></a> |`).join('\n');
119+
}
120+
121+
const modulesIndexContent = `---
122+
title: Skip Modules
123+
description: Documentation for Skip core, platform, and integration modules.
124+
---
125+
126+
Skip provides a wide range of modules that bring Swift and SwiftUI APIs to Android, as well as integration frameworks for popular third-party services.
127+
128+
## Core Frameworks
129+
130+
These frameworks provide the foundation for Skip apps, including the Swift standard library, Foundation, and SwiftUI support.
131+
132+
${modTable(coreFrameworks)}
133+
134+
## Platform Frameworks
135+
136+
These frameworks provide access to Android platform features using familiar Swift-like APIs.
137+
138+
${modTable(platformFrameworks)}
139+
140+
## Integration Frameworks
141+
142+
These frameworks provide unified APIs for popular third-party services on both iOS and Android.
143+
144+
${modTable(integrationFrameworks)}
145+
146+
<!-- This list is automatically generated from the [skip-repositories.js](https://github.com/skiptools/skip.dev/blob/main/skip-repositories.js) configuration. -->
147+
`;
148+
149+
fs.writeFileSync(path.join(modulesIndexDir, 'index.md'), modulesIndexContent);
150+
console.log(`✅ Generated modules index at ${path.join(modulesIndexDir, 'index.md')}`);
111151
}
112152

113153
processRepositories();
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
---
2+
title: Skip Modules
3+
description: Documentation for Skip core, platform, and integration modules.
4+
---
5+
6+
Skip provides a wide range of modules that bring Swift and SwiftUI APIs to Android, as well as integration frameworks for popular third-party services.
7+
8+
## Core Frameworks
9+
10+
These frameworks provide the foundation for Skip apps, including the Swift standard library, Foundation, and SwiftUI support.
11+
12+
| Module | Version |
13+
| :--- | :--- |
14+
| [SkipUnit](/docs/modules/skip-unit/) | <a href='https://github.com/skiptools/skip-unit/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-unit.svg?style=flat' /></a> |
15+
| [SkipLib](/docs/modules/skip-lib/) | <a href='https://github.com/skiptools/skip-lib/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-lib.svg?style=flat' /></a> |
16+
| [SkipFoundation](/docs/modules/skip-foundation/) | <a href='https://github.com/skiptools/skip-foundation/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-foundation.svg?style=flat' /></a> |
17+
| [SkipModel](/docs/modules/skip-model/) | <a href='https://github.com/skiptools/skip-model/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-model.svg?style=flat' /></a> |
18+
| [SkipUI](/docs/modules/skip-ui/) | <a href='https://github.com/skiptools/skip-ui/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-ui.svg?style=flat' /></a> |
19+
| [SkipFuse](/docs/modules/skip-fuse/) | <a href='https://github.com/skiptools/skip-fuse/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-fuse.svg?style=flat' /></a> |
20+
| [SkipFuseUI](/docs/modules/skip-fuse-ui/) | <a href='https://github.com/skiptools/skip-fuse-ui/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-fuse-ui.svg?style=flat' /></a> |
21+
| [SkipBridge](/docs/modules/skip-bridge/) | <a href='https://github.com/skiptools/skip-bridge/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-bridge.svg?style=flat' /></a> |
22+
23+
## Platform Frameworks
24+
25+
These frameworks provide access to Android platform features using familiar Swift-like APIs.
26+
27+
| Module | Version |
28+
| :--- | :--- |
29+
| [App Support](/docs/modules/skip-kit/) | <a href='https://github.com/skiptools/skip-kit/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-kit.svg?style=flat' /></a> |
30+
| [Audio/Video](/docs/modules/skip-av/) | <a href='https://github.com/skiptools/skip-av/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-av.svg?style=flat' /></a> |
31+
| [Authentication](/docs/modules/skip-authentication-services/) | <a href='https://github.com/skiptools/skip-authentication-services/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-authentication-services.svg?style=flat' /></a> |
32+
| [Bluetooth](/docs/modules/skip-bluetooth/) | <a href='https://github.com/skiptools/skip-bluetooth/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-bluetooth.svg?style=flat' /></a> |
33+
| [Calendar](/docs/modules/skip-calendar/) | <a href='https://github.com/skiptools/skip-calendar/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-calendar.svg?style=flat' /></a> |
34+
| [Contacts](/docs/modules/skip-contacts/) | <a href='https://github.com/skiptools/skip-contacts/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-contacts.svg?style=flat' /></a> |
35+
| [FFI](/docs/modules/skip-ffi/) | <a href='https://github.com/skiptools/skip-ffi/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-ffi.svg?style=flat' /></a> |
36+
| [JavaScriptCore](/docs/modules/skip-script/) | <a href='https://github.com/skiptools/skip-script/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-script.svg?style=flat' /></a> |
37+
| [Keychain](/docs/modules/skip-keychain/) | <a href='https://github.com/skiptools/skip-keychain/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-keychain.svg?style=flat' /></a> |
38+
| [NFC](/docs/modules/skip-nfc/) | <a href='https://github.com/skiptools/skip-nfc/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-nfc.svg?style=flat' /></a> |
39+
| [Push Notifications](/docs/modules/skip-notify/) | <a href='https://github.com/skiptools/skip-notify/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-notify.svg?style=flat' /></a> |
40+
| [QR Codes](/docs/modules/skip-qrcode/) | <a href='https://github.com/skiptools/skip-qrcode/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-qrcode.svg?style=flat' /></a> |
41+
| [Sensors](/docs/modules/skip-device/) | <a href='https://github.com/skiptools/skip-device/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-device.svg?style=flat' /></a> |
42+
| [SQLite](/docs/modules/skip-sql/) | <a href='https://github.com/skiptools/skip-sql/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-sql.svg?style=flat' /></a> |
43+
| [WebView](/docs/modules/skip-web/) | <a href='https://github.com/skiptools/skip-web/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-web.svg?style=flat' /></a> |
44+
| [XML](/docs/modules/skip-xml/) | <a href='https://github.com/skiptools/skip-xml/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-xml.svg?style=flat' /></a> |
45+
| [Zip](/docs/modules/skip-zip/) | <a href='https://github.com/skiptools/skip-zip/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-zip.svg?style=flat' /></a> |
46+
47+
## Integration Frameworks
48+
49+
These frameworks provide unified APIs for popular third-party services on both iOS and Android.
50+
51+
| Module | Version |
52+
| :--- | :--- |
53+
| [Auth0](/docs/modules/skip-auth0/) | <a href='https://github.com/skiptools/skip-auth0/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-auth0.svg?style=flat' /></a> |
54+
| [Firebase](/docs/modules/skip-firebase/) | <a href='https://github.com/skiptools/skip-firebase/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-firebase.svg?style=flat' /></a> |
55+
| [WebRTC (LiveKit)](/docs/modules/skip-livekit/) | <a href='https://github.com/skiptools/skip-livekit/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-livekit.svg?style=flat' /></a> |
56+
| [Marketplace](/docs/modules/skip-marketplace/) | <a href='https://github.com/skiptools/skip-marketplace/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-marketplace.svg?style=flat' /></a> |
57+
| [Lottie](/docs/modules/skip-motion/) | <a href='https://github.com/skiptools/skip-motion/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-motion.svg?style=flat' /></a> |
58+
| [PostHog](/docs/modules/skip-posthog/) | <a href='https://github.com/skiptools/skip-posthog/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-posthog.svg?style=flat' /></a> |
59+
| [RevenueCat](/docs/modules/skip-revenue/) | <a href='https://github.com/skiptools/skip-revenue/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-revenue.svg?style=flat' /></a> |
60+
| [Sentry](/docs/modules/skip-sentry/) | <a href='https://github.com/skiptools/skip-sentry/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-sentry.svg?style=flat' /></a> |
61+
| [Socket.IO](/docs/modules/skip-socketio/) | <a href='https://github.com/skiptools/skip-socketio/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-socketio.svg?style=flat' /></a> |
62+
| [Supabase](/docs/modules/skip-supabase/) | <a href='https://github.com/skiptools/skip-supabase/releases'><img alt='Release' src='https://img.shields.io/github/v/release/skiptools/skip-supabase.svg?style=flat' /></a> |
63+
64+
<!-- This list is automatically generated from the [skip-repositories.js](https://github.com/skiptools/skip.dev/blob/main/skip-repositories.js) configuration. -->

0 commit comments

Comments
 (0)