Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
04b74e0
feat(docs): introduce guided Drupal core start page
jameswilson May 19, 2026
a9ad2bf
feat(docs): refactor landing page entry points
jameswilson May 19, 2026
e31f48b
refactor(docs): align drupal-issue page with drupal-core
jameswilson May 19, 2026
6c811d9
docs(start-site): align drupal-issue copy with drupal-core
jameswilson May 19, 2026
4da926b
feat(docs): expand shared start-site CSS and component gallery
jameswilson May 19, 2026
693ab9d
refactor(docs): consolidate landing and Jekyll layout on shared CSS
jameswilson May 19, 2026
9e0f7ac
feat(docs): add pick-card fields and auto-create URLs on start pages
jameswilson May 19, 2026
801d022
docs: update quickstart with guided start page tiles
jameswilson May 19, 2026
f9616f8
feat(docs): refine landing page tile grid and callout styles
jameswilson May 19, 2026
f6c0214
feat(docs): add landing page footnotes and tighten sign-in copy
jameswilson May 19, 2026
51f232e
feat(docs): enforce 32-character workspace name limit on start pages
jameswilson May 19, 2026
544c153
docs: link quickstart code layout sections to add-on docs
jameswilson May 19, 2026
f0447a3
fix(docs): correct landing page core picker link and footnote markup
jameswilson May 19, 2026
755f209
fix(docs): pass project_type for contrib theme issues
jameswilson May 19, 2026
e806b03
fix(docs): correct param.issue_fork, silent type fallback, and name o…
rfay Jun 29, 2026
ea68e73
fix(docs): remove Drupal Core tile from landing page, collapse to 2-c…
rfay Jun 29, 2026
f3ce36e
fix(docs-preview): chmod _site before sed to fix permission denied
rfay Jun 29, 2026
957b9c4
fix(docs-preview): cp _site to runner-owned dir before sed
rfay Jun 29, 2026
8e4e56c
fix(docs): use relative path for issue picker button link
rfay Jun 29, 2026
6b1aaf0
fix(docs): replace all root-absolute paths with relative paths
rfay Jun 29, 2026
619058b
fix(docs-preview): add missing run key to Point preview step
rfay Jun 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,14 @@

Coder workspace template for DDEV-based development with Docker-in-Docker support, Node.js, and Git.

**Get started with Drupal core development:**
**Get started (recommended paths):**

[![Open in Coder](https://coder.ddev.com/open-in-coder.svg)](https://coder.ddev.com/templates/coder/drupal-core/workspace?mode=manual)
- **Drupal.org issue or project** → [Drupal Issue Picker](https://start.coder.ddev.com/drupal-issue) (auto-detects core vs contrib and prefills sensible defaults)
- **Multiple DDEV projects in one workspace** → [DDEV Freeform](https://coder.ddev.com/templates/coder/freeform/workspace?mode=manual)
- **Clean Drupal core without an issue fork** → [Guided Drupal core](https://start.coder.ddev.com/drupal-core) (short context page, then the same manual template)
- **Browse all templates** → [coder.ddev.com/templates](https://coder.ddev.com/templates)

**Advanced:** open the [manual Drupal core template](https://coder.ddev.com/templates/coder/drupal-core/workspace?mode=manual) directly if you already know every parameter you need.

## Features

Expand Down
138 changes: 7 additions & 131 deletions docs/_layouts/default.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,143 +4,19 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ page.title }} — DDEV Coder Workspaces</title>
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
background: #0e0e10;
color: #e0e0e0;
line-height: 1.7;
}

nav {
padding: 1rem 2rem;
border-bottom: 1px solid #1c1c1e;
}

nav a {
color: #a78bfa;
text-decoration: none;
font-size: 0.9rem;
}

nav a:hover { text-decoration: underline; }

main {
max-width: 720px;
margin: 0 auto;
padding: 3rem 2rem 6rem;
}

h1 { font-size: 2rem; font-weight: 700; margin-bottom: 1rem; letter-spacing: -0.02em; }
h2 { font-size: 1.35rem; font-weight: 600; margin: 2.5rem 0 0.75rem; color: #e8e8e8; }
h3 { font-size: 1.1rem; font-weight: 600; margin: 1.75rem 0 0.5rem; color: #ddd; }

p { margin-bottom: 1rem; color: #ccc; }

a { color: #a78bfa; text-decoration: none; }
a:hover { text-decoration: underline; }

ul, ol { margin: 0 0 1rem 1.5rem; color: #ccc; }
li { margin-bottom: 0.35rem; }

code {
background: #1a1a1f;
border: 1px solid #2a2a30;
padding: 0.15em 0.45em;
border-radius: 4px;
font-family: 'SF Mono', Consolas, 'Courier New', monospace;
font-size: 0.87em;
color: #c4b5fd;
}

pre {
background: #111115;
border: 1px solid #2a2a30;
border-radius: 8px;
padding: 1.25rem 1.5rem;
overflow-x: auto;
margin-bottom: 1.25rem;
}

pre code {
background: none;
border: none;
padding: 0;
font-size: 0.9rem;
color: #c9d1d9;
}

hr {
border: none;
border-top: 1px solid #1c1c1e;
margin: 2rem 0;
}

table {
width: 100%;
border-collapse: collapse;
margin-bottom: 1.25rem;
font-size: 0.95rem;
}

th {
text-align: left;
padding: 0.6rem 0.75rem;
border-bottom: 2px solid #2a2a30;
color: #999;
font-weight: 600;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.05em;
}

td {
padding: 0.6rem 0.75rem;
border-bottom: 1px solid #1c1c1e;
color: #ccc;
}

strong { color: #e8e8e8; }

blockquote {
border-left: 3px solid #3b2f6e;
padding-left: 1rem;
color: #999;
margin-bottom: 1rem;
}

img { max-width: 100%; }

/* Skip link — visually hidden until focused; lets keyboard users bypass the site nav.
WCAG 2.4.1 Bypass Blocks (Level A) */
.skip-link {
position: absolute;
top: -100%;
left: 1rem;
background: #7c5af0;
color: #fff;
padding: 0.5rem 1rem;
border-radius: 0 0 6px 6px;
font-size: 0.9rem;
font-weight: 600;
text-decoration: none;
z-index: 999;
}
.skip-link:focus { top: 0; }
</style>
<link rel="icon" type="image/svg+xml" href="{{ '/favicon.svg' | relative_url }}">
<link rel="stylesheet" href="{{ '/coder-ddev-start.css' | relative_url }}">
</head>
<body>
<body class="cds-body">
<!-- WCAG 2.4.1 Bypass Blocks (Level A): skip link lets keyboard users jump past the site nav -->
<a class="skip-link" href="#main-content">Skip to main content</a>
<a class="cds-skip-link" href="#main-content">Skip to main content</a>
<!-- aria-label distinguishes this nav landmark when multiple <nav> elements exist on a page.
WCAG 2.4.6 Headings and Labels (Level AA) -->
<nav aria-label="Site">
<a href="/">← DDEV Coder Workspaces</a>
<nav class="cds-doc-nav" aria-label="Site">
<a class="cds-link" href="{{ '/' | relative_url }}">← DDEV Coder Workspaces</a>
</nav>
<!-- id="main-content" is the skip link target (WCAG 2.4.1) -->
<main id="main-content">
<main id="main-content" class="cds-doc-main">
{{ content }}
</main>
</body>
Expand Down
166 changes: 16 additions & 150 deletions docs/access-denied.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,168 +4,34 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Access Required — DDEV Coder Workspaces</title>
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
background: #0e0e10;
color: #e8e8e8;
line-height: 1.6;
min-height: 100vh;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
padding: 2rem;
}

.card {
background: #161619;
border: 1px solid #30303a;
border-radius: 14px;
padding: 2.5rem 2.5rem;
max-width: 520px;
width: 100%;
}

.icon {
font-size: 2.5rem;
margin-bottom: 1.25rem;
}

h1 {
font-size: 1.5rem;
font-weight: 700;
color: #e8e8e8;
margin-bottom: 0.75rem;
}

.subtitle {
font-size: 1rem;
color: #999;
margin-bottom: 2rem;
line-height: 1.7;
}

.who-qualifies {
background: #0e0e10;
border: 1px solid #2a2a32;
border-radius: 10px;
padding: 1.25rem 1.5rem;
margin-bottom: 2rem;
text-align: left;
}

.who-qualifies h2 {
font-size: 0.85rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.07em;
color: #666;
margin-bottom: 0.85rem;
}

.who-qualifies ul {
list-style: none;
display: flex;
flex-direction: column;
gap: 0.5rem;
}

.who-qualifies li {
display: flex;
align-items: flex-start;
gap: 0.6rem;
color: #ccc;
font-size: 0.95rem;
}

.who-qualifies li::before {
content: '✓';
color: #7c5af0;
font-weight: 700;
flex-shrink: 0;
margin-top: 0.05rem;
}

.who-qualifies a {
color: #a78bfa;
text-decoration: none;
}

.who-qualifies a:hover { text-decoration: underline; }

.actions {
display: flex;
flex-direction: column;
gap: 0.75rem;
}

.btn-primary {
background: #7c5af0;
color: #fff;
border: none;
border-radius: 8px;
padding: 0.75rem 1.5rem;
font-size: 1rem;
font-weight: 600;
text-decoration: none;
cursor: pointer;
transition: background 0.15s;
}

.btn-primary:hover { background: #6d4de0; }

.btn-secondary {
color: #a78bfa;
font-size: 0.9rem;
text-decoration: none;
}

.btn-secondary:hover { text-decoration: underline; }

.footer-links {
margin-top: 2rem;
font-size: 0.85rem;
color: #555;
}

.footer-links a {
color: #666;
text-decoration: none;
}

.footer-links a:hover { color: #a78bfa; }
</style>
<link rel="icon" type="image/svg+xml" href="favicon.svg">
<link rel="stylesheet" href="coder-ddev-start.css">
</head>
<body>
<div class="card">
<div class="icon">🔒</div>
<body class="cds-body cds-access-denied">
<div class="cds-gate-card">
<div class="cds-emoji-hero" aria-hidden="true">🔒</div>
<h1>Access Required</h1>
<p class="subtitle">
<p class="cds-gate-subtitle">
Your GitHub account doesn't currently have access to coder.ddev.com.
Access is restricted to members of specific GitHub organizations.
</p>

<div class="who-qualifies">
<h2>Who qualifies</h2>
<ul>
<li>Members of the <a href="https://github.com/ddev">ddev</a> GitHub org</li>
<li>Members of a <a href="https://ddev.com/support-ddev/">$100+/month DDEV sponsor org</a></li>
<li>Individuals approved via the <a href="https://github.com/coder-ddev-com/access-requests">access requests</a> repo</li>
<div class="cds-callout">
<div class="cds-callout__title">Who qualifies</div>
<ul class="cds-checklist">
<li><p>Members of the <a href="https://github.com/ddev">ddev</a> GitHub org</p></li>
<li><p>Members of a <a href="https://ddev.com/support-ddev/">$100+/month DDEV sponsor org</a></p></li>
<li><p>Individuals approved via the <a href="https://github.com/coder-ddev-com/access-requests">access requests</a> repo</p></li>
</ul>
</div>

<div class="actions">
<a class="btn-primary" href="https://github.com/coder-ddev-com/access-requests/issues/new?template=access-request.yml">Request Access on GitHub</a>
<a class="btn-secondary" href="https://coder.ddev.com/login">Try signing in again</a>
<div class="cds-stack">
<a class="cds-btn cds-btn--primary cds-btn--block" href="https://github.com/coder-ddev-com/access-requests/issues/new?template=access-request.yml">Request Access on GitHub</a>
<a class="cds-link" href="https://coder.ddev.com/login">Try signing in again</a>
</div>
</div>

<div class="footer-links">
<div class="cds-access-footer">
<a href="https://start.coder.ddev.com">← Back to start.coder.ddev.com</a>
&nbsp;·&nbsp;
<a href="https://ddev.com/s/discord">DDEV Discord</a>
Expand Down
Loading
Loading