{"id":26269558,"url":"https://github.com/chrisnajman/simple-template","last_synced_at":"2026-04-26T17:31:51.424Z","repository":{"id":281512892,"uuid":"942181340","full_name":"chrisnajman/simple-template","owner":"chrisnajman","description":"Useful for presenting snippets and simple widgets.","archived":false,"fork":false,"pushed_at":"2026-03-05T07:17:53.000Z","size":130,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-05T12:28:26.664Z","etag":null,"topics":["css-nesting","es6-modules","html-css-javascript","loading-spinner","mobile-menu","theme-switcher"],"latest_commit_sha":null,"homepage":"https://chrisnajman.github.io/simple-template/","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chrisnajman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-03T17:49:24.000Z","updated_at":"2026-03-05T07:17:51.000Z","dependencies_parsed_at":"2025-06-01T16:22:19.077Z","dependency_job_id":"eef1a5f0-c8e0-4c47-822a-72cfece313af","html_url":"https://github.com/chrisnajman/simple-template","commit_stats":null,"previous_names":["chrisnajman/simple-template"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/chrisnajman/simple-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisnajman%2Fsimple-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisnajman%2Fsimple-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisnajman%2Fsimple-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisnajman%2Fsimple-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chrisnajman","download_url":"https://codeload.github.com/chrisnajman/simple-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisnajman%2Fsimple-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32307010,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T17:23:19.671Z","status":"ssl_error","status_checked_at":"2026-04-26T17:23:19.195Z","response_time":129,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css-nesting","es6-modules","html-css-javascript","loading-spinner","mobile-menu","theme-switcher"],"created_at":"2025-03-14T05:15:05.486Z","updated_at":"2026-04-26T17:31:51.406Z","avatar_url":"https://github.com/chrisnajman.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Simple Template\n\nUseful for presenting snippets and simple widgets.\n\n## Features\n\n- Loading animation,\n- responsive menu,\n- theme switcher.\n\n[View on GitPage](https://chrisnajman.github.io/simple-template)\n\n## JavaScript\n\nBuilt with **vanilla ES6 JavaScript**, focusing on modern syntax and browser APIs.\n\nThe JavaScript has been split into separate modules, improving code modularity:\n\n- `module-placeholder.js`: Empty module, imported into `index.js`.\n- `hamburger-button.js`: See [Accessible Mobile Menu Git repository](https://github.com/chrisnajman/accessible-mobile-menu)\n- `loader.js`: See [Loader Git repository](https://github.com/chrisnajman/loader)\n- `theme.js`: Handles theme toggling (light/dark mode) and local storage management.\n\n---\n\n## Theme Toggling\n\nThe application includes a dark mode and light mode toggle:\n\n- The current theme state is stored in **local storage** and applied automatically on page reload.\n- Accessible buttons with appropriate ARIA attributes are used to improve usability.\n\n\u003e [!IMPORTANT]\n\u003e Remember to change `const LOCAL_STORAGE_PREFIX` in `js-modules/theme.js` to a unique identifier.\n\n---\n\n## Accessibility\n\nThe site is fully navigable using tab keys and up/down arrows.\n\n---\n\n## Testing and Compatibility\n\nThe application has been tested on the following platforms and browsers:\n\n- **Operating System**: Windows 10\n- **Browsers**:\n  - Google Chrome\n  - Mozilla Firefox\n  - Microsoft Edge\n\n### Device View Testing\n\nThe layout and functionality have been verified in both browser and device simulation views to ensure responsiveness and usability.\n\n---\n\n## How to Run\n\n1. Clone or download the repository to your local machine.\n2. Open the project folder and start a simple HTTP server (e.g., using `Live Server` in VS Code or Python's `http.server` module).\n3. Open the project in a modern browser (e.g., Chrome, Firefox, or Edge).\n\n---\n\n## Build \u0026 Deployment Setup for `/docs` Folder\n\nIf you want to deploy a minified version of this project to **GitHub Pages**, read on.\n\n### 1. Install Required Packages\n\nRun this once in your project root to install dev dependencies:\n\n```bash\nnpm install\n```\n\n### 2. Run the full build process\n\n\u003e [!IMPORTANT]\n\u003e Any assets not described in `package.json` must be added. In the current project we don't have an `img` folder. If you create one and add images to it, you have to add this to `copy:assets`, e.g.\n\n#### Current `package.json`\n\n```\n\"copy:assets\": \"shx cp -r  site.webmanifest favicon.ico favicon-16x16.png favicon-32x32.png apple-touch-icon.png android-chrome-192x192.png android-chrome-512x512.png docs/\",\n```\n\n#### Updated `package.json` with \"img\"\n\n```\n\"copy:assets\": \"shx cp -r  img site.webmanifest favicon.ico favicon-16x16.png favicon-32x32.png apple-touch-icon.png android-chrome-192x192.png android-chrome-512x512.png docs/\",\n```\n\netc, etc.\n\nThen in the terminal, run:\n\n```bash\nnpm run build\n```\n\n### 3. Deploy to GitHub Pages\n\nOnce you've created a repository and pushed the files,\n\n- go to `https://github.com/[your-name]/[your-project-name]/settings/pages`.\n- Under \"Build and deployment \u003e Branch\" make sure you set the branch to `main` and folder to `/docs`.\n- Click \"Save\".\n\n\u003e [!NOTE]\n\u003e For a detailed description of the build process, configuration files and npm packages see my [GitHub Pages Optimised Build](https://github.com/chrisnajman/github-pages-optimised-build).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisnajman%2Fsimple-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrisnajman%2Fsimple-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisnajman%2Fsimple-template/lists"}