{"id":20128188,"url":"https://github.com/thenewdynamic/laurencerand.com","last_synced_at":"2026-04-04T02:16:10.876Z","repository":{"id":34568779,"uuid":"38514815","full_name":"theNewDynamic/laurencerand.com","owner":"theNewDynamic","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-09T23:09:10.000Z","size":10273,"stargazers_count":0,"open_issues_count":2,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-10T00:19:47.688Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/theNewDynamic.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"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}},"created_at":"2015-07-03T23:52:16.000Z","updated_at":"2025-01-09T23:09:14.000Z","dependencies_parsed_at":"2024-11-13T20:40:03.526Z","dependency_job_id":null,"html_url":"https://github.com/theNewDynamic/laurencerand.com","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theNewDynamic%2Flaurencerand.com","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theNewDynamic%2Flaurencerand.com/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theNewDynamic%2Flaurencerand.com/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theNewDynamic%2Flaurencerand.com/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theNewDynamic","download_url":"https://codeload.github.com/theNewDynamic/laurencerand.com/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233712041,"owners_count":18718136,"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":[],"created_at":"2024-11-13T20:26:05.058Z","updated_at":"2025-09-21T04:32:07.287Z","avatar_url":"https://github.com/theNewDynamic.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The New Dynamic Hugo Starter\n\nThis is a starter repo for The New Dynamic's web projects. Do with as you wish, but keep in mind that everything here is designed for our internal workflow.\n\nWe use a [Changelog](https://github.com/theNewDynamic/hugo-starter/blob/master/CHANGELOG.md) on all of our projects. Please see that file for updates.\n\n## tools\n\n - [Hugo](http://gohugo.io/), to generate HTML\n - [Webpack 4+](https://webpack.js.org/)\n - Prettier (code formatting, wip)\n - PostCSS | [TailwindsCSS](https://tailwindcss.com/) (library of JS-based CSS classes ) | [PurgeCSS](https://www.purgecss.com/) (removes unused CSS)\n - JS: [Turbolinks](https://github.com/turbolinks/turbolinks) sometimes (HTML5 History API for faster navigation)\n - JS: [Lazysizes](https://github.com/aFarkas/lazysizes) (lazy asset loading)\n - [KyleAMathews/typefaces](https://github.com/KyleAMathews/typefaces) (load OS fonts locally with one little `require`)\n\n## To Use\n\n`git clone https://github.com/theNewDynamic/hugo-starter.git yourprojectname`\n\n`cd yourprojectname`\n\n`rm -rf .git`\n\n`git init`\n\n`git add .`\n\n`git commit -m \"initial commit\"`\n\n`git remote add origin https://github.com/theNewDynamic/YOURPROJECTNAME.git`\n\n`git push -u origin master`\n\n`git submodule add https://github.com/theNewDynamic/hugo-layout_module-base.git layout_modules/hugo-layout_module-base`\n\nrepeat for additional modules\n\nAdd [theme component](https://gohugo.io/themes/theme-components) to config.toml:\n\n- `theme = [\"hugo-layout_module-base\", \"hugo-layout_module-nameofmodule\"]`\n\n_Note. Hugo uses the \"themes\" directory by default. We've renamed that to `layout_modules`._\n\n\n## Assets\n\nTo build JS files, we use webpack. The entry point is `./assets/index.js` for adding new scripts. \n\n- Add the script via Yarn (`yarn add scriptname -D`).\n- Place a file in the JS folder and add the script, or, preferably, require/import it from its node module.\n- Import the file (`import \"./js/scriptname.js\"`) in the index.js file.\n\n### Building Asset Files with Webpack\n\n1) `yarn install`\n2) `yarn build-dev` or `yarn build` if you want to generate the file once.\n\n### Fonts.\n\nWhen possible, we use Kyle Mathews' [Typefaces](https://github.com/KyleAMathews/typefaces) so that we can server our font files locally. Just add the typeface to `assets/index.js` and run the webpack build, as above (`yarn build`). This will generate the font files into the `static/fonts` directory (which Hugo will automatically copy into the public directory) and generate a fonts CSS file, which then Hugo will minify and fingerprint into your head. \n\n\n### CSS\n\nWe use TailwindCSS and several PostCSS plugins to generate CSS. Most of your CSS will be utility classes in your templates. Hugo will not [rebuild](https://discourse.gohugo.io/t/regenerating-assets-directory-for-hugo-pipes/13175) your CSS file unless the file itself is changed. In a TailwindCSS context, most of your work occurs in templates, not in the CSS file. To make development easier, we've created a separate PostCSS [config](https://github.com/postcss/postcss-cli#config) file without PurgeCSS. However, this means you must run `yarn deploy` (as outline below) for you push your changes.\n\n## Deployment\n\n1) **Before deploying, run `yarn deploy` (or `hugo --gc` if you're not generating fonts or JS) to generate a minified, purged CSS file.** \n2) Check the `resources` folder into your repository.\n\n### Other Notes\n\n- PurgeCSS will fail if any of your templates are empty.\n- If you add themes, you may need to add the file location in the PurgeCSS `content` configuration item. This is done for you, with a glob pattern, but it is something to be aware of.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthenewdynamic%2Flaurencerand.com","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthenewdynamic%2Flaurencerand.com","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthenewdynamic%2Flaurencerand.com/lists"}