{"id":19974970,"url":"https://github.com/yongchengchen/angular_s3_github_staticwebsite","last_synced_at":"2026-05-04T12:39:18.816Z","repository":{"id":92463719,"uuid":"106406228","full_name":"yongchengchen/angular_s3_github_staticwebsite","owner":"yongchengchen","description":"A static website solution base on Angular+S3+github","archived":false,"fork":false,"pushed_at":"2018-01-12T00:20:49.000Z","size":64,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-05T10:03:52.360Z","etag":null,"topics":["angular","aws","lambda"],"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/yongchengchen.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":"2017-10-10T11:07:10.000Z","updated_at":"2018-01-12T00:21:37.000Z","dependencies_parsed_at":"2023-04-14T22:16:43.214Z","dependency_job_id":null,"html_url":"https://github.com/yongchengchen/angular_s3_github_staticwebsite","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yongchengchen/angular_s3_github_staticwebsite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yongchengchen%2Fangular_s3_github_staticwebsite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yongchengchen%2Fangular_s3_github_staticwebsite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yongchengchen%2Fangular_s3_github_staticwebsite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yongchengchen%2Fangular_s3_github_staticwebsite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yongchengchen","download_url":"https://codeload.github.com/yongchengchen/angular_s3_github_staticwebsite/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yongchengchen%2Fangular_s3_github_staticwebsite/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32608207,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"ssl_error","status_checked_at":"2026-05-04T10:08:02.005Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["angular","aws","lambda"],"created_at":"2024-11-13T03:16:44.957Z","updated_at":"2026-05-04T12:39:18.810Z","avatar_url":"https://github.com/yongchengchen.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A Static Site using Angular4 + AWS S3 + Lambda + Github\n\n## Overview\n\nThis repository is a solution of static website Angular4 App engine on AWS S3 and using Markdown file content witch managed by Github.\n\n### Supported Architectures\n\n#### 1. Angular App\n\nIt's in the folder src. It includes three sub-folders:\n\n##### 1) ngsuit\n\n\"ngsuit\" is a framework which can boost your Angular development.\nIt has built a basic Angular app entry, you can add new features by just adding new module folder such as Blog and RootLayout, and configure it in your module's assemble.ts\nIt also built some basic components, services and pipes \nsuch as [MQService](http://zencodelife.me/article/angular/angular2componentcommunication.md), [GobalVariableService](http://zencodelife.me/article/angular/angular2globalvariableservice.md), LoaderLayer component, asyncprocess component.\n\nAnd \"ngsuit\" has built some hooks to support your development.\n\nSo you just run command \"npm run start\" or \"npm run build\", it will automaticly link your module, and assemble these module's configurations, and build your app.\n\n##### 2) RootLayout\n\nIt's a layout module with some layout component such as header, sidebar.\n\n##### 3) Blog\n\nIt includes home page component, article component and aws blog data content service.\nAws blog data content service it pull content summary data from aws. Which content summary data are created/updated by \"gitbot\"(an AWS Lambda function which parse my github blog content repo).\n\n##### 4) Build\n\nNeed to go to ngsuit folder to build this app.\n\n```shell\ncd path_to_ngsuit\nnpm install //if npm modules not installed\nnpm run build\n```\n\n##### 2. Github webhook Lambda (gitbot)\n\nThis project is an AWS Lambda function project using node.js and webpack to provide a github webhook.\n\nWhen github repo updates it will call this webhook, and this webhook to parse latest github repo's changes, and then update this repo's summarry to AWS s3.\n\nThen the static Angular blog app can load the latest data from github.\n\n###### Build\n```shell\nnpm install //if npm modules not installed\n\ncd gitbot\nnpm run build\n```\n\nCheck dist/index.js and deploy it to your AWS Lambda\n\n\n**Complete documentation is available at [Documentation][].**\n\n## Some rules\n\n#### 1. Github repository\nWe analyse github repository from it's first level folder \"content\". So far we only support one levele category.\n\nSo the normal repository directory structure should looks like:\n```\n    repository\n       |-------README.md\n       |\n       |-------content\n                  |--------about.md\n                  |--------category1\n                  |            |--------file1.md\n                  |            |--------file2.md\n                  |            \n                  |---------category2\n                               |--------file1.md\n                               |--------file2.md\n``` \n\n#### 2. Markdown file\n\nIt relies on Markdown files with front matter for metadata, you should put metadata at the begining of your file.\nAnd we support these keys: Categories, Description, Tags, date, title\n\n* Please use only double quote in the metadata field.\n\n```html\n\u003c!--\nCategories = [\"Development\", \"Others\"]\nDescription = \"Some time your will not want your company's code goes to public project, but you want composer to manage packages.\nHere's an example for how to let composer use private packages, and put these packages to customize folder.\"\nTags = [\"Development\", \"Composer\"]\ndate = \"2016-11-25T21:47:31-08:00\"\ntitle = \"Composer use private git packages\"\nimage = \"\"\n--\u003e\n```\n\n#### 3. README.md\nREADME.md also support metadata extension. But keys are different.\nIt stores site level configuration details.\n```html\n\u003c!--\nname = \"Your website name\"\ntitle = \"Your website title\"\ndescription = \"Your website description\"\nemail = \"put your email address here\"\nauthor = \"Put your name here\"\n--\u003e\n```\n\n## Installation\n\n## Contribution\n\nto be continue","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyongchengchen%2Fangular_s3_github_staticwebsite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyongchengchen%2Fangular_s3_github_staticwebsite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyongchengchen%2Fangular_s3_github_staticwebsite/lists"}