{"id":15658338,"url":"https://github.com/nartc/tnc-scully","last_synced_at":"2025-05-05T16:43:47.109Z","repository":{"id":39619509,"uuid":"268371627","full_name":"nartc/tnc-scully","owner":"nartc","description":"Personal blog written with Scully (Angular SSG)","archived":false,"fork":false,"pushed_at":"2023-02-04T04:28:50.000Z","size":10821,"stargazers_count":23,"open_issues_count":6,"forks_count":11,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-30T22:31:57.275Z","etag":null,"topics":["angular","personal-blog","scully","typescript"],"latest_commit_sha":null,"homepage":null,"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/nartc.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}},"created_at":"2020-05-31T22:01:25.000Z","updated_at":"2025-01-22T10:18:56.000Z","dependencies_parsed_at":"2023-02-18T13:46:08.969Z","dependency_job_id":null,"html_url":"https://github.com/nartc/tnc-scully","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/nartc%2Ftnc-scully","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nartc%2Ftnc-scully/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nartc%2Ftnc-scully/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nartc%2Ftnc-scully/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nartc","download_url":"https://codeload.github.com/nartc/tnc-scully/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252535253,"owners_count":21763921,"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","personal-blog","scully","typescript"],"created_at":"2024-10-03T13:12:00.494Z","updated_at":"2025-05-05T16:43:47.083Z","avatar_url":"https://github.com/nartc.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"This is a repository for my personal blog which is written with the following technologies:\n\n- [Angular](https://angular.io)\n- [Scully](https://scully.io)\n- [TailwindCSS](https://tailwindcss.com/)\n- [Notion](https://notion.so)\n- [Netlify](https://www.netlify.com/)\n\nYou can check out my blog live at [https://nartc.me](https://nartc.me)\n\n## How it’s built\n\n### Angular\n\nAs mentioned above, this blog is built using the Angular framework. I always keep this project up-to-date with the\nlatest version of Angular.\n\nCode-style wise, I use Single File Component (aka `*.component.ts` files only) as much as possible. However, there are a\ncouple of components that have rather complex HTML/Styles that I choose to keep in separate files.\n\nShared components and feature components (routed) are built using Single-Component-as-Module (SCAM) approach. You’ll\nfind these components contain the components themselves as well as their modules.\n\nReactivity is achieved with `AsyncPipe` and `Observable`.\n\n### TailwindCSS\n\nThis project uses TailwindCSS for stylings. Nothing too special here, I just like using TailwindCSS because it is easy\nto use. I also keep TailwindCSS as up-to-date as possible.\n\n### Scully\n\nScully is THE Static-site Generator for Angular ecosystem. It is easy to use and extensible. In fact, I build my\nown [Scully Notion Plugin](https://github.com/nartc/notion-stuff/blob/main/libs/scully-plugin-notion/README.md) to\nintegrate Notion with Scully.\n\n### Notion\n\nAll my blogs are written in Notion. There is a custom Scully plugin that will fetch (possible thanks to the\nrecent [Notion Developers API](https://developers.notion.com/)) the blog posts and generate the static site for them.\n\nThe experience is nice because I can write my blogs from any device and Grammarly can help with my English as well.\n\n## CI / CD\n\nCI/CD for this project is quite complex. At the highest level, there are three separate moving parts:\n\n- Angular build\n- Scully build\n- Notion blogs\n\nThe relationship between these three are: Angular build + Notion blogs → Scully build → Deploy\n\nTo somewhat handle a sane amount of rebuild, I incorporate the following flow:\n\n![Workflows](workflows.png)\n\n- Angular files list:\n\n  ```\n  package.json\n  angular.json\n  tailwind.config.js\n  src/**/*.*\n  ```\n\n- Scully file: `scully.tnc-scully.config.ts`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnartc%2Ftnc-scully","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnartc%2Ftnc-scully","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnartc%2Ftnc-scully/lists"}