{"id":18666315,"url":"https://github.com/marcionicolau/atlas-netlify","last_synced_at":"2025-10-26T21:10:52.906Z","repository":{"id":147866554,"uuid":"129568344","full_name":"marcionicolau/atlas-netlify","owner":"marcionicolau","description":null,"archived":false,"fork":false,"pushed_at":"2018-04-15T01:53:30.000Z","size":132,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-27T17:45:18.768Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/marcionicolau.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}},"created_at":"2018-04-15T01:52:18.000Z","updated_at":"2018-04-15T01:53:38.000Z","dependencies_parsed_at":"2023-05-27T18:15:32.353Z","dependency_job_id":null,"html_url":"https://github.com/marcionicolau/atlas-netlify","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/marcionicolau%2Fatlas-netlify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcionicolau%2Fatlas-netlify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcionicolau%2Fatlas-netlify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcionicolau%2Fatlas-netlify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcionicolau","download_url":"https://codeload.github.com/marcionicolau/atlas-netlify/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239493677,"owners_count":19647995,"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-07T08:31:43.585Z","updated_at":"2025-10-26T21:10:47.858Z","avatar_url":"https://github.com/marcionicolau.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Atlas, Hugo Boilerplate](https://atlas.indigotree.co.uk/images/github-banner.png)](https://github.com/indigotree/atlas)\n\n![](http://forthebadge.com/images/badges/uses-badges.svg) ![](http://forthebadge.com/images/badges/built-by-developers.svg) ![](http://forthebadge.com/images/badges/gluten-free.svg)\n\n# Atlas\n\nThe [Hugo](https://gohugo.io/) boilerplate we use for our projects.\n\n**Disclaimer** - This boilerplate has been heavily integrated with [Netlify](https://www.netlify.com/), and therefore many features are specific to the Netlify platform and may not work with other hosting providers.\n\n**Disclaimer** - Atlas is a boilerplate (starter kit) for bespoke Hugo projects. It's not a Hugo theme and cannot be placed inside the `/themes` directory. Check the [theme](#themes) docs for more information.\n\n## Features\n\nAtlas provides the following features out of the box:\n\n* A set of [Gulp](/gulpfile.babel.js) tasks for SASS, Linting, ES2015, Image compression\n* Environment driven `robots.txt` file (disallows robots on everything other than production)\n* Base HTML templates with easy customisation/extension\n* [Configuration](/netlify.toml) for Netlify deployments\n* [Better defaults](#security-headers) for configuring HTTPS\n* [Better redirects](#redirects) with Netlify instead of `\u003cmeta http-equiv=\"refresh\"\u003e`\n\n## Prerequisite\n\nAtlas does not include a copy of the `hugo` binary. You will need to [install Hugo](https://gohugo.io/getting-started/installing/) first you can run any of the [commands](#available-commands) mentioned below.\n\n## Getting Started\n\nTo get started, you can either clone the repository, or deploy straight to [Netlify](#deploy-to-netlify). Then run the following from the project root:\n\n```\nnpm install\nnpm run server\n```\n\n### Available Commands\n\nThere are 3 commands available:\n\n* `npm run build` - Builds assets (sass, js, fonts, images) and runs `hugo`\n* `npm run build:preview` - The same as `build`, but runs `hugo --buildDrafts --buildFuture`\n* `npm run server` - Runs BrowserSync and watches for changes, running `build` when changes are detected\n\n## Robots.txt\n\nA default robots.txt can be found at `/layouts/robots.txt` which is configured to disallow crawlers when the `HUGO_ENV` environment variable is **not** set to `\"production\"`.\n\nThe default behaviour is to disallow search engines on \"branch\" deployments. If you're using split testing, you will need to modify the default robots.txt template to ensure your branch deployments can be indexed.\n\n## Headers\n\nHeaders can be configured within `/layouts/index.headers`, which is then built to `/public/_headers`.\n\nThis is a Netlify feature. Learn more about [Headers with Netlify](https://www.netlify.com/docs/headers-and-basic-auth/).\n\n### Security Headers\n\nAtlas comes with some default headers to help you better protect your site. The default headers we include are: [X-Frame-Options](https://scotthelme.co.uk/hardening-your-http-response-headers/#x-frame-options), [X-XSS-Protection](https://scotthelme.co.uk/hardening-your-http-response-headers/#x-xss-protection), [X-Content-Type-Options](https://scotthelme.co.uk/hardening-your-http-response-headers/#x-content-type-options), [Referrer-Policy](https://scotthelme.co.uk/a-new-security-header-referrer-policy/).\n\nThese headers are configured with the following values:\n\n```\nX-Frame-Options: DENY\nX-XSS-Protection: 1; mode=block\nX-Content-Type-Options: nosniff\nReferrer-Policy: origin-when-cross-origin\n```\n\n## Redirects\n\nRedirect rules can be appended to `/layouts/index.redirects`, which is then built to `/public/_redirects`.\n\nThis is a Netlify feature. Learn more about [Netlify Redirects](https://www.netlify.com/docs/redirects/).\n\n### Aliases\n\nHugo [Aliases](https://gohugo.io/content-management/urls/#aliases) are usually handled by `\u003cmeta http-equiv=\"refresh\" ...\u003e` tags. These have been disabled within `config.toml` with `disableAliases = true`, and instead are handled by [Netlify Redirects](https://www.netlify.com/docs/redirects/). This is handled automatically and you should continue to add aliases as described in the Hugo documentation.\n\n## Netlify CMS\n\nAtlas provides a copy of [Netlify CMS](https://www.netlifycms.org/) which is a fantastic CMS for JAMstack sites where everything is managed by GIT.\n\nYou will need to configure Netlify CMS to point to your own repo. You can do this within `/static/admin/config.yml` by updating `backend: repo:` with your repository information. Here's an example:\n\n```\nbackend:\n  name: github\n  repo: indigotree/atlas\n```\n\nCheckout the [quick start](https://www.netlifycms.org/docs/quick-start/) section on the Netlify CMS docs for more information.\n\n### Remove Netlify CMS\n\nIf Netlify CMS isn't your thing, you can remove it with:\n\n```\nnpm run cms:delete\n```\n\n## Themes\n\nAtlas is a boilerplate (starter kit) designed to aid bespoke Hugo development. Using existing themes with Atlas is possible, but unsupported.\n\nAtlas files will take priority over your theme due to the order Hugo looks for files. For this reason, you will have to remove most of the files inside `/layouts` with the exception of `_headers`, `_redirects` and `robots.txt`.\n\nIf you wish the develop your site as a theme inside Atlas, you can copy `/layouts` into your theme and update the references within the `gulpfile.babel.js`.\n\n\n## File Structure\n\n```\n│\n└──── /layouts               - Template files\n│   │ 404.html               - 404 Template\n│   │ index.headers          - Custom Netlify HTTP headers\n│   │ index.redirects        - Custom Netlify redirect rules\n│   │ robots.txt             - Template for robots.txt\n│   │\n│   └──── /_default          - Base templates for list \u0026 singular pages\n│   │   │ baseof.html        - Base template\n│   │   │ list.html          - List/taxonomy template\n│   │   │ single.html        - Singular page/post template\n│   │\n│   └──── /partials          - Partials\n│       │\n│       └──── /site          - Site partials loaded into _default/baseof.html template\n│           │ meta.html      - Site \u003cmeta\u003e tags\n│           │ header.html    - Sites primary \u003cheader\u003e\n│           │ footer.html    - Sites primary \u003cfooter\u003e\n│           │ scripts.html   - JavaScript \u003cscript\u003e referenced before closing \u003c/body\u003e\n│           │ styles.html    - Stylesheets referenced before closing \u003c/head\u003e\n│   │\n|   └──── /src               - Source files for assets (SASS, JS, Images, Fonts etc)\n│   │\n│   └──── /static            - Hugo static resources\n│       │\n│       └──── /admin         - Netlify CMS templates\n│\n│ .gitignore\n│ .sass-lint.yml             - Linting rules for sass-lint\n│ LICENSE\n│ README.md\n│ config.toml                - Hugo configuration\n│ gulpfile.babel.js          - Gulp configuration/tasks\n│ netlify.toml               - Netlify configuration\n│ package.json\n```\n\n## Deploy to Netlify\n\nYou can deploy directly to Netlify using this button:\n\n[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/indigotree/atlas)\n\n## License\n\nMIT © [Indigo Tree](https://indigotree.co.uk)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcionicolau%2Fatlas-netlify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcionicolau%2Fatlas-netlify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcionicolau%2Fatlas-netlify/lists"}