{"id":20825868,"url":"https://github.com/upstatement/puppy","last_synced_at":"2025-05-07T20:36:02.039Z","repository":{"id":51337318,"uuid":"202724113","full_name":"Upstatement/puppy","owner":"Upstatement","description":"Starter kit and delivery system for building static prototypes with Twig","archived":false,"fork":false,"pushed_at":"2023-05-26T17:22:06.000Z","size":1649,"stargazers_count":41,"open_issues_count":7,"forks_count":4,"subscribers_count":13,"default_branch":"main","last_synced_at":"2023-05-26T18:25:59.962Z","etag":null,"topics":["gulp","prototyping","puppy","starter-kit","template","twig","webpack"],"latest_commit_sha":null,"homepage":"https://puppy-template.upstatement.com/","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/Upstatement.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}},"created_at":"2019-08-16T12:30:53.000Z","updated_at":"2023-05-26T18:25:59.962Z","dependencies_parsed_at":"2022-09-24T19:50:38.461Z","dependency_job_id":null,"html_url":"https://github.com/Upstatement/puppy","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Upstatement%2Fpuppy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Upstatement%2Fpuppy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Upstatement%2Fpuppy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Upstatement%2Fpuppy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Upstatement","download_url":"https://codeload.github.com/Upstatement/puppy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225101897,"owners_count":17421082,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["gulp","prototyping","puppy","starter-kit","template","twig","webpack"],"created_at":"2024-11-17T23:07:00.316Z","updated_at":"2024-11-17T23:07:01.413Z","avatar_url":"https://github.com/Upstatement.png","language":"HTML","readme":"![puppy-placeholder](https://user-images.githubusercontent.com/1298086/77470457-14ad5c00-6de7-11ea-9ab7-4c8f092657e7.png)\n\n# {{ Your Next Great Prototype }} ![Prerequisite](https://img.shields.io/badge/node-10.13.0-blue.svg) ![Prerequisite](https://img.shields.io/badge/npm-6.4.1-blue.svg)\n\n\u003e {{ Your next great prototype description }}\n\n## 📜 About\n\n- Pages are authored in HTML or, optionally, [Twig](https://github.com/twigjs/twig.js/wiki) and live in the [`src/pages`](src/pages) directory.\n- Twig templates and partials live in [`src/templates`](src/templates).\n- Site data files live in [`src/data`](src/data). Drop any `.json`, `.yml`, or `.js` file exporting a function into this directory and access the resulting data in Twig templates using `{{ site.data['path/to/file.ext'] }}`. Powered by [Puppy](https://www.npmjs.com/package/@upstatement/puppy).\n- Styles are authored with [Sass](https://sass-lang.com/) and live in [`src/scss`](src/scss).\n- Javascripts live in [`src/js`](src/js). They are transipiled at build time with [Babel](https://babeljs.io/) so that they can take advantage of [modern JS syntax](https://babeljs.io/docs/en/learn)\n- Any files in the [`public`](public) directory are copied to the web root recursively at build time.\n- Static assets are bundled at build time using [Webpack](https://webpack.js.org/).\n- All source assets are pulled together with [Gulp](https://gulpjs.com/) and used to generate a static site in the `dist` directory.\n\n## ✨ Install\n\n```sh\n# Install Node \u0026 NPM with [NVM](https://github.com/nvm-sh/nvm)\nnvm install\n\n# Install project dependencies\nnpm install\n```\n\n## 👩‍💻 Usage\n\n### Development\n\n```sh\n# Start a local dev server\nnpm start\n\n# Check for JS/SCSS style violations prior to commit\nnpm run lint\n\n# Fix the fixable linter violations\nnpm run lint:fix\n\n# Format code with Prettier\nnpm run format\n```\n\n### Production\n\n```sh\n# Build for production\nnpm run build\n\n# Serve locally using `serve`\nnpx serve dist\n```\n\n### Removing Tests\n\nThis repository includes some automated [tests](https://github.com/Upstatement/puppy/tree/main/tests) that are not necessary when using Puppy as a starting template. To remove them, follow these steps:\n\n1. Remove ava from project dependencies `npm uninstall --save-dev ava`\n2. Remove the [`test` npm script](https://github.com/Upstatement/puppy/blob/main/package.json#L25)\n3. Remove [`ava` config from package.json](https://github.com/Upstatement/puppy/blob/main/package.json#L36-L38)\n4. Remove the [test step in the GitHub workflow](https://github.com/Upstatement/puppy/blob/main/.github/workflows/main.yml#L33)\n\n### Thumbnail Previews\n\nYou can capture screenshots of your pages by setting the `thumbnail` attribute to `auto` in your page's front matter header:\n\n```yml\nthumbnail: auto\n```\n\nThe next time you run `npm run build` a screenshot will be generated for that page and displayed in the prototype index.\n\nIf the automated screenshots aren't cutting it, you can provide your own by dropping an image into the `public/thumbnails` directory and referencing its name in your page's front matter header:\n\n**Page**: `src/pages/example.html`\n\n**Thumbnail**: `public/screenshots/example.png`\n\n**Front Matter**:\n\n```yml\nthumbnail: example.png\n```\n\n## Deployment\n\nThe output of `npm run build` is a static site. You can drop the resulting `dist` directory on any web server.\n\nAn excellent choice is [Netlify](https://www.netlify.com/). You can deploy your work to Netlify with their [CLI tool](https://github.com/netlify/cli).\n\n```sh\nnpm install netlify-cli -g\nnetlify init\nnetlify deploy\n```\n\n## Examples \u0026 Links\n\n- **Blog Post:** Read about [the project](https://medium.com/stories-from-upstatement/hello-puppy-a-speedy-web-development-starter-kit-from-upstatement-92b94d1f1147?source=collection_home---4------0-----------------------), its philosophy and goals\n- **Demo:** View the [Puppy Demo](https://github.com/Upstatement/puppy-demo) to see a sample project \u003chttps://puppy-demo.upstatement.com/\u003e\n- **Tutorial:** Follow the [tutorial](https://puppy-template.upstatement.com/tutorial.html) to get up and running\n- View the [default template](https://puppy-template.upstatement.com/): this is the starting place once you clone and run Puppy for the first time\n\n![Overview](https://user-images.githubusercontent.com/1298086/85171525-2b741b00-b23d-11ea-9542-0d223cd0ef2d.png)\n\n## 📝 License\n\nCopyright \u0026copy; 2020 Upstatement, LLC\n\n---\n\nA [Puppy](https://github.com/Upstatement/puppy) 🐶 powered project\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupstatement%2Fpuppy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fupstatement%2Fpuppy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupstatement%2Fpuppy/lists"}