mirror of
https://github.com/NotAKidoS/NAK_CVR_Mods.git
synced 2025-09-03 06:49:22 +00:00
Compare commits
5 commits
364de89b30
...
dafff6a9a2
Author | SHA1 | Date | |
---|---|---|---|
|
dafff6a9a2 | ||
|
68d7c22b7c | ||
|
3c81f71d15 | ||
|
0564de3ebf | ||
|
7030ed8650 |
3 changed files with 94 additions and 0 deletions
55
.github/scripts/update-modlist.js
vendored
Normal file
55
.github/scripts/update-modlist.js
vendored
Normal file
|
@ -0,0 +1,55 @@
|
|||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const ROOT = '.';
|
||||
const EXPERIMENTAL = '.Experimental';
|
||||
const README_PATH = 'README.md';
|
||||
const MARKER_START = '<!-- BEGIN MOD LIST -->';
|
||||
const MARKER_END = '<!-- END MOD LIST -->';
|
||||
|
||||
function getModFolders(baseDir) {
|
||||
const entries = fs.readdirSync(baseDir, { withFileTypes: true });
|
||||
return entries
|
||||
.filter(entry => entry.isDirectory())
|
||||
.map(entry => path.join(baseDir, entry.name))
|
||||
.filter(dir => fs.existsSync(path.join(dir, 'README.md')));
|
||||
}
|
||||
|
||||
function formatTable(mods, baseDir) {
|
||||
if (mods.length === 0) return '';
|
||||
|
||||
let rows = mods.map(modPath => {
|
||||
const modName = path.basename(modPath);
|
||||
const readmeLink = path.join(modPath, 'README.md');
|
||||
const zipLink = path.join(modPath, `${modName}.zip`);
|
||||
return `| [${modName}](${readmeLink}) | [Download](${zipLink}) |`;
|
||||
});
|
||||
|
||||
return [
|
||||
`### ${baseDir === EXPERIMENTAL ? 'Experimental Mods' : 'Released Mods'}`,
|
||||
'',
|
||||
'| Name | Download |',
|
||||
'|------|----------|',
|
||||
...rows,
|
||||
''
|
||||
].join('\n');
|
||||
}
|
||||
|
||||
function updateReadme(modListSection) {
|
||||
const readme = fs.readFileSync(README_PATH, 'utf8');
|
||||
const before = readme.split(MARKER_START)[0];
|
||||
const after = readme.split(MARKER_END)[1];
|
||||
|
||||
const newReadme = `${before}${MARKER_START}\n\n${modListSection}\n${MARKER_END}${after}`;
|
||||
fs.writeFileSync(README_PATH, newReadme);
|
||||
}
|
||||
|
||||
const mainMods = getModFolders(ROOT).filter(dir => !dir.startsWith(EXPERIMENTAL));
|
||||
const experimentalMods = getModFolders(EXPERIMENTAL);
|
||||
|
||||
const tableContent = [
|
||||
formatTable(mainMods, ROOT),
|
||||
formatTable(experimentalMods, EXPERIMENTAL)
|
||||
].join('\n');
|
||||
|
||||
updateReadme(tableContent);
|
35
.github/workflows/update-modlist.yml
vendored
Normal file
35
.github/workflows/update-modlist.yml
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
name: Update Mod List
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- 'update-modlist.js'
|
||||
- '.github/workflows/update-modlist.yml'
|
||||
- 'README.md'
|
||||
- '**/README.md'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
update-modlist:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: '20'
|
||||
|
||||
- name: Run mod list updater
|
||||
run: node update-modlist.js
|
||||
|
||||
- name: Commit and push changes
|
||||
run: |
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git remote set-url origin https://x-access-token:${{ secrets.GH_TOKEN }}@github.com/${{ github.repository }}
|
||||
git add README.md
|
||||
git commit -m "[NAK_CVR_Mods] Update mod list in README" || echo "No changes to commit"
|
||||
git push
|
|
@ -1,5 +1,7 @@
|
|||
## NotAKids ChilloutVR Mods
|
||||
|
||||
<!-- BEGIN MOD LIST -->
|
||||
|
||||
## Released Mods
|
||||
|
||||
| Mod Name | README | Download | Description |
|
||||
|
@ -37,6 +39,8 @@
|
|||
| VisualCloneFix | [README](https://github.com/NotAKidOnSteam/NAK_CVR_Mods/tree/main/VisualCloneFix) | [Download](https://github.com/NotAKidOnSteam/NAK_CVR_Mods/releases/latest/download/VisualCloneFix.dll) | Fixes the Visual Clone system. |
|
||||
| WhereAmIPointing | [README](https://github.com/NotAKidOnSteam/NAK_CVR_Mods/tree/main/WhereAmIPointing) | [Download](https://github.com/NotAKidOnSteam/NAK_CVR_Mods/releases/latest/download/WhereAmIPointing.dll) | Makes your controller rays always visible when the menus are open. |
|
||||
|
||||
<!-- END MOD LIST -->
|
||||
|
||||
# How To Install
|
||||
|
||||
The majority of modifications found in this repository are reviewed and made available through the [ChilloutVR Modding Group](https://discord.gg/dndGPM3bxu).
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue