{"id":14991005,"url":"https://github.com/fafnur/angular-blog","last_synced_at":"2026-01-04T21:42:11.297Z","repository":{"id":186015361,"uuid":"673663350","full_name":"Fafnur/angular-blog","owner":"Fafnur","description":"An example of using Angular and Contentful to create an SSG blog","archived":false,"fork":false,"pushed_at":"2023-08-24T05:13:38.000Z","size":2798,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-26T19:28:08.269Z","etag":null,"topics":["angular","blog","contentful","ssr"],"latest_commit_sha":null,"homepage":"https://angular-blog.fafn.ru","language":"TypeScript","has_issues":true,"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/Fafnur.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2023-08-02T06:30:10.000Z","updated_at":"2024-06-07T11:17:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"dc083b2c-9800-4323-b724-e88252a9ca86","html_url":"https://github.com/Fafnur/angular-blog","commit_stats":{"total_commits":63,"total_committers":1,"mean_commits":63.0,"dds":0.0,"last_synced_commit":"5bff28ef6540cfa699fb0368d7f0197bbc35e5db"},"previous_names":["fafnur/angular-blog"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fafnur%2Fangular-blog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fafnur%2Fangular-blog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fafnur%2Fangular-blog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fafnur%2Fangular-blog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fafnur","download_url":"https://codeload.github.com/Fafnur/angular-blog/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244890941,"owners_count":20527167,"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":["angular","blog","contentful","ssr"],"created_at":"2024-09-24T14:21:16.826Z","updated_at":"2026-01-04T21:42:11.248Z","avatar_url":"https://github.com/Fafnur.png","language":"TypeScript","readme":"# Angular Blog\n\nAn example of a static blog on [Angular](https://angular.io/) and [Contentful](https://www.contentful.com/).\n\n![image](docs/site.jpg)\n\nContentful for Angular is a regular API that is no different from any other API. Angulars task in this case is to get the data from the API and display it. \n\nTo give Angular SSG properties, a small script was written that receives data from Contentful and generated static pages.\n\nDemo can be viewed here - [angular-blog.fafn.ru](https://angular-blog.fafn.ru).\n\n![demo](docs/demo.webp)\n\n## Installation\n\nFirst, you should install vendors:\n\n```bash\nyarn\n```\n\nAfter installing the dependencies, the hooks will create the necessary files to run the application. You can run the command yourself:\n\n```bash\nyarn env\n```\n\nAs a result, files will be created:\n\n- apps/blog/.env - Application environments;\n- apps/blog/src/app/routes/blog.routes.ts - Generated routes for blog;\n- libs/ui/categories/src/lib/categories.ts - Generated categories for blog;\n- apps/blog/dynamic-routes.txt - All paths to be passed to the prerender;\n\n## Setup Contentful\n\nFor Contentful to work, you need to provide a key and your namespace in apps/blog/.env:\n\n```text\nNX_CONTENTFUL_KEY=your-key\nNX_CONTENTFUL_SPACE=your-space\n```\n\nIf you don't have accounts, you can generate mock data:\n\n```bash\nyarn mocks\n```\n\n## Start the app\n\nTo start the development server run `nx serve blog`. Open your browser and navigate to http://localhost:4200.\n\n\n## Running tasks\n\nFor load data and generate blog use command:\n\n```\nyarn load\n```\n\nFor build application with prerender call command:\n\n```\nyarn prerender\n```\n\nFor start server: \n\n```\nnode dist/apps/blog/server/ru/main.js\n```\n\nTargets can be defined in the `package.json`.\n\n\n## Contact me\n\n- [Habr](https://habr.com/ru/users/fafnur)\n- [Medium](https://medium.com/@fafnur)\n- [Fafn.ru](https://fafn.ru)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffafnur%2Fangular-blog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffafnur%2Fangular-blog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffafnur%2Fangular-blog/lists"}