Skip to content

Commit 424ab3f

Browse files
committed
First commit
0 parents  commit 424ab3f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+7180
-0
lines changed

.editorconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# EditorConfig is awesome: editorconfig.org
2+
3+
# top-most EditorConfig file
4+
root = true
5+
6+
[*]
7+
end_of_line = lf
8+
insert_final_newline = true
9+
charset = utf-8
10+
indent_size = 2
11+
indent_style = space

.github/workflows/deploy.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Deploy site to Pages
2+
3+
on:
4+
# Runs on pushes targeting the default branch
5+
push:
6+
branches: ['main']
7+
8+
# Allows you to run this workflow manually from the Actions tab
9+
workflow_dispatch:
10+
11+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
12+
permissions:
13+
contents: read
14+
pages: write
15+
id-token: write
16+
17+
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
18+
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
19+
concurrency:
20+
group: 'pages'
21+
cancel-in-progress: false
22+
23+
# Default to bash
24+
defaults:
25+
run:
26+
shell: bash
27+
28+
jobs:
29+
# Build job
30+
build:
31+
runs-on: ubuntu-latest
32+
steps:
33+
- name: Checkout
34+
uses: actions/checkout@v3
35+
with:
36+
submodules: recursive
37+
# - name: Setup Pages
38+
# id: pages
39+
# uses: actions/configure-pages@v3
40+
- name: Install Node.js dependencies
41+
run: npm ci
42+
- name: Build with Eleventy
43+
env:
44+
NODE_ENV: production
45+
NODE_OPTIONS: '--max_old_space_size=4096'
46+
# run: npm run build -- --pathprefix="${{ steps.pages.outputs.base_url }}/"
47+
run: npm run build -- --pathprefix="/bugs.jqueryui.com/"
48+
# - name: Upload artifact
49+
# uses: actions/upload-pages-artifact@v1
50+
# with:
51+
# path: ./_site
52+
53+
# Deployment job
54+
# deploy:
55+
# environment:
56+
# name: github-pages
57+
# url: ${{ steps.deployment.outputs.page_url }}
58+
# runs-on: ubuntu-latest
59+
# needs: build
60+
# steps:
61+
# - name: Deploy to GitHub Pages
62+
# id: deployment
63+
# uses: actions/deploy-pages@v2

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
_site/
2+
node_modules/

.prettierrc.cjs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module.exports = {
2+
semi: false,
3+
singleQuote: true,
4+
arrowParens: 'always',
5+
trailingComma: 'none',
6+
endOfLine: 'auto'
7+
}

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2023 OpenJS Foundation
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
# bugs.jqueryui.com
2+
3+
Static archive of the old trac site, generated with [eleventy](https://www.11ty.dev/docs/).
4+
5+
## Getting Started
6+
7+
- [Want a more generic/detailed getting started guide?](https://www.11ty.dev/docs/getting-started/)
8+
9+
1. Make a directory and navigate to it:
10+
11+
```
12+
mkdir my-blog-name
13+
cd my-blog-name
14+
```
15+
16+
2. Clone this Repository
17+
18+
```
19+
git clone https://github.com/11ty/eleventy-base-blog.git .
20+
```
21+
22+
_Optional:_ Review `eleventy.config.js` and `_data/metadata.js` to configure the site’s options and data.
23+
24+
3. Install dependencies
25+
26+
```
27+
npm install
28+
```
29+
30+
4. Run Eleventy
31+
32+
Generate a production-ready build to the `_site` folder:
33+
34+
```
35+
npx @11ty/eleventy
36+
```
37+
38+
Or build and host on a local development server:
39+
40+
```
41+
npx @11ty/eleventy --serve
42+
```
43+
44+
Or you can run [debug mode](https://www.11ty.dev/docs/debugging/) to see all the internals.
45+
46+
## Features
47+
48+
- Using [Eleventy v2.0](https://www.11ty.dev/blog/eleventy-v2/) with zero-JavaScript output.
49+
- Content is exclusively pre-rendered (this is a static site).
50+
- Can easily [deploy to a subfolder without changing any content](https://www.11ty.dev/docs/plugins/html-base/)
51+
- All URLs are decoupled from the content’s location on the file system.
52+
- Configure templates via the [Eleventy Data Cascade](https://www.11ty.dev/docs/data-cascade/)
53+
- **Performance focused**: four-hundos Lighthouse score out of the box!
54+
- [View the Lighthouse report for the latest build](https://eleventy-base-blog.netlify.app/reports/lighthouse/) courtesy of the [Netlify Lighthouse plugin](https://github.com/netlify/netlify-plugin-lighthouse).
55+
- _0 Cumulative Layout Shift_
56+
- _0ms Total Blocking Time_
57+
- Local development live reload provided by [Eleventy Dev Server](https://www.11ty.dev/docs/dev-server/).
58+
- Content-driven [navigation menu](https://www.11ty.dev/docs/plugins/navigation/)
59+
- [Image optimization](https://www.11ty.dev/docs/plugins/image/) via the `{% image %}` shortcode.
60+
- Zero-JavaScript output.
61+
- Support for modern image formats automatically (e.g. AVIF and WebP)
62+
- Prefers `<img>` markup if possible (single image format) but switches automatically to `<picture>` for multiple image formats.
63+
- Automated `<picture>` syntax markup with `srcset` and optional `sizes`
64+
- Includes `width`/`height` attributes to avoid [content layout shift](https://web.dev/cls/).
65+
- Includes `loading="lazy"` for native lazy loading without JavaScript.
66+
- Includes [`decoding="async"`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/decoding)
67+
- Images can be co-located with blog post files.
68+
- View the [Image plugin source code](https://github.com/11ty/eleventy-base-blog/blob/main/eleventy.config.images.js)
69+
- Per page CSS bundles [via `eleventy-plugin-bundle`](https://github.com/11ty/eleventy-plugin-bundle).
70+
- Built-in [syntax highlighter](https://www.11ty.dev/docs/plugins/syntaxhighlight/) (zero-JavaScript output).
71+
- Blog Posts
72+
- Draft posts: use `draft: true` to mark a blog post as a draft. Drafts are **only** included during `--serve`/`--watch` and are excluded from full builds. View the [Drafts plugin source code](https://github.com/11ty/eleventy-base-blog/blob/main/eleventy.config.drafts.js).
73+
- Automated next/previous links
74+
- Accessible deep links to headings
75+
- Generated Pages
76+
- Home, Archive, and About pages.
77+
- [Feeds for Atom and JSON](https://www.11ty.dev/docs/plugins/rss/)
78+
- `sitemap.xml`
79+
- Zero-maintenance tag pages ([View on the Demo](https://eleventy-base-blog.netlify.app/tags/))
80+
- Content not found (404) page
81+
82+
## Demos
83+
84+
- [Netlify](https://eleventy-base-blog.netlify.com/)
85+
- [GitHub Pages](https://11ty.github.io/eleventy-base-blog/)
86+
- [Remix on Glitch](https://glitch.com/~11ty-eleventy-base-blog)
87+
88+
## Deploy this to your own site
89+
90+
Deploy this Eleventy site in just a few clicks on these services:
91+
92+
- [Get your own Eleventy web site on Netlify](https://app.netlify.com/start/deploy?repository=https://github.com/11ty/eleventy-base-blog)
93+
- If you run Eleventy locally you can drag your `_site` folder to [`drop.netlify.com`](https://drop.netlify.com/) to upload it without using `git`.
94+
- [Get your own Eleventy web site on Vercel](https://vercel.com/import/project?template=11ty%2Feleventy-base-blog)
95+
- Read more about [Deploying an Eleventy project](https://www.11ty.dev/docs/deployment/) to the web.
96+
97+
### Implementation Notes
98+
99+
- `content/about/index.md` is an example of a content page.
100+
- `content/blog/` has the blog posts but really they can live in any directory. They need only the `posts` tag to be included in the blog posts [collection](https://www.11ty.dev/docs/collections/).
101+
- Use the `eleventyNavigation` key (via the [Eleventy Navigation plugin](https://www.11ty.dev/docs/plugins/navigation/)) in your front matter to add a template to the top level site navigation. This is in use on `content/index.njk` and `content/about/index.md`.
102+
- Content can be in _any template format_ (blog posts needn’t exclusively be markdown, for example). Configure your project’s supported templates in `eleventy.config.js` -> `templateFormats`.
103+
- The `public` folder in your input directory will be copied to the output folder (via `addPassthroughCopy` in the `eleventy.config.js` file). This means `./public/css/*` will live at `./_site/css/*` after your build completes.
104+
- Provides two content feeds:
105+
- `content/feed/feed.njk`
106+
- `content/feed/json.njk`
107+
- This project uses three [Eleventy Layouts](https://www.11ty.dev/docs/layouts/):
108+
- `_includes/layouts/base.njk`: the top level HTML structure
109+
- `_includes/layouts/home.njk`: the home page template (wrapped into `base.njk`)
110+
- `_includes/layouts/post.njk`: the blog post template (wrapped into `base.njk`)
111+
- `_includes/postslist.njk` is a Nunjucks include and is a reusable component used to display a list of all the posts. `content/index.njk` has an example of how to use it.
112+
113+
If your site enforces a Content Security Policy (as public-facing sites should), either, in `base.njk`, disable
114+
115+
```html
116+
<style>
117+
{% getBundle "css" %}
118+
</style>
119+
```
120+
121+
and enable
122+
123+
```html
124+
<link rel="stylesheet" href="{% getBundleFileUrl "css" %}">
125+
```
126+
127+
or configure the server with the CSP directive `style-src: 'unsafe-inline'` (which is less secure).

_data/metadata.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
module.exports = {
2+
title: 'jQuery - Bug Tracker',
3+
url: 'https://bugs.jqueryui.com/',
4+
language: 'en',
5+
description: 'Static archive of the old bugs.jqueryui.com Trac site.',
6+
author: {
7+
name: 'Timmy Willison',
8+
9+
url: 'https://timmywil.com/'
10+
}
11+
}

0 commit comments

Comments
 (0)