Static website for Primerize, hosted on GitHub Pages. Migrated from primerize.stanford.edu (Django/MySQL on AWS EC2) in May 2026.
Plain HTML — no build step, no Jekyll, no framework.
index.html # About / landing page
protocol/index.html # Protocol (Sections 1–5)
code/index.html # Code / download page
assets/
css/
bootstrap.min.css
theme.css # Custom navbar, colors, layout
palette.css # Label and panel color classes
code.css # Monospace / syntax highlight styles
js/
jquery.min.js
bootstrap.min.js
fonts/ # Glyphicon icon font (Bootstrap 3)
images/
docs/ # Protocol figures (JPG/SVG)
... # Site logo and background images
CNAME # Custom domain: primerize.stanford.edu
No build step needed. Serve any directory with a static file server so that absolute paths (/assets/...) resolve correctly.
Python (simplest):
cd primerize.github.io
python3 -m http.server 8000
# open http://localhost:8000Node (if you have it):
npx serve .Check all three pages:
http://localhost:8000/— Abouthttp://localhost:8000/protocol/— Protocol (verify plate images and section anchors)http://localhost:8000/code/— Code
- Repo is at
github.com/DasLab/primerize.github.io. - In Settings → Pages, source is set to the
mainbranch, root directory. - The
CNAMEfile in the repo root containsprimerize.stanford.edu. GitHub Pages reads this to serve the custom domain. - In Settings → Pages, "Enforce HTTPS" is enabled once the DNS record is in place.
Pushes to main deploy automatically (usually within 1–2 minutes).
These steps point primerize.stanford.edu at GitHub Pages and decommission the AWS EC2 instance.
Prerequisites:
- Confirm the site looks correct at
https://daslab.github.io/primerize.github.io/first. - Confirm
CNAMEfile contains exactlyprimerize.stanford.edu(no trailing newline issues).
Steps:
-
Contact Stanford IT at
ithelp@stanford.edu(or use the same DNS management portal used fordaslab.stanford.edu) and request:- Remove the existing
AorCNAMErecord forprimerize.stanford.edu - Add a new
CNAMErecord:primerize.stanford.edu→daslab.github.io
- Remove the existing
-
In GitHub Pages settings (Settings → Pages on this repo):
- Set "Custom domain" to
primerize.stanford.eduand save. - Once DNS propagates, the "Enforce HTTPS" checkbox will become available — enable it.
- Set "Custom domain" to
-
Verify (DNS propagation can take minutes to hours):
dig primerize.stanford.edu CNAME # Should return: primerize.stanford.edu → daslab.github.io curl -I https://primerize.stanford.edu/protocol/#IDT # Should return HTTP 200 with cert for primerize.stanford.edu
Also check these URLs in a browser:
https://primerize.stanford.edu/— About pagehttps://primerize.stanford.edu/protocol/#IDT— scrolls to IDT anchorhttps://primerize.stanford.edu/protocol/#temp_designhttps://primerize.stanford.edu/code/
-
Terminate the AWS EC2 instance (IP
52.33.204.5) after DNS is confirmed working. SSH key is~/.ssh/amazon.pem. Before terminating, make sure the archive inaws_archive/is uploaded to DasLab Google Drive (see../aws_archive/README.md).
Edit HTML/CSS/JS directly and push to main. No compilation needed.
The plate diagrams in assets/images/docs/ are SVGs generated from JSON data in the Server_Primerize repo (media/images/docs/*.json). If the protocol plate data ever needs updating, regenerate them with the Python snippet in ../aws_archive/README.md.
The Primerize documentation site links directly to these anchors — do not rename them:
| URL | Anchor in protocol/index.html |
|---|---|
/protocol/#temp_design |
DNA Template Design |
/protocol/#IDT |
IDT Oligo Ordering |
/protocol/#PCR |
PCR Assembly |
/protocol/#TX |
In Vitro Transcription |
/protocol/#par_prep |
Massively Parallel Preparation |