Yoshihiro OKUMURA e8a044950b refactor: load the generated JSON at runtime
The dumps were imported into the bundle, which tied a data refresh to a
rebuild and put generated content in the source tree. They now sit in
static-contents/ with the rest of the site data, as on
bsi-ni.brain.riken.jp.

- add siteData.ts, which fetches the six files in parallel
- hand them to the singletons from main.tsx before the first render, so
  components still read them synchronously
- type the four ranking lists, which have three different shapes
2026-09-11 17:15:41 +09:00
2020-04-30 14:36:58 +09:00

Visiome Platform

Static front-end for the archived Visiome Platform site, built with Vite, React and TypeScript.

Requirements

  • Node.js 20.19+ / 22.12+ (Vite 8)
  • npm

Setup

npm install

Site data

The pages are rendered from JSON dumped out of the original XooNIps/XOOPS installation by the PHP scripts in etc/. Two locations are used:

  • static-contents/ — served from the site root (database/items.json, manual_ja/*.json, primface/*.json, rss.xml, downloadable files). The dev server serves this directory, and npm run build copies it into dist/.
  • src/*/assets/*.json — bundled into the application (index tree, rankings, recent contents, credits, pico configuration).

Both are generated content and are not tracked in git.

Scripts

Command Description
npm run dev Start the dev server on http://localhost:3000
npm run build Type-check and build into dist/
npm run preview Serve the production build locally
npm run lint Lint with Biome
npm run format Format with Biome
npm run check Lint, format and organize imports, applying the safe fixes

@types/node is pinned to the major that matches the Node runtime in use (24); .ncurc.json keeps npm-check-updates from bumping it past that.

There is currently no test suite.

Deployment

Upload the contents of dist/ to the document root. The bundled .htaccess rewrites the legacy XOOPS download URLs and sends every unmatched path to index.html so client-side routing works on a full page load. On a server without Apache, configure the equivalent SPA fallback.

Google Analytics

GOOGLE_ANALYTICS_TRACKING_ID in src/config.ts is empty, which disables tracking. Set a GA4 measurement ID (G-XXXXXXXXXX) to enable it; the old Universal Analytics property was shut down in 2023.

S
Description
No description provided
Readme
1,010 KiB
Languages
TypeScript 93.4%
CSS 6.3%
HTML 0.3%