Skip to content

Repository files navigation

CS1101 — Introduction to C Programming

An offline-first, static interactive textbook covering the complete CS1101 course. Canonical prose is preserved in Markdown; the browser experience is generated into a deployable static artifact with optional, accessible programming models.

Requirements

  • Node.js 22 or newer

No package installation is required.

Build and verify

npm run check

This rebuilds the complete site in dist/, validates source-heading and code-fence preservation, confirms the local runtime assets are deployable, and checks JavaScript syntax.

To preview the generated artifact locally:

npm run build
cd dist
python3 -m http.server 4173

Open http://localhost:4173 in a browser.

Repository layout

  • source/ — canonical textbook Markdown; do not edit generated pages instead.
  • static/ — bundled local fonts and their license.
  • scripts/ — textbook generator.
  • tests/ — standalone source-preservation and deployment checks.
  • dist/ — generated deploy artifact; intentionally untracked.

GitHub Pages

The Pages workflow rebuilds and publishes dist/ after each push to main; pull requests run validation only. After the first push, set Settings → Pages → Build and deployment → Source to GitHub Actions. The workflow then reports the published URL in its deployment record.

Contributing and support

Read CONTRIBUTING.md before proposing a change. Textbook corrections need a chapter reference and a supporting source. Use the issue tracker for public defects and improvements; report suspected security concerns privately as described in SECURITY.md.

License

Website code is MIT licensed. Course textbook prose remains subject to its original course and institutional rights; the bundled fonts remain under their included SIL Open Font License. See LICENSE and static/fonts/LICENSE.txt.

About

Offline-first interactive textbook for CS1101: Introduction to C Programming.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages