You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The easiest way to build the site locally is by using the [`nox` command line tool](https://nox.thea.codes/). This tool makes it easy to automate commands in a repository, and we have included a `build` command to quickly install the dependencies and build the site.
19
14
20
-
Install `bundler`, and use it to install the dependencies to build the website:
15
+
To build and preview the site locally, follow these steps:
This will install the needed dependencies in a virtual environment using [the `conda` package manager](https://docs.conda.io/en/latest/).
34
36
35
-
Edit the various parts, the `liveserve` option should automatically rebuild and
36
-
refresh the pages when changes occur.
37
+
**When the build is finished, go to `localhost:4000`**. When Jekyll finishes building your site, it will open a port on your computer and serve the website there so that you may preview it.
38
+
39
+
**You can make changes and watch the preview auto-update**. When you make changes to the website, they will automatically be updated in your preview in the browser.
37
40
38
41
To stop serving the website, press **`Ctrl`**-`C` in your terminal
39
42
40
-
Enjoy.
43
+
### Build the site manually
44
+
45
+
To build the site manually, you'll need Ruby, Jekyll, and the packages that Jekyll uses to build the site (these are defined in [`Gemfile`](Gemfile)).
46
+
47
+
Follow these steps:
48
+
49
+
1.**Install Jekyll**. You have two options:
50
+
-[Follow the Jekyll installation instructions](https://jekyllrb.com/docs/#instructions). These steps will guide you through installing Ruby and Jekyll locally.
51
+
- Use [the anaconda distribution](https://conda.io) and [conda-forge](https://conda-forge.org/).
52
+
53
+
First [install miniconda](https://conda.io/miniconda.html), then run the following command:
Finally install Jekyll and Bundler, which will let you install the site's dependencies:
60
+
61
+
```console
62
+
$ gem install jekyll bundler
63
+
```
64
+
2. **Install the site's build dependencies**. These are specified in [`Gemfile`](Gemfile).
65
+
66
+
```console
67
+
$ bundle install
68
+
```
69
+
70
+
This step might take a few moments as it must download and install a number of local extensions. It will create a local file called `Gemfile.lock`. These are the "frozen" dependencies and their version numbers needed to build the site.
41
71
42
-
# What is where
72
+
3.**Build the site locally**.
73
+
74
+
```console
75
+
$ bundle exec jekyll serve liveserve
76
+
```
77
+
78
+
This will build the site's HTML and open a server at `localhost:4000` for you to preview the site.
79
+
80
+
81
+
## Where the site is hosted
82
+
83
+
The site is automatically built with [Netlify](https://netlify.com), a hosting service for static websites. When any changes are merged into the `master` branch, Netlify will automatically build them and update the website at [jupyter.org](https://jupyter.org).
84
+
85
+
## Preview changes in a Pull Request
86
+
87
+
Netlify will automatically build a preview of the website in an open Pull Request. To see this, click on the **`Show all checks`** button just above the comment box in the Pull Request window. Then click on the **`details`** link on the **`deploy/netlify`** row to see a preview of the built site.
Most pages are located at the place where their URL is, nothing fancy. Headers
45
96
and footer are in `_includes/head.html`, `_includes/header.html`,
46
97
`_includes/footer.html`.
47
98
48
99
The **navbar** is in `_data/nav.yml` and looks like that:
49
100
50
-
```
101
+
```yaml
51
102
head:
52
103
- Home
53
104
- title: Install
@@ -70,7 +121,7 @@ which means, insert in order the following links into the navbar:
70
121
The navbar will automatically target `_blank` pages where the url is explicit,
71
122
and mark the correct link as the "current" one.
72
123
73
-
#How do I create a new page?
124
+
## Create a new page
74
125
75
126
Create `my_page.html` (will have url `https://jupyter.org/my_page.html`)
76
127
or `my_page/index.html` (will have url `https://jupyter.org/my_page/`), start with the following:
@@ -88,11 +139,20 @@ You cannot do it yet with .md file, but you will be able soon.
88
139
89
140
Add commit (and don't forget to add to `_data/nav.yml`).
90
141
91
-
# Previewing a Pull Request
142
+
## Site quirks and tips
143
+
144
+
### Lazy loading of images
145
+
146
+
The Jupyter website uses [lazy loading of images](https://web.dev/browser-level-image-lazy-loading/). In general, images that are "below the fold" (below the browser window on page load) for laptop-sized screen sizes are encouraged to be configured for "lazy loading".
147
+
148
+
Add lazy loading to an image by adding a `loading="lazy"` configuration to the `<img>` element. For example:
Netlify is used to provide a link to a rendered website with the changes proposed
94
-
in a PR. This convenience helps reviewers see how the change would look
95
-
before it is deployed in production.
154
+
For images that are "above the fold" (that will be seen by users immediately after page load), use "eager" loading to make sure they are loaded immediately. For example:
96
155
97
-
The link is found in the GitHub PR status box. In the **deploy/netlify** section,
Copy file name to clipboardExpand all lines: community.md
+65Lines changed: 65 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -124,3 +124,68 @@ where you can get involved. **We always welcome participation in the Jupyter com
124
124
</div>
125
125
</div>
126
126
</section>
127
+
128
+
## Live events
129
+
130
+
Project Jupyter events provide a forum for community members to come together in person or virtually to share and learn from each other.
131
+
132
+
This page is for in person, one-of-a-kind events, for community engagement, see the community page.
133
+
134
+
### Calendar
135
+
136
+
This is a calendar of regular online events. It might not be exhaustive.
137
+
138
+
<iframetitle="Calendar of Project Jupyter events"id="calendariframe"src="https://calendar.google.com/calendar/embed?height=600&wkst=1&bgcolor=%23ffffff&ctz=local&src=ZGdwZDM2ZjQzZXQ5Z3JhYm42dGRpbjZwbWNAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&src=bTNoZWs2OWRhZzczODF1bXQ4a2NqZDc1dTRAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&src=YXFwa3VpNXE3b2kzMnBrOXRjcDUzaG5zc2NAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&src=ZDE4NzR1cjZmZGh1ajBzbmpuaWxhYzJubGNAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&src=cGlhaGluZWpqcjZzc3ZpOGlrbWpqb3A2cm9AZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&color=%23AD1457&color=%23EF6C00&color=%23616161&color=%23F6BF26&color=%239E69AF"style="border:solid1px#777"width="800"height="600"frameborder="0"scrolling="no"></iframe>
[Jupyter Community Workshops](https://blog.jupyter.org/jupyter-community-workshops-cbd34ac82549) bring together small groups (approximately 12 to 24 people) of Jupyter community members and core contributors for high-impact strategic work and community engagement on focused topics.
155
+
156
+
Much of Jupyter’s work is accomplished through remote, online collaboration; yet, over the years, we have found deep value in focused in-person work over a few days. These in-person events are particularly useful for tackling challenging development and design projects, growing the community of contributors, and strengthening collaborations.
157
+
158
+
#### Round 1: 2018
159
+
160
+
-[Round 1: Call for Proposals](https://blog.jupyter.org/jupyter-community-workshops-cbd34ac82549)
-[Jupyter Hackathon in Hawaii](https://blog.jupyter.org/jupyter-hackathon-series-in-hawaii-97b3d1fbce68)
165
+
-[Teaching and Learning with Jupyter](https://blog.jupyter.org/teaching-and-learning-with-jupyter-c1d965f7b93a)
166
+
167
+
#### Round 2: 2019
168
+
169
+
-[Round 2: Call for Proposals](https://blog.jupyter.org/jupyter-community-workshops-call-for-proposals-26a8417e5b6a)
170
+
-[Round 2: Announcement of Workshops](https://blog.jupyter.org/jupyter-community-workshops-a7f1dca1735e)
171
+
-[Round 2: 2019 Year in Review](https://blog.jupyter.org/jupyter-community-workshops-2019-year-in-review-8876336924e4)
172
+
173
+
Individual workshops:
174
+
-[Jupyter Server Design and Roadmap Workshop](https://blog.jupyter.org/jupyter-community-workshop-jupyter-server-design-and-roadmap-workshop-6e6760cc5098): (Luciano Resende)
175
+
-[Building upon the Jupyter Kernel Protocol](https://blog.jupyter.org/field-report-on-the-kernel-community-workshop-a4ad73a1a718) (Sylvain Corlay)
-[Intro to Python for Kids, Parents & Teachers Series](https://datasciencecornwall.blogspot.com/2019/06/python-data-science-for-kids-taster.html): (Tariq Rashad)
178
+
-[Dashboarding in the Jupyter Ecosystem](https://blog.jupyter.org/report-on-the-jupyter-community-workshop-on-dashboarding-14f8ad9f3c0): (Pascal Bugnion, Sylvain Corlay)
179
+
-[Jupyter for Scientific User Facilities and High-Performance Computing](https://blog.jupyter.org/jupyter-for-science-user-facilities-and-high-performance-computing-de178106872): (Rollin Thomas)
180
+
-[South America Jupyter Community Workshop](https://blog.jupyter.org/south-america-jupyter-community-workshop-4edc51c7a6ce): (Damian Avila)
181
+
182
+
#### Round 3: 2020-2022
183
+
184
+
-[Round 3: Call for Proposals](https://blog.jupyter.org/jupyter-community-workshops-call-for-proposals-for-jan-aug-2020-710f687e30f4)
185
+
186
+
Due to the COVID-19 pandemic, workshops were put on hold during 2020. Stay tuned for more details about workshops funded in round 3.
187
+
188
+
### Jupyter Community Calls
189
+
190
+
[Jupyter Community Calls](https://jupyter.readthedocs.io/en/latest/community/content-community.html#jupyter-wide-meetings) provide a regular virtual forum for community-wide discussion and sharing.
0 commit comments