shiping
An interview assistant and an exam assistant that uses AI to provide solution ideas in real time during 「面试」 or 「在线考试」.
AI translation
Study notes, all subjects, one place.
Translation pending
EducationJavaScript · PythonGitHub @calnettleOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Searchable, offline-capable study notes reader for QUT coursework
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Study notes for every subject, in one searchable, phone-friendly site.
Markdown in → static site out. No database, no CMS, no framework.
Create a folder for the unit under content/ — the folder name is the unit code:
content/EFB211/
Drop .md files in it. Number them to control the order:
content/EFB211/00-overview.md
content/EFB211/01-topic-1.md
The first # Heading in each file becomes the document title.
(Optional) Describe the unit in content/subjects.json so it gets a
proper name and colour on the home screen:
{
"EFB211": {
"name": "Financial Markets",
"institution": "QUT",
"term": "2nd Year · Sem 1",
"colour": "#2f8f6b",
"description": "One line about the unit."
}
}
Commit and push. Vercel rebuilds automatically.
git add -A && git commit -m "Add EFB211 notes" && git push
That's the whole workflow. No step 5.
| Feature | Notes |
|---|---|
| Tables | Scroll horizontally on mobile instead of breaking the layout |
| Fenced code blocks | Used for formulas — preserved verbatim, scroll sideways |
<details><summary> | Tap-to-reveal answers for practice questions |
| Blockquotes | Rendered as highlighted callouts |
| Headings | ## and ### become sidebar navigation and search anchors |
Every ##/### becomes a deep-linkable anchor, so search results jump
straight to the right section.
npm install
npm run dev # → http://localhost:4321
npm run build alone just regenerates public/data/.
content/<UNIT>/*.md
│
│ node build.js (runs on every Vercel deploy)
▼
public/data/manifest.json subjects, docs, table of contents
public/data/docs/<unit>__<doc>.json pre-rendered HTML
public/data/search.json one record per section, for search
│
▼
public/index.html + app.js reads the JSON, renders, caches offline
Markdown is rendered to HTML at build time, so the phone never loads a markdown parser. The whole client is one HTML file, one stylesheet and one script with no dependencies.
public/data/ is generated and gitignored — never edit it by hand.
The site is a PWA. On iOS: Share → Add to Home Screen. On Android: menu → Install app. It then opens fullscreen, and any note you've already opened stays readable with no connection.
The service worker (public/sw.js) caches the shell and serves notes
stale-while-revalidate. Bump the CACHE constant if you change the shell
and want to force a refresh.
build.js markdown → JSON build step
serve.js local preview server
vercel.json build config + cache headers
content/subjects.json unit metadata
content/<UNIT>/*.md the actual notes
public/ the site (index.html, styles.css, app.js, sw.js, icons)
public/data/ generated — gitignored