{"id":27011429,"url":"https://github.com/pcon/site-starter","last_synced_at":"2025-10-07T14:45:48.277Z","repository":{"id":40829427,"uuid":"266891891","full_name":"pcon/site-starter","owner":"pcon","description":"A repository set up to create static pages using gulp for github pages","archived":false,"fork":false,"pushed_at":"2023-01-07T19:41:31.000Z","size":1425,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-12T22:33:28.022Z","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":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pcon.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":"2020-05-25T22:25:05.000Z","updated_at":"2024-04-24T20:04:55.000Z","dependencies_parsed_at":"2023-02-07T23:16:37.618Z","dependency_job_id":null,"html_url":"https://github.com/pcon/site-starter","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/pcon/site-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcon%2Fsite-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcon%2Fsite-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcon%2Fsite-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcon%2Fsite-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pcon","download_url":"https://codeload.github.com/pcon/site-starter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcon%2Fsite-starter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278794223,"owners_count":26046968,"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","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"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":[],"created_at":"2025-04-04T11:29:23.172Z","updated_at":"2025-10-07T14:45:48.256Z","avatar_url":"https://github.com/pcon.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Site Starter\n\nI've found myself leaning on github pages more and more for static sites.  Because I've this I've built this template repo as a staring point for static sites using [Gulp](https://gulpjs.com/) and [Github Pages](https://pages.github.com/).  In theory you shouldn't need to mess with any of the Gulp setting but instead just add files to their correct directories and modify the config file and the build the site.\n\n## Usage\n\n### Use This Template\n\nStart by clicking \"Use this template\" and check the \"Include all branches\" box and create this repo into your own account.  This will then give you a place to customize your site.\n\n**Make sure you check \"Include all branches\" or you will have to manually create the `gh-pages` branch yourself**\n\n### Create gh-pages branch\n\nSo, you didn't create the template with the \"Include all branches\" checkbox.  You can create a `gh-pages` branch and push manually one time.  I recommend that you [create an empty branch](https://stackoverflow.com/questions/34100048/github-create-empty-branch) for `gh-pages` and then push that with a simple \"hello world\" HTML page.  By doing this you will signify to the backend processes at GitHub that you plan on using gh-pages and that they should build your site.  If you don't, you'll have to spend a bunch of wasted time reaching out to support to get them to enable it.  Learn from my mistake.  Push something, anything, to the `gh-pages` branch manually at least once.\n\n### Configuration\n\nBy default the only thing you need to change in the `config/default.json` file is going to be the `site.url` key.  This is used when generating the `sitemap.xml`.  If you do not want to automatically generate a `sitemap.xml` you can set `site.sitemap` to `false` and it won't be generated.\n\n### Content\n\nNow you're ready to build your actual site.  Just put your content and it's structure under the `html/pages` directory.  The HTML files in there use [Nunjucks](https://mozilla.github.io/nunjucks/) for templating and the Gulp scripts support both the `html` and `nunjucks` file extensions.  You can modify / add more templates in the `templates` directory and your pages or other templates can utilize them.\n\n#### SASS / CSS\n\nI'd recommend using the `sass` directory for your styles.  This also allows you to install things via NPM and include them into your SASS files.  You can see in the [Bulma](https://bulma.io/documentation/customize/with-node-sass/) example how to install it with NPM and then simply add your `@import` line to include it.\n\nHowever if you want to just do CSS then it can go into the `css` directory and they will be copied over wholesale.\n\n#### Javascript\n\nPlace your javascript files in the `js` directory.  Because it's using [Browserify](http://browserify.org/) you can use NPM and `require` to include requirements.\n\n#### Images\n\nAll png, jpg, gif and svg files placed in the `img` directory will be copied over in the same structure that they exist.\n\n#### Static CSS / Javascript\n\nSometimes you need CSS or Javascript that comes from somewhere else or does not include SASS hooks.  These can be either put directly in the `js` or `css` directories or can be installed via something like NPM or [Yarn](https://yarnpkg.com/) and then the paths to the Javascript or CSS files added to the `static_files.js` or `static_files.css` array.  These paths are relative to the root of the repository.\n\n## Testing\n\nThe easiest way to test this is to run `npm run watch`.  This will run a live-refreshing server on port `9000` that you can develop your site with.  You can change the bind address, port and if you want it to live-refresh by changing the `server` settings in `config/default.json`\n\n## Building\n\nStart by [creating a personal access token](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line) and then add that to your [secrets](https://help.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets) as `ACCESS_TOKEN`.  Once that has been done then you can `git mv .github/disabled-workflows/build.yml .github/workflows/build.yml` and push you changes.  This should run the lint and build process and shortly your site should be available on the domain.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpcon%2Fsite-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpcon%2Fsite-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpcon%2Fsite-starter/lists"}