Skip to content

Commit 0995235

Browse files
committed
Initial barebones site bootstrapped from cppalliance.github.io
0 parents  commit 0995235

8 files changed

Lines changed: 152 additions & 0 deletions

File tree

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: build_and_deploy
2+
3+
on:
4+
push:
5+
branches-ignore:
6+
- master
7+
8+
# Serialize runs (replaces the CircleCI eddiewebb/queue orb).
9+
concurrency:
10+
group: build_and_deploy
11+
cancel-in-progress: false
12+
13+
jobs:
14+
test:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v5
18+
- uses: ruby/setup-ruby@v1
19+
with:
20+
ruby-version: '4.0'
21+
bundler-cache: true
22+
- run: bundle exec jekyll build
23+
24+
deploy:
25+
needs: test
26+
if: github.ref == 'refs/heads/develop'
27+
runs-on: ubuntu-latest
28+
permissions:
29+
contents: write
30+
steps:
31+
- uses: actions/checkout@v5
32+
- uses: ruby/setup-ruby@v1
33+
with:
34+
ruby-version: '4.0'
35+
bundler-cache: true
36+
- run: bundle exec jekyll build
37+
- name: Deploy to master
38+
run: |
39+
COMMIT_MESSAGE="$(git log -1 --pretty=%B)"
40+
# Unlike the old CircleCI deploy (which preserved .circleci/ so CI
41+
# config stayed on master), .github/ is intentionally NOT kept:
42+
# GITHUB_TOKEN is not allowed to push workflow files, and the
43+
# workflow ignores master anyway.
44+
find . -maxdepth 1 ! -name '_site' ! -name '.git' -exec rm -rf {} \;
45+
mv _site/* .
46+
rm -r _site/
47+
git config --global user.name "GitHub Actions"
48+
git config --global user.email "actions@edgcpp.org"
49+
git add .
50+
git commit --allow-empty -m "$COMMIT_MESSAGE"
51+
git push -f origin HEAD:master

‎.gitignore‎

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
_drafts/
2+
_site/
3+
/tmp
4+
.DS_Store
5+
*.swp
6+
Gemfile.lock
7+
.sass-cache/
8+
.ruby-version
9+
10+
# Ruby Bundler configuration
11+
.bundle/
12+
13+
# JetBrains IDE project files
14+
.idea/
15+
16+
# Ruby gems installed locally via Bundler
17+
vendor/
18+
19+
# Local working directory for temporary project-related data.
20+
local/
21+
22+
# Claude Code and agent instructions (per-user, not shared)
23+
AGENTS.md
24+
CLAUDE.md

‎CNAME‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
edgcpp.org

‎Gemfile‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
source "https://rubygems.org"
2+
3+
# Run Jekyll with `bundle exec`, like so:
4+
#
5+
# bundle exec jekyll serve
6+
#
7+
gem "jekyll", "~> 4.4"
8+
9+
# Ruby 4.0 removed `logger` from the default gems, but Jekyll 4.4 still
10+
# requires it at load time (https://github.com/jekyll/jekyll/issues/9915).
11+
gem "logger"
12+
13+
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
14+
gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]

‎LICENSE.txt‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
LICENSE details to go here.

‎README.md‎

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# edgcpp.org Website
2+
3+
Source code for [edgcpp.org](https://edgcpp.org), the EDGCPP open-source
4+
project website. It is a Jekyll 4 project published as a fully static
5+
site through GitHub Pages.
6+
7+
The site is currently a barebones placeholder. It was bootstrapped from
8+
[cppalliance.github.io](https://github.com/cppalliance/cppalliance.github.io),
9+
and content (layouts, styling, navigation, etc.) may be taken from that
10+
repository as needed.
11+
12+
## Local Development
13+
14+
```bash
15+
bundle install
16+
bundle exec jekyll serve
17+
```
18+
19+
## Deployment
20+
21+
Deployments are handled by GitHub Actions
22+
(`.github/workflows/build_and_deploy.yml`):
23+
24+
1. Commit source changes to the `develop` branch and push to GitHub.
25+
2. CI builds the site with `bundle exec jekyll build`.
26+
3. On `develop`, the deploy job removes everything from the working tree
27+
except `_site` and `.git`, moves the built `_site` output to the
28+
repository root, and force-pushes the result to `master`.
29+
30+
The `master` branch is therefore generated build output; never edit it
31+
directly. GitHub Pages serves the site from `master`, and `CNAME` binds
32+
the deployment to `edgcpp.org`.

‎_config.yml‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Jekyll configuration
2+
3+
title: EDGCPP
4+
url: https://edgcpp.org # the base hostname & protocol for the site
5+
description: >-
6+
The edgcpp.org open-source project website.
7+
8+
# Build settings
9+
markdown: kramdown
10+
11+
# Exclude from processing.
12+
exclude:
13+
- Gemfile
14+
- Gemfile.lock
15+
- node_modules
16+
- vendor
17+
- local
18+
- README.md

‎index.html‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1">
6+
<title>edgcpp.org</title>
7+
</head>
8+
<body>
9+
<h1>edgcpp.org website - in development</h1>
10+
</body>
11+
</html>

0 commit comments

Comments
 (0)