Skip to content

Commit e6e5592

Browse files
committed
Fix table sorting: add tablesort.js via head_custom include, GitHub Actions Pages deployment
1 parent 41cce85 commit e6e5592

8 files changed

Lines changed: 117 additions & 87 deletions

File tree

.github/workflows/pages.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Deploy Jekyll site to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: ["main"]
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: read
10+
pages: write
11+
id-token: write
12+
13+
concurrency:
14+
group: "pages"
15+
cancel-in-progress: false
16+
17+
jobs:
18+
build:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v4
23+
24+
- name: Setup Ruby
25+
uses: ruby/setup-ruby@v1
26+
with:
27+
ruby-version: "3.3"
28+
bundler-cache: true
29+
working-directory: docs
30+
31+
- name: Setup Pages
32+
id: pages
33+
uses: actions/configure-pages@v5
34+
35+
- name: Build with Jekyll
36+
run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
37+
working-directory: docs
38+
env:
39+
JEKYLL_ENV: production
40+
41+
- name: Upload artifact
42+
uses: actions/upload-pages-artifact@v3
43+
with:
44+
path: docs/_site
45+
46+
deploy:
47+
environment:
48+
name: github-pages
49+
url: ${{ steps.deployment.outputs.page_url }}
50+
runs-on: ubuntu-latest
51+
needs: build
52+
steps:
53+
- name: Deploy to GitHub Pages
54+
id: deployment
55+
uses: actions/deploy-pages@v4

docs/Gemfile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
source "https://rubygems.org"
2+
3+
gem "jekyll", "~> 4.3"
4+
gem "just-the-docs", "~> 0.10"
5+
6+
group :jekyll_plugins do
7+
gem "jekyll-seo-tag"
8+
end

docs/_config.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,13 @@ github_url: https://github.com/knmnyn/awesome-quantum-computing-programmes
1515
# Navigation settings
1616
nav_sort: case_insensitive
1717
search_enabled: true
18+
19+
# Markdown settings
20+
markdown: kramdown
21+
kramdown:
22+
input: GFM
23+
hard_wrap: false
24+
25+
# Plugins
26+
plugins:
27+
- jekyll-seo-tag

docs/_includes/head_custom.html

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<!-- tablesort: client-side column sorting for all markdown tables -->
2+
<script src="{{ '/assets/js/tablesort.min.js' | relative_url }}"></script>
3+
<script src="{{ '/assets/js/tablesort.number.min.js' | relative_url }}"></script>
4+
<style>
5+
/* Sortable table header styling */
6+
table th[role=columnheader] {
7+
cursor: pointer;
8+
user-select: none;
9+
white-space: nowrap;
10+
}
11+
table th[role=columnheader]:not(.no-sort)::after {
12+
content: ' \2195'; /* up-down arrow */
13+
font-size: 0.75em;
14+
color: #888;
15+
}
16+
table th[aria-sort=ascending]::after { content: ' \2191' !important; color: #333; }
17+
table th[aria-sort=descending]::after { content: ' \2193' !important; color: #333; }
18+
table tbody tr:hover { background-color: rgba(0,0,0,0.04); }
19+
</style>
20+
<script>
21+
document.addEventListener('DOMContentLoaded', function () {
22+
// Apply tablesort to every table on the page
23+
document.querySelectorAll('table').forEach(function (table) {
24+
new Tablesort(table);
25+
});
26+
});
27+
</script>

docs/assets/js/tablesort.min.js

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
/*!
2+
* tablesort v5.2.1 (2021-10-30)
3+
* http://tristen.ca/tablesort/demo/
4+
* Copyright (c) 2021 ; Licensed MIT
5+
*/
6+
!function(){var a=function(a){return a.replace(/[^\-?0-9.]/g,"")},b=function(a,b){return a=parseFloat(a),b=parseFloat(b),a=isNaN(a)?0:a,b=isNaN(b)?0:b,a-b};Tablesort.extend("number",function(a){return a.match(/^[-+]?[£\x24Û¢´]?\d+\s*([,\.]\d{0,2})/)||a.match(/^[-+]?\d+\s*([,\.]\d{0,2})?[£\x24Û¢´]/)||a.match(/^[-+]?(\d)*-?([,\.]){0,1}-?(\d)+([E,e][\-+][\d]+)?%?$/)},function(c,d){return c=a(c),d=a(d),b(d,c)})}();

docs/certificates.md

Lines changed: 3 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -11,52 +11,12 @@ nav_order: 3
1111

1212
> **⚠️ Data Accuracy Notice:** This data was compiled with the assistance of AI tools and checked against official sources where possible. Programme details are subject to change. Please verify all details directly with the provider. Found an error? See the [Contribution Guidelines](https://github.com/knmnyn/awesome-quantum-computing-programmes/blob/main/CONTRIBUTING.md).
1313
14-
*Click on any column header to sort the table.*
14+
**Click any column header to sort the table.**
1515

1616
| Programme Name | Provider | Mode | Focus Area | URL |
1717
|---|---|---|---|---|
1818
| IBM Certified Quantum Computation using Qiskit v2.X | IBM | Online | Software / Qiskit | [Link](https://www.ibm.com/training/certification/ibm-certified-quantum-computation-using-qiskit-v2x-developer-associate-C9008400) |
1919
| Google Quantum AI Online Courses | Google / Coursera | Online | Quantum AI / Cirq | [Link](https://www.coursera.org/partners/google-quantum-ai) |
2020
| The Hardware of a Quantum Computer | TU Delft / edX | Online | Hardware | [Link](https://www.edx.org/learn/quantum-computing/delft-university-of-technology-the-hardware-of-a-quantum-computer) |
21-
22-
<!-- Script to make tables sortable -->
23-
<script src="https://cdn.jsdelivr.net/npm/tablesort@5.3.0/dist/tablesort.min.js"></script>
24-
<script>
25-
document.addEventListener('DOMContentLoaded', function() {
26-
var tables = document.querySelectorAll('table');
27-
for (var i = 0; i < tables.length; i++) {
28-
new Tablesort(tables[i]);
29-
}
30-
});
31-
</script>
32-
<style>
33-
th[role=columnheader]:not(.no-sort) {
34-
cursor: pointer;
35-
}
36-
th[role=columnheader]:not(.no-sort):after {
37-
content: '';
38-
float: right;
39-
margin-top: 7px;
40-
border-width: 0 4px 4px;
41-
border-style: solid;
42-
border-color: #404040 transparent;
43-
visibility: hidden;
44-
opacity: 0;
45-
-ms-user-select: none;
46-
-webkit-user-select: none;
47-
-moz-user-select: none;
48-
user-select: none;
49-
}
50-
th[aria-sort=ascending]:not(.no-sort):after {
51-
border-bottom: none;
52-
border-width: 4px 4px 0;
53-
}
54-
th[aria-sort]:not(.no-sort):after {
55-
visibility: visible;
56-
opacity: 0.4;
57-
}
58-
th[role=columnheader]:not(.no-sort):hover:after {
59-
visibility: visible;
60-
opacity: 1;
61-
}
62-
</style>
21+
| Quantum Computing Fundamentals | MIT xPRO / edX | Online | Algorithms & Theory | [Link](https://xpro.mit.edu/courses/course-v1:xPRO+QCFx1/) |
22+
| Introduction to Quantum Computing | Qubit by Qubit / The Coding School | Online | Introductory | [Link](https://www.qubitbyqubit.org/programs) |

docs/undergraduate.md

Lines changed: 2 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ nav_order: 2
1111

1212
> **⚠️ Data Accuracy Notice:** This data was compiled with the assistance of AI tools and checked against official sources where possible. Tuition fees, durations, and programme availability are subject to change. Please verify all details directly with the institution. Found an error? See the [Contribution Guidelines](https://github.com/knmnyn/awesome-quantum-computing-programmes/blob/main/CONTRIBUTING.md).
1313
14-
The table below lists undergraduate programmes (BSc, BEng, etc.) globally.
14+
The table below lists undergraduate programmes (BSc, BEng, etc.) globally.
1515

16-
*Click on any column header to sort the table.*
16+
**Click any column header to sort the table.**
1717

1818
| Programme Name | Institution | Country | Region | Degree Type | Duration | Mode | Focus Area | Tuition (approx) | URL |
1919
|---|---|---|---|---|---|---|---|---|---|
@@ -27,45 +27,3 @@ The table below lists undergraduate programmes (BSc, BEng, etc.) globally.
2727
| Quantum Science and Engineering Minor | University of Maryland (UMD) | USA | North America | Minor | Varies | In-person | Quantum Science | Varies | [Link](https://academiccatalog.umd.edu/undergraduate/colleges-schools/engineering/electrical-and-computer/quantum-science-engineering-minor/) |
2828
| Quantum Information Science and Technology Certificate | Purdue University | USA | North America | Certificate | Varies | In-person | Quantum Information | Varies | [Link](https://engineering.purdue.edu/Engr/Academics/Undergraduate/majors/2025-26/certificates/Quantum-Information-Science-and-Technology-Certificate) |
2929
| Minor in Quantum Science and Quantum Information | TU Delft | Netherlands | Europe | Minor | 6 Months | In-person | Quantum Science | Varies | [Link](https://www.tudelft.nl/en/faculty-of-applied-sciences/education/minors-and-electives/quantum-science-and-quantum-information) |
30-
31-
<!-- Script to make tables sortable -->
32-
<script src="https://cdn.jsdelivr.net/npm/tablesort@5.3.0/dist/tablesort.min.js"></script>
33-
<script>
34-
document.addEventListener('DOMContentLoaded', function() {
35-
var tables = document.querySelectorAll('table');
36-
for (var i = 0; i < tables.length; i++) {
37-
new Tablesort(tables[i]);
38-
}
39-
});
40-
</script>
41-
<style>
42-
th[role=columnheader]:not(.no-sort) {
43-
cursor: pointer;
44-
}
45-
th[role=columnheader]:not(.no-sort):after {
46-
content: '';
47-
float: right;
48-
margin-top: 7px;
49-
border-width: 0 4px 4px;
50-
border-style: solid;
51-
border-color: #404040 transparent;
52-
visibility: hidden;
53-
opacity: 0;
54-
-ms-user-select: none;
55-
-webkit-user-select: none;
56-
-moz-user-select: none;
57-
user-select: none;
58-
}
59-
th[aria-sort=ascending]:not(.no-sort):after {
60-
border-bottom: none;
61-
border-width: 4px 4px 0;
62-
}
63-
th[aria-sort]:not(.no-sort):after {
64-
visibility: visible;
65-
opacity: 0.4;
66-
}
67-
th[role=columnheader]:not(.no-sort):hover:after {
68-
visibility: visible;
69-
opacity: 1;
70-
}
71-
</style>

0 commit comments

Comments
 (0)