{"id":51320587,"url":"https://github.com/tmhsdigital/editorial-agency-frontend-demo","last_synced_at":"2026-07-01T13:01:22.506Z","repository":{"id":365131400,"uuid":"1270705811","full_name":"TMHSDigital/editorial-agency-frontend-demo","owner":"TMHSDigital","description":"Premium single-file editorial / brutalist-minimalism agency landing page demo (fictional brand: TMHS Digital). Hand-built HTML/CSS/vanilla JS, no framework, no build step. Companion to syncflow-frontend-demo.","archived":false,"fork":false,"pushed_at":"2026-06-16T02:19:56.000Z","size":4995,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-16T03:16:55.618Z","etag":null,"topics":["brutalism","demo","editorial-design","frontend","github-pages","html-css-javascript","landing-page","responsive-design","vanilla-js","web-design"],"latest_commit_sha":null,"homepage":"https://tmhsdigital.github.io/editorial-agency-frontend-demo/","language":"HTML","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/TMHSDigital.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":"2026-06-16T01:19:53.000Z","updated_at":"2026-06-16T02:19:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/TMHSDigital/editorial-agency-frontend-demo","commit_stats":null,"previous_names":["tmhsdigital/demo-site-3"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/TMHSDigital/editorial-agency-frontend-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TMHSDigital%2Feditorial-agency-frontend-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TMHSDigital%2Feditorial-agency-frontend-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TMHSDigital%2Feditorial-agency-frontend-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TMHSDigital%2Feditorial-agency-frontend-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TMHSDigital","download_url":"https://codeload.github.com/TMHSDigital/editorial-agency-frontend-demo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TMHSDigital%2Feditorial-agency-frontend-demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35007278,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-01T02:00:05.325Z","response_time":130,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["brutalism","demo","editorial-design","frontend","github-pages","html-css-javascript","landing-page","responsive-design","vanilla-js","web-design"],"created_at":"2026-07-01T13:01:19.648Z","updated_at":"2026-07-01T13:01:22.497Z","avatar_url":"https://github.com/TMHSDigital.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# TMHS Digital\n\n**A \"Chromatype Brutalism\" agency landing page contained in a single `index.html` file.**\n\nNo framework, no build step. The markup, styles, and scripts are self-contained, and the page renders directly in any modern browser.\n\n\u003cbr /\u003e\n\n[![View Live Site](https://img.shields.io/badge/View_Live_Site-B6451F?style=for-the-badge\u0026logo=githubpages\u0026logoColor=white)](https://tmhsdigital.github.io/editorial-agency-frontend-demo/)\n\n\u003cbr /\u003e\n\n[![Deploy to GitHub Pages](https://github.com/TMHSDigital/editorial-agency-frontend-demo/actions/workflows/deploy.yml/badge.svg)](https://github.com/TMHSDigital/editorial-agency-frontend-demo/actions/workflows/deploy.yml)\n[![License: MIT](https://img.shields.io/github/license/TMHSDigital/editorial-agency-frontend-demo?color=green)](LICENSE)\n![Last commit](https://img.shields.io/github/last-commit/TMHSDigital/editorial-agency-frontend-demo)\n![Repo size](https://img.shields.io/github/repo-size/TMHSDigital/editorial-agency-frontend-demo)\n![Top language](https://img.shields.io/github/languages/top/TMHSDigital/editorial-agency-frontend-demo)\n\n![HTML5](https://img.shields.io/badge/HTML5-E34F26?logo=html5\u0026logoColor=white)\n![CSS3](https://img.shields.io/badge/CSS3-1572B6?logo=css3\u0026logoColor=white)\n![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?logo=javascript\u0026logoColor=black)\n![No dependencies](https://img.shields.io/badge/dependencies-none-brightgreen)\n![Build](https://img.shields.io/badge/build-none-success)\n\n\u003c/div\u003e\n\n\u003e [!NOTE]\n\u003e TMHS Digital is a fictional studio created for this demo. The services, metrics, testimonials, and partner names are placeholders and do not represent real claims.\n\n\u003e [!TIP]\n\u003e This is one of a series of single-file frontend demos by [TMHSDigital](https://github.com/TMHSDigital). For a different brief — a conversion-focused B2B SaaS landing page — see the companion demo [**syncflow-frontend-demo**](https://github.com/TMHSDigital/syncflow-frontend-demo).\n\n## Overview\n\nThe page presents a fictional creative-engineering and strategic-projects agency as a complete site: a typographic hero, a capabilities grid, an Objection \u0026amp; Proof matrix, a selected-work ledger, and a closing invitation. It is a self-contained reference for building a high-end, type-led landing page without a frontend toolchain.\n\nThe art direction — **Chromatype Brutalism** — is a hybrid of raw architectural minimalism and high-end editorial typography. It deliberately rejects generic templates, centered text blocks, and curved-gradient modernism:\n\n- **Asymmetric grid.** A narrow structural rail offsets a massive primary canvas, and each section pairs a slim utility-notes column with a wide body. Generous, unexpected padding gives major statements absolute breathing room.\n- **Razor-thin structure.** Sections are separated by crisp 1px borders (`border-bottom` / `border-right`) rather than background blocks or heavy shadows.\n- **High-contrast type.** Two families only: Syne for aggressively large display headers with tight line-heights, juxtaposed against hyper-precise JetBrains Mono for labels, nav, and utility text.\n- **Raw industrial color.** A strict 60/30/10 split: raw-cement canvas (`#d9d5cc`), intense off-black ink (`#14130f`) for text and structure, and a single international-orange accent (`#f23c00`) reserved exclusively for active link states, focus indicators, and key touchpoints.\n- **Tactile motion.** Hover states use a weighted, mechanical `transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1)` — like shifting a solid physical toggle, never bouncy.\n- **Responsiveness.** The irregular grid collapses to a single, strictly left-aligned column on small screens, navigation condenses to a minimal menu, and touch targets are thumb-sized. No content is hidden inside carousels.\n\n## Screenshots\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"docs/screenshots/hero.png\" width=\"900\" alt=\"TMHS Digital hero section\" /\u003e\n\n\u003cbr /\u003e\u003cbr /\u003e\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd width=\"50%\"\u003e\u003cimg src=\"docs/screenshots/services.png\" alt=\"Capabilities grid\" /\u003e\u003c/td\u003e\n    \u003ctd width=\"50%\"\u003e\u003cimg src=\"docs/screenshots/proof.png\" alt=\"Objection and proof matrix\" /\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003csub\u003eCapabilities\u003c/sub\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003csub\u003eObjection \u0026amp; proof matrix\u003c/sub\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cbr /\u003e\n\n\u003cimg src=\"docs/screenshots/mobile.png\" width=\"280\" alt=\"Responsive layout on mobile\" /\u003e\n\n\u003cbr /\u003e\n\u003csub\u003eResponsive layout on mobile\u003c/sub\u003e\n\n\u003c/div\u003e\n\nThese images are regenerated with the capture script in [`scripts/screenshots/`](scripts/screenshots/).\n\n## Sections\n\n| Section | Purpose |\n| --- | --- |\n| Hero | States the studio's position with an aggressively large headline, a utility-notes column, and the framed structural-showcase image |\n| Manifest strip | A running marquee of the studio's disciplines |\n| Capabilities | A 6-cell grid built on fine border lines and clean mechanical hover fills |\n| Objection \u0026amp; Proof matrix | Pairs each struck-through objection with a single raw numerical proof — no stars, no logos |\n| Work | A selected-engagement ledger with hover-weighted rows |\n| Contact | Closes with a low-friction enquiry prompt on an inverted ink panel |\n\n## Implementation\n\nAll styling lives in a single `\u003cstyle\u003e` block and all behavior in a single `\u003cscript\u003e`. The only external resource is Google Fonts; the hero image is a local asset (`image_5bce99.png`).\n\nThe CSS uses custom properties for theming, CSS grid for the asymmetric layouts, and `clamp()` for typography and spacing that scale fluidly with the viewport. JavaScript is limited to one responsibility: the mobile menu toggle. All content remains visible and legible if JavaScript does not execute, and the manifest-strip animation is disabled under `prefers-reduced-motion`.\n\n## Local development\n\nNo dependencies or build step are required.\n\n```bash\ngit clone https://github.com/TMHSDigital/editorial-agency-frontend-demo.git\ncd editorial-agency-frontend-demo\n```\n\nOpen `index.html` directly, or serve it over HTTP to match production behavior:\n\n```bash\npython -m http.server 8000   # http://localhost:8000\n```\n\n## Deployment\n\nPushing to `main` runs [`.github/workflows/deploy.yml`](.github/workflows/deploy.yml), which publishes the site to GitHub Pages.\n\n\u003e [!TIP]\n\u003e To configure this on a fork, open **Settings → Pages → Build and deployment**, set **Source** to **GitHub Actions**, and push to `main`.\n\n## Customization\n\nThe design tokens are defined at the top of the `\u003cstyle\u003e` block:\n\n```css\n:root {\n  --cement: #d9d5cc;  /* dominant 60% — raw cement canvas  */\n  --ink:    #14130f;  /* 30% — intense off-black text       */\n  --accent: #f23c00;  /* 10% — international orange, accent  */\n}\n```\n\nUpdating `--accent` re-themes every interactive touchpoint at once. Replace the Google Fonts link and the `font-family` declarations to change the type. Swap `image_5bce99.png` at the repo root for your own photograph or render — any aspect ratio works, since the frame uses `object-fit: cover`. All copy is plain HTML and can be edited in place.\n\n## Project structure\n\n```\n.\n├── index.html                   # complete site (HTML, CSS, JS)\n├── 404.html                     # branded not-found page\n├── image_5bce99.png             # hero asset\n├── robots.txt                   # crawler directives\n├── sitemap.xml                  # search-engine sitemap\n├── docs/screenshots/            # README images\n├── scripts/screenshots/         # headless-Chrome capture tooling\n├── .github/workflows/deploy.yml # GitHub Pages deployment\n├── .gitattributes               # line-ending normalization\n├── .gitignore\n├── LICENSE\n└── README.md\n```\n\n## License\n\nReleased under the [MIT License](LICENSE). Type — Syne and JetBrains Mono — is licensed under the [SIL Open Font License](https://openfontlicense.org/).\n\n\u003cdiv align=\"center\"\u003e\n\u003cbr /\u003e\n\n[**Live site**](https://tmhsdigital.github.io/editorial-agency-frontend-demo/) · [**Report an issue**](https://github.com/TMHSDigital/editorial-agency-frontend-demo/issues) · [**Companion demo**](https://github.com/TMHSDigital/syncflow-frontend-demo) · [**MIT License**](LICENSE)\n\n\u003csub\u003eBuilt by \u003ca href=\"https://github.com/TMHSDigital\"\u003eTMHSDigital\u003c/a\u003e · \u003ca href=\"#tmhs-digital\"\u003eBack to top ↑\u003c/a\u003e\u003c/sub\u003e\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmhsdigital%2Feditorial-agency-frontend-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftmhsdigital%2Feditorial-agency-frontend-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmhsdigital%2Feditorial-agency-frontend-demo/lists"}