diff --git a/.jenkins.yaml b/.jenkins.yaml new file mode 100644 index 0000000..71133fe --- /dev/null +++ b/.jenkins.yaml @@ -0,0 +1,15 @@ +--- +environment_variables: + SITE_VERSION: "0.0.1-1" +git: + branch: main +triggers: + cron: "@daily" +clean_workspace: true +builders: + - docker +docker_name: drive/jupyter-site +docker_tags: + - "${SITE_VERSION}" + - "latest" +docker_no_cache: true diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..7f57ab8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ +FROM busybox + +RUN adduser -D static +USER static +WORKDIR /home/static + +COPY ./html /home/static +CMD ["busybox", "httpd", "-f", "-v", "-p", "3000"] + diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..4c9ebee --- /dev/null +++ b/Makefile @@ -0,0 +1,2 @@ +all: + generate-md --layout jasonm23-foghorn --input ./markdown --output ./html diff --git a/html/assets/cs3-logo.png b/html/assets/cs3-logo.png new file mode 100644 index 0000000..4aba011 Binary files /dev/null and b/html/assets/cs3-logo.png differ diff --git a/html/assets/hljs-github.min.css b/html/assets/hljs-github.min.css new file mode 100644 index 0000000..9b4f3aa --- /dev/null +++ b/html/assets/hljs-github.min.css @@ -0,0 +1,124 @@ +/* + +github.com style (c) Vasily Polovnyov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #333; + background: #f8f8f8; + -webkit-text-size-adjust: none; +} + +.hljs-comment, +.diff .hljs-header, +.hljs-javadoc { + color: #998; + font-style: italic; +} + +.hljs-keyword, +.css .rule .hljs-keyword, +.hljs-winutils, +.nginx .hljs-title, +.hljs-subst, +.hljs-request, +.hljs-status { + color: #333; + font-weight: bold; +} + +.hljs-number, +.hljs-hexcolor, +.ruby .hljs-constant { + color: #008080; +} + +.hljs-string, +.hljs-tag .hljs-value, +.hljs-phpdoc, +.hljs-dartdoc, +.tex .hljs-formula { + color: #d14; +} + +.hljs-title, +.hljs-id, +.scss .hljs-preprocessor { + color: #900; + font-weight: bold; +} + +.hljs-list .hljs-keyword, +.hljs-subst { + font-weight: normal; +} + +.hljs-class .hljs-title, +.hljs-type, +.vhdl .hljs-literal, +.tex .hljs-command { + color: #458; + font-weight: bold; +} + +.hljs-tag, +.hljs-tag .hljs-title, +.hljs-rules .hljs-property, +.django .hljs-tag .hljs-keyword { + color: #000080; + font-weight: normal; +} + +.hljs-attribute, +.hljs-variable, +.lisp .hljs-body { + color: #008080; +} + +.hljs-regexp { + color: #009926; +} + +.hljs-symbol, +.ruby .hljs-symbol .hljs-string, +.lisp .hljs-keyword, +.clojure .hljs-keyword, +.scheme .hljs-keyword, +.tex .hljs-special, +.hljs-prompt { + color: #990073; +} + +.hljs-built_in { + color: #0086b3; +} + +.hljs-preprocessor, +.hljs-pragma, +.hljs-pi, +.hljs-doctype, +.hljs-shebang, +.hljs-cdata { + color: #999; + font-weight: bold; +} + +.hljs-deletion { + background: #fdd; +} + +.hljs-addition { + background: #dfd; +} + +.diff .hljs-change { + background: #0086b3; +} + +.hljs-chunk { + color: #aaa; +} diff --git a/html/assets/hublogo.svg b/html/assets/hublogo.svg new file mode 100644 index 0000000..f000235 --- /dev/null +++ b/html/assets/hublogo.svg @@ -0,0 +1,75 @@ + + + +Group Copy 2 +Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/html/assets/pilcrow.css b/html/assets/pilcrow.css new file mode 100644 index 0000000..769196f --- /dev/null +++ b/html/assets/pilcrow.css @@ -0,0 +1,42 @@ +h1, +h2, +h3, +h4, +h5, +h6 { + position: relative; +} + +h1:hover .header-link:before, +h2:hover .header-link:before, +h3:hover .header-link:before, +h4:hover .header-link:before, +h5:hover .header-link:before, +h6:hover .header-link:before { + content: "\00B6";/* pilcrow */ + color: #888; + font-size: smaller; +} + +.header-link { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + position: absolute; + top: 0; + left: -0.7em; + display: block; + padding-right: 1em; +} + +h1:hover .header-link, +h2:hover .header-link, +h3:hover .header-link, +h4:hover .header-link, +h5:hover .header-link, +h6:hover .header-link { + display: inline-block; + text-decoration: none; +} diff --git a/html/assets/style.css b/html/assets/style.css new file mode 100644 index 0000000..aa93e18 --- /dev/null +++ b/html/assets/style.css @@ -0,0 +1,141 @@ +@import url(//fonts.googleapis.com/css?family=Vollkorn:400,400italic,700,700italic&subset=latin); + +html, body { + padding:1em; + margin:auto; + max-width:42em; + background:#fefefe; + } +body { + font: 1.3em "Vollkorn", Palatino, Times; + color: #333; + line-height: 1.4; + text-align: justify; + } +header, nav, article, footer { + width: 700px; + margin:0 auto; + } +article { + margin-top: 4em; + margin-bottom: 4em; + min-height: 400px; + } +footer { + margin-bottom:50px; + } +video { + margin: 2em 0; + border:1px solid #ddd; + } + +nav { + font-size: .9em; + font-style: italic; + border-bottom: 1px solid #ddd; + padding: 1em 0; + } +nav p { + margin: 0; + } + +/* Typography +-------------------------------------------------------- */ + +h1 { + margin-top: 0; + font-weight: normal; + } +h2 { + font-weight: normal; + } +h3 { + font-weight: normal; + font-style: italic; + margin-top:3em; + } +p { + margin-top:0; + -webkit-hypens:auto; + -moz-hypens:auto; + hyphens:auto; + } +ul { + list-style: square; + padding-left:1.2em; + } +ol { + padding-left:1.2em; + } +blockquote { + margin-left: 1em; + padding-left: 1em; + border-left: 1px solid #ddd; + } +code { + font-family: "Consolas", "Menlo", "Monaco", monospace, serif; + font-size: .9em; + } +a { + color: #2484c1; + text-decoration: none; + } +a:hover { + text-decoration: underline; + } +a img { + border:none; + } +h1 a, h1 a:hover { + color: #333; + text-decoration: none; + } +hr { + color : #ddd; + height : 1px; + margin: 2em 0; + border-top : solid 1px #ddd; + border-bottom : none; + border-left: 0; + border-right: 0; + } +p#heart{ + font-size: 2em; + line-height: 1; + text-align: center; + color: #ccc; + } +.red { + color:#B50000; + } + +/* Home Page +--------------------------- */ + +body#index li { + margin-bottom: 1em; + } + + +/* iPad +-------------------------------------------------------- */ +@media only screen and (max-device-width: 1024px) { +body { + font-size: 120%; + line-height: 1.4; + } +} /* @iPad */ + +/* iPhone +-------------------------------------------------------- */ +@media only screen and (max-device-width: 480px) { +body { + text-align: left; + } +article, footer { + width: auto; + } +article { + padding: 0 10px; + } +} /* @iPhone */ diff --git a/html/assets/sunet.svg b/html/assets/sunet.svg new file mode 100644 index 0000000..58c8c0a --- /dev/null +++ b/html/assets/sunet.svg @@ -0,0 +1,31 @@ + + Till startsidan + + + + + + + + + + + + + diff --git a/html/index.html b/html/index.html new file mode 100644 index 0000000..f75e725 --- /dev/null +++ b/html/index.html @@ -0,0 +1,25 @@ + + + + JupyterHub @ SUNET + + + + + + +

JupyterHub @ SUNET

+

Sunet is deploying a JupyterHub installation for the SUNET Drive community. +In line with our policies we are releasing our efforts as free and open source software.

+

Please have a look at our github repository for more information on our Nextcloud app and associated information on how we deploy our setup:

+ +

We are also organizing an online technical workshop for the CS3 community on 2024-05-15. Please register if you are so inclined:

+ +

Many thanks to both the From Zero to JupyterHub project and the Nextcloud project for the shoulders we are able to stand on.

+

SUNET     JupyterHub

+ + diff --git a/html/workshop/index.html b/html/workshop/index.html new file mode 100644 index 0000000..8177858 --- /dev/null +++ b/html/workshop/index.html @@ -0,0 +1,90 @@ + + + + CS3 JupyterHub Community Technical Workshop 2024 + + + + + + +

CS3 JupyterHub Community Technical Workshop 2024

+

The Workshop organized by SUNET as an informal event for the CS3 JupyterHub Community. The will be held online on Wednesday, May 15, 2024, 13:00-16:00 CEST.

+

To participate, please register by sending an email to drive@sunet.se with the subject "JupyterHub Workshop 2024" and your name and affiliation.

+

The workshop will be held in English on Zoom. A link to the Zoom meeting will be sent to all registered participants well in time for the workshop.

+

Presentations

+

Ideally each institution represented will hold a presentation of their JupyterHub deployment. +Please indicate in your registration email if you are planning to do so, and we will add your institution's presentation to the schedule. +The slot for the presentation will be 15 minutes with an additional 5 minutes for questions.

+

After each hour of the presentations, we will have a 10 minutes break. Any additional time that is left after the presentations will be used for a free form discussion. +If we run out of presentations and/or other things to say before the three hours have passed, we will end the workshop early.

+

Schedule

+

This is the tentative schedule for the workshop. It is subject to change.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
When     What
13:00 - 13:10Welcome
13:10 - 13:20SUNET
13:20 - 13:40TBD
13:40 - 14:00TBD
14:00 - 14:10Break
14:10 - 14:30TBD
14:30 - 14:50TBD
14:50 - 15:00Break
15:00 - 15:20TBD
15:20 - 15:40TBD
15:40 - 16:00Discussion
+
+

SUNET     JupyterHub     CS3

+ + diff --git a/markdown/index.md b/markdown/index.md new file mode 100644 index 0000000..99b90ab --- /dev/null +++ b/markdown/index.md @@ -0,0 +1,16 @@ +# JupyterHub @ SUNET + +Sunet is deploying a JupyterHub installation for the SUNET Drive community. +In line with our policies we are releasing our efforts as free and open source software. + +Please have a look at our github repository for more information on our [Nextcloud app](https://apps.nextcloud.com/apps/integration_jupyterhub) and associated information on how we deploy our setup: + +* [https://github.com/sunet/nextcloud-jupyter](https://github.com/sunet/nextcloud-jupyter) + +We are also organizing an online technical workshop for the CS3 community on 2024-05-15. Please register if you are so inclined: + +* [/workshop](/workshop/index.html) + +Many thanks to both the [From Zero to JupyterHub](https://z2jh.jupyter.org/en/stable/) project and the [Nextcloud](https://nextcloud.com) project for the shoulders we are able to stand on. + +SUNET     JupyterHub diff --git a/markdown/workshop/index.md b/markdown/workshop/index.md new file mode 100644 index 0000000..60b2b0e --- /dev/null +++ b/markdown/workshop/index.md @@ -0,0 +1,36 @@ +# CS3 JupyterHub Community Technical Workshop 2024 + +The Workshop organized by [SUNET](https://sunet.se) as an informal event for the [CS3](https://www.cs3community.org/) JupyterHub Community. The will be held online on Wednesday, May 15, 2024, 13:00-16:00 CEST. + +To participate, please register by sending an email to [drive@sunet.se](mailto:drive@sunet.se) with the subject "JupyterHub Workshop 2024" and your name and affiliation. + +The workshop will be held in English on Zoom. A link to the Zoom meeting will be sent to all registered participants well in time for the workshop. + +## Presentations + +Ideally each institution represented will hold a presentation of their JupyterHub deployment. +Please indicate in your registration email if you are planning to do so, and we will add your institution's presentation to the schedule. +The slot for the presentation will be 15 minutes with an additional 5 minutes for questions. + +After each hour of the presentations, we will have a 10 minutes break. Any additional time that is left after the presentations will be used for a free form discussion. +If we run out of presentations and/or other things to say before the three hours have passed, we will end the workshop early. + +## Schedule + +This is the tentative schedule for the workshop. It is subject to change. + +| When |     |What | +| --- | --- | --- | +| 13:00 - 13:10 | | Welcome | +| 13:10 - 13:20 | | [SUNET](https://www.sunet.se) | +| 13:20 - 13:40 | | TBD | +| 13:40 - 14:00 | | TBD | +| 14:00 - 14:10 | | Break | +| 14:10 - 14:30 | | TBD | +| 14:30 - 14:50 | | TBD | +| 14:50 - 15:00 | | Break | +| 15:00 - 15:20 | | TBD | +| 15:20 - 15:40 | | TBD | +| 15:40 - 16:00 | | Discussion | +--- +SUNET     JupyterHub     CS3