{"id":13930235,"url":"https://github.com/jbritten/Bermuda","last_synced_at":"2025-07-19T12:32:00.973Z","repository":{"id":39050919,"uuid":"281818181","full_name":"jbritten/Bermuda","owner":"jbritten","description":"Ghost theme using Tailwind CSS and webpack","archived":false,"fork":false,"pushed_at":"2023-01-06T12:13:35.000Z","size":3330,"stargazers_count":21,"open_issues_count":22,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-08-08T18:26:51.441Z","etag":null,"topics":["ghost","ghost-theme","tailwind-css","tailwindcss","webpack"],"latest_commit_sha":null,"homepage":"https://www.prefinery.com/blog/","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/jbritten.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-07-23T01:14:52.000Z","updated_at":"2024-05-06T11:57:37.000Z","dependencies_parsed_at":"2023-02-06T01:32:08.429Z","dependency_job_id":null,"html_url":"https://github.com/jbritten/Bermuda","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/jbritten%2FBermuda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbritten%2FBermuda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbritten%2FBermuda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbritten%2FBermuda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jbritten","download_url":"https://codeload.github.com/jbritten/Bermuda/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226607618,"owners_count":17658484,"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":["ghost","ghost-theme","tailwind-css","tailwindcss","webpack"],"created_at":"2024-08-07T18:05:23.288Z","updated_at":"2024-11-26T19:30:57.806Z","avatar_url":"https://github.com/jbritten.png","language":"HTML","funding_links":[],"categories":["webpack"],"sub_categories":[],"readme":"# Bermuda\n\nA [Ghost](http://github.com/tryghost/ghost/) theme using [Tailwind CSS](https://tailwindcss.com/), [Prism](https://prismjs.com/) for syntax highlighting, and [FontAwesome](https://fontawesome.com/) for vector icons. Everything bundled together with [Webpack](https://webpack.js.org/).\n\n# First time using a Ghost theme?\n\nGhost uses a simple templating language called [Handlebars](http://handlebarsjs.com/) for its themes.\n\nThis theme has lots of code comments to help explain what's going on just by reading the code. Once you feel comfortable with how everything works, we also have full [theme API documentation](https://ghost.org/docs/api/handlebars-themes/) which explains every possible Handlebars helper and template.\n\n**The main files are:**\n\n- `default.hbs` - The parent template file, which includes your global header/footer\n- `index.hbs` - The main template to generate a list of posts, usually the home page\n- `post.hbs` - The template used to render individual posts\n- `page.hbs` - Used for individual pages\n- `tag.hbs` - Used for tag archives, eg. \"all posts tagged with `news`\"\n- `author.hbs` - Used for author archives, eg. \"all posts written by Jamie\"\n\nOne neat trick is that you can also create custom one-off templates by adding the slug of a page to a template file. For example:\n\n- `page-about.hbs` - Custom template for an `/about/` page\n- `tag-news.hbs` - Custom template for `/tag/news/` archive\n- `author-ali.hbs` - Custom template for `/author/ali/` archive\n\n# Development\n\nStyles are compiled using Webpack/PostCSS. You'll need [Node](https://nodejs.org/), [Yarn](https://yarnpkg.com/) and [Webpack](https://webpack.js.org/) installed. After that, from the theme's root directory:\n\n```bash\n# install dependencies\nyarn install\n\n# run development server\nyarn dev\n```\n\n# PostCSS Features Used\n\n- Autoprefixer - Don't worry about writing browser prefixes of any kind, it's all done automatically with support for the latest 2 major versions of every browser.\n- PurgeCSS - Remove unused CSS.\n- cssnano - Takes your nicely formatted CSS and runs it through many focused optimisations, to ensure that the final result is as small as possible for a production environment.\n\n# Icons\n\nWe use [FontAwesome](https://fontawesome.com/) SVG JavaScript Core. Using `fontawesome-svg-core` allows us to create a subset of icons and reduce the final bundled file size. To incude an icon in the build, edit the `src/index.js` file and add it to the import list. To use an icon, simply reference it in your HTML as `\u003ci class=\"fas fa-play-circle\"\u003e\u003c/i\u003e`.\n\n# Deployment\n\n## Manual\n\nTo compile assets for production, purge css, and package into a zip file, run:\n\n```bash\nyarn build\n```\n\nThe theme files are zipped into `theme.zip`, which you can then upload to your site.\n\n## Automated\n\nYou can automate the deployment of your theme by using [Ghost's Admin API](https://ghost.org/docs/api/v3/admin/) and [Github Actions](https://github.com/features/actions).\n\nStart by creating Ghost Admin API keys ([docs](https://ghost.org/docs/api/v3/admin/#token-authentication)) and copy the Content API Key and Admin API Key to GitHub Secrets ([docs](https://docs.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets)) using the keys `GHOST_ADMIN_API_URL` and `GHOST_ADMIN_API_KEY`.\n\nPlace the following into `.github/workflows/deploy-theme.yml` and your theme will automatically be updated upon `git push origin master`. \n\n```yaml\n# This workflow will build the theme and submit to Ghost using the Admin API.\nname: Deploy Theme\non:\n  push:\n    branches:\n      - master\njobs:\n  deploy:\n    runs-on: ubuntu-18.04\n    steps:\n      - name: Checkout theme\n        uses: actions/checkout@v2\n\n      - name: Setup Node.js 12.x\n        uses: actions/setup-node@v1\n        with:\n          node-version: '12.x'\n      \n      - name: Intall dependencies\n        run: yarn --frozen-lockfile\n\n      - name: Build theme\n        run: yarn build\n\n      - name: Deploy theme\n        uses: TryGhost/action-deploy-theme@v1.4.0\n        with:\n          api-url: ${{ secrets.GHOST_ADMIN_API_URL }}\n          api-key: ${{ secrets.GHOST_ADMIN_API_KEY }}\n          theme-name: bermuda\n          file: theme.zip\n```\n\n# Copyright \u0026 License\n\nCopyright (c) 2020 Compulsivo, Inc. - Released under the [MIT license](LICENSE).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbritten%2FBermuda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjbritten%2FBermuda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbritten%2FBermuda/lists"}