{"id":13554378,"url":"https://github.com/empress/empress-blog","last_synced_at":"2025-04-05T17:03:08.002Z","repository":{"id":32573192,"uuid":"137070673","full_name":"empress/empress-blog","owner":"empress","description":"Fully-functional, SEO friendly static site implementation of a blog system built on Ember","archived":false,"fork":false,"pushed_at":"2024-02-19T16:57:27.000Z","size":9002,"stargazers_count":184,"open_issues_count":73,"forks_count":29,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-29T16:07:18.090Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://empress-blog.netlify.app/","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/empress.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","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-06-12T12:47:25.000Z","updated_at":"2025-01-21T12:23:18.000Z","dependencies_parsed_at":"2023-02-17T23:31:44.933Z","dependency_job_id":"fc52a5db-3389-464b-8fcd-adbcdd52f9c0","html_url":"https://github.com/empress/empress-blog","commit_stats":{"total_commits":335,"total_committers":16,"mean_commits":20.9375,"dds":"0.28656716417910444","last_synced_commit":"e3e486cf995750e021f6bc9e55609c0f04e0e024"},"previous_names":["empress/ember-ghost"],"tags_count":60,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/empress%2Fempress-blog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/empress%2Fempress-blog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/empress%2Fempress-blog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/empress%2Fempress-blog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/empress","download_url":"https://codeload.github.com/empress/empress-blog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247369954,"owners_count":20927928,"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-08-01T12:02:46.376Z","updated_at":"2025-04-05T17:03:07.979Z","avatar_url":"https://github.com/empress.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","Packages","others"],"sub_categories":["Blogging"],"readme":"# empress-blog\n\n\u003e **Note:** if you have come here wanting to use empress-blog for your own blog then [skip down to the quick-start](#quick-start). You do **not** need to clone this repo to get started, you only need to clone this repo if you want to develop empress-blog 🎉\n\nThis project is designed to be a fully-functional, static site implementation of a blog system that is mostly compatible with [Ghost](https://ghost.org/) and is built on EmberJS with fully working out of the\nbox SEO friendly output. It supports being hosted on AWS S3 or any other static site\nhosting solution.\n\nThis system supports the use of shallow forks of Ghost themes and currently supports\n\n- [empress-blog Casper Template](https://github.com/empress/empress-blog-casper-template) which is a shallow fork of the official [Casper Template](https://github.com/TryGhost/Casper)\n- [empress-blog Attila Template](https://github.com/empress/empress-blog-attila-template) which is a shallow fork of [Attila](https://github.com/zutrinken/attila)\n\nIf you are interested in writing your own theme for empress-blog please check out [create-empress-blog-template](https://github.com/empress/create-empress-blog-template#readme) which allows you to run `npm init empress-blog-template \u003cname\u003e` right now to get started (without the need to install anything). Check out the readme for more information.\n\nIf you want an example of the this \"in production\" then check out the [Chris Manson's Blog](https://chris.manson.ie).\n\nYou do not need to be a web developer to be able to use this system. You just write markdown files\nand the rest of the work is performed by EmberJS' build system.\n\n## Super Quick Start\n\nIf you want to get your new empress-blog blog deployed on [Netlify](https://www.netlify.com/) in less than a minute then you can just click 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/empress/empress-blog-netlify-casper-template)\n\nIf you want to instead work with your blog locally before deploying then you can continue reading\n\n## Quick Start\n\n```sh\nnpx ember-cli@latest new super-blog\n\ncd super-blog\n\n# you can replace the template with the one you want to use\nnpx ember install empress-blog empress-blog-casper-template\n```\n\nIt will ask you if you want to update the `index.html` file and you should say yes 👍\n\nIf you want to see the blog system running on your local machine just run `npm start` and you will\nbe able to navigate to [http://localhost:4200](http://localhost:4200) to see the blog in action.\n\n**Note:** you need `npm@6.1` or later to run this quick start. You can update with `npm install -g npm@latest` or check the [official docs](https://docs.npmjs.com/try-the-latest-stable-version-of-npm)\n\nTo build the static output directory, run the **standard** build process for a production Ember application:\n```\nnpm run build -- -prod\n```\nThis will generate a fully static output of your site in the `dist` folder.\n\n## Usage\n\n### Creating Content\n\nThis addon comes with helpful blueprints to generate posts and authors for you in the structure it\nexpects. The first thing you should do is generate an author as follows:\n\n```sh\nnpx ember g author your-name\n```\n\nThen you should be able to edit the file `author/your-name.md` to update the details.\n\nNext you will want to generate some posts. If you only have one author generated (in a single user\nblog) you can generate a post as simply as running:\n\n```sh\nnpx ember g post \"this is a post I want to write\"\n```\n\n### Configuring\n\nIf you have already generated some content (see above) you will know that you are able to configure\ncertain details about your posts. If you want to edit the global configuration you will need to\nprovide a section in the Environment config file for your host Ember app (located in\n`config/environment.js`). You will see a `let ENV = {` declaration near the top of the file, you\nwill need to add a `blog` key to that object with your configuration. Here is an example of that `blog` config object:\n\n```javascript\nlet ENV = {\n\n  // leave all the other config intact and add the following key\n\n  blog: {\n    title: \"The Write Blog\",\n    description: \"Here is where I lay my words\",\n    logo: \"/images/logo-white.png\",\n    rssLogo: '/images/logo.png',\n    coverImage: \"/images/cover-image.jpg\",\n    twitter: \"emberjs\",\n    navigation: [\n      { label: 'Ember Consulting', link: 'https://simplabs.com' },\n      { label: 'Blog Home', route: 'index' },\n    ]\n  },\n}\n```\n\nThis example config shows you how to set a title and general description for your blog, have a logo and a cover image, a link to your twitter account and how to add some navigation to your blog.\n\n**Note:** the images like `/images/logo.png` will need to be in your `public` folder in your host app.\n\n### Configuring your host \u0026 enabling RSS\nThe above configuration allows you to make your blog look a lot better but there is one piece of configuration that will enable some awesome features like automatically creating an RSS feed for you 🎉\n\nAlthough, due to the nature of some RSS aggregators, you need to be *very* careful with this because it can mess up a cache that you have no control over. This is why it's dealt with differently than the above.\n\nIf you're not familiar with Ember configuration, you are able to specify some environment configs *depending on what environment you are targeting*. This allows you to have some configs only available in production (like Google Analytics for example).\n\nIf you go to the end of your `config/environment.js` file you will see something that is checking if the environment is `production`. You can add your host config to the blog config object as follows:\n\n```javascript\nif (environment === 'production') {\n\n  // ... any other production config you might have ...\n\n  ENV.blog.host = 'https://chris.manson.ie';\n}\n```\n\nWhen ember-casper-template sees that you have a host defined it will start generating the rss feed.\n\n## Custom Themes\n\nIf you are interested in writing your own theme for empress-blog you can get\nstarted using\n\n```bash\nnpm init empress-blog-template \u003ctemplate-name\u003e\n```\n\nThis will create a brand new template addon in the folder\n`empress-blog-template-name-template`! This directory will contain a blank theme\nbased on the official [Ghost Starter Theme](https://github.com/TryGhost/Starter)\nand is intended to be setup in such a way that anyone with HTML and CSS skills\ncan start developing their own themes without needing much knowledge of Ember 🎉\n\nIf you are new to ember and you feel like there is anything we can do to help\nyou get started please reach out to me [on Twitter](https://twitter.com/real_ate)\nand I'd be happy to help you. You can check out the documentation for\n[create-empress-blog-template here](https://github.com/empress/create-empress-blog-template#readme).\n\nIf you do end up writing an empress-blog template please let us know so I can\ninclude your template in a list of existing templates.\n\n## Importing content\n\nIf you would like to import your blog content from another platform into\nempress-blog we have a beta import function that we would love for people to try\nout and give feedback. It requires that you create an export file from your\nrespective blog platform and then run the following command from the command\nline:\n\n```sh\nnpx ember empress-blog:import --type=[import_type] [dump_file]\n```\n\nCurrently available `import_type`s are:\n - [Ghost](https://ghost.org/faq/the-importer/)\n - [WordPress](https://en.support.wordpress.com/export/)\n - [Tumblr](https://tumblr.zendesk.com/hc/en-us/articles/360005118894-Export-your-blog)\n\n**Note:** When exporting a Tumblr blog you will be downloading a zip file which\nyou need to unpack. Once you unpack your export zip file you will find a\n`posts.zip` file which also needs to be unpacked. Your `dump_file` will be the\nresulting `posts.xml` file.\n\n## Upgrade notes\n\nIf you are upgrading from empress-blog@1.x and you start to get some errors\nalong the lines of:\n\n```\ncannot find helper xyz\n```\n\nyou will probably need to update your template if you're using one of the\n\"official\" empress-blog templates.\n\nIf you have a custom template and you get this error you might need to install\n[empress-blog-ghost-helpers](https://github.com/empress/empress-blog-ghost-helpers)\nas a dependency.\n\nThis is because empress-blog originally started as a \"shallow fork\" of Ghost,\nand therefore it supported all the helpers that Ghost provided for templates by\ndefault. Now you can optionally add support for these helpers which is\nparticularly useful if you are porting a template from Ghost.\n\n## Contributing\n\nSee the [Contributing](CONTRIBUTING.md) guide for details.\n\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fempress%2Fempress-blog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fempress%2Fempress-blog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fempress%2Fempress-blog/lists"}