- Notifications
You must be signed in to change notification settings - Fork194
Project Jupyter's home on the World Wide Web
License
jupyter/jupyter.github.io
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
This is the source toJupyter.org.
There are two ways that this site is built:
- Pull Request previews are built withNetlify, a hosting service for static websites. See the section below for more information.
- Hosting for jupyter.org is done viaGitHub Pages. GitHub will automatically use Jekyll to build the HTML for this site and host it at
jupyter.github.io, which connects withjupyter.org.
Netlify will automatically build a preview of the website in an open Pull Request. To see this, click on theShow all checks button just above the comment box in the Pull Request window. Then click on thedetails link on thedeploy/netlify row to see a preview of the built site.
Here's an image of this box on a GitHub PR page:
We are experimenting withPlausible.io for web analytics.Access it at this link, using the1Password for login credentials.
Plausible dashboard link:https://plausible.io/jupyter.org/
See the sections below for a few ways to build the site locally.
The site is built with Jekyll, seethe Jekyll website for how to customize the build process.
The easiest way to build the site locally is by using thenox command line tool. This tool makes it easy to automate commands in a repository, and we have included abuild command to quickly install the dependencies and build the site.
To build and preview the site locally, follow these steps:
Clone this repository.
$git clone https://github.com/jupyter/jupyter.github.io$cd jupyter.github.io
Install
nox$pip install noxRun the
buildcommand$nox -s build-live
This will install the needed dependencies in a virtual environment usingtheconda package manager.
When the build is finished, go tolocalhost: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.
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.
To stop serving the website, pressCtrl-C in your terminal
To build the site manually, you'll need Ruby, Jekyll, and the packages that Jekyll uses to build the site (these are defined inGemfile).
Follow these steps:
Install Jekyll. You have two options:
Follow the Jekyll installation instructions. These steps will guide you through installing Ruby and Jekyll locally.
Usethe anaconda distribution andconda-forge.
Firstinstall miniconda, then run the following command:
$conda install -c conda-forge ruby c-compiler compilers cxx-compilerFinally install Jekyll and Bundler, which will let you install the site's dependencies:
$gem install jekyll bundler
Install the site's build dependencies. These are specified in
Gemfile.$bundle installThis 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.Build the site locally.
$bundleexec jekyll serve liveserveThis will build the site's HTML and open a server at
localhost:4000for you to preview the site.
Most pages are located at the place where their URL is, nothing fancy. Some are written in HTML. Others are written in Markdown. The homepage is inindex.html. The about page is inabout.md`.
Createmy_page.html (will have urlhttps://jupyter.org/my_page.html)ormy_page/index.html (will have urlhttps://jupyter.org/my_page/), start with the following:
---layout: defaulttitle: My Page---write some html here (consider you are already inside `<body></body>`)You cannot do it yet with .md file, but you will be able soon.
Add commit (and don't forget to add to_data/nav.yml).
Shortcuts with colors and other common variables can be found in_sass/settings. They can be used in SCSS files.
@import"settings/colors"a {color:$orange;}
We recommend minifying images whenever adding them to this website. This helps keep the page load times of our website down. There are many minifying services out there, butthesquoosh.app service is a lightweight and easy-to-use option.
The Jupyter website useslazy loading of images. 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".
Add lazy loading to an image by adding aloading="lazy" configuration to the<img> element. For example:
<imgclass="my-class"src="my/src.png"loading="lazy"/>
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:
<imgclass="my-class"src="my/src.png"loading="eager"/>
A workflow on GitHub Actions is run at every push and for every pull request to ensure basic integrity of the website:
- validating the structure of the HTML usingNu validator to ensure compliance with HTML standards
- checking linked URLs for errors (including expired certificates)
- runningLighthouse audits to ensure performance, accessibility, SEO optimization and best practices
If pre-defined quality targets are not met, the jobs will fail.Click on "Details" link for the failing job to see what caused the failure.
The detailed results will be available in the logs (which are only shown to users logged in on GitHub),including links to full Lighthouse reports on public temporary storage (the links will expire after 7 days).
About
Project Jupyter's home on the World Wide Web
Topics
Resources
License
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.
