Skip to content
personal website generator running in the cloud
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
development make development mode watch for template changes Nov 23, 2018
functions
templates add mobile layout Mar 15, 2019
terraform
.config
.gitignore
LICENSE add LICENSE Nov 22, 2018
README.md
config.go add comments to exported types Nov 22, 2018
data.go
go.mod make development mode watch for template changes Nov 23, 2018
go.sum
render.go

README.md

diagram

g.harel.page

The page(s) are generated every five minutes by a Cloud Function which uploads the result to a public Cloud Storage Bucket whose contents are served by Cloudflare. Each build uses the contents of .config to build a GraphQL query for the GitHub API. This data is then used to execute the website templates and build the static output files.

This process means the website contents, like user icon and repo descriptions, will always be up-to-date, without impacting response time. It also makes it easy, fast and version-controlled to update the list of projects and contributions shown on the website.

Development

$ go run ./development/build.go

This command will output index.html in the project root and uses the local .config to fetch for data.

After the initial build, the ./templates directory is watched for changes. Manual rebuilds can be triggered by typing .\n.

If a .env file exists in the project root, it will automatically be loaded.

The GRAPHQL_TOKEN environment variable must be defined to access the GitHub API.

Deployment

This project's resources are all managed using Terraform. Any change to the master branch will automatically be applied (using Cloud Build). However, some initial manual setup is required:

As of this writing (Nov 2018)

License

MIT

You can’t perform that action at this time.