-
Notifications
You must be signed in to change notification settings - Fork 101
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #21 from rossabaker/reboot
Merge current Typelevel version as of 2022-07-18
- Loading branch information
Showing
152 changed files
with
1,267 additions
and
94 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
name: cachix | ||
|
||
on: | ||
pull_request: | ||
push: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
build: | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
os: | ||
- macos-latest | ||
- ubuntu-latest | ||
steps: | ||
- uses: actions/[email protected] | ||
|
||
- name: "Install Nix️" | ||
uses: cachix/install-nix-action@v15 | ||
|
||
- name: "Install Cachix️" | ||
uses: cachix/cachix-action@v10 | ||
with: | ||
name: typelevel | ||
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' | ||
|
||
- name: "Build dev shell" | ||
run: nix develop -c true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
name: nix-flake-check | ||
|
||
on: | ||
pull_request: | ||
push: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/[email protected] | ||
|
||
- name: "Install Nix️" | ||
uses: cachix/install-nix-action@v16 | ||
|
||
- name: "Install Cachix️" | ||
uses: cachix/cachix-action@v10 | ||
with: | ||
name: typelevel | ||
|
||
- name: "Nix Flake Check" | ||
run: nix -L flake check |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,179 @@ | ||
typelevel website | ||
================= | ||
|
||
This is the website of typelevel.scala. It is built on Jekyll and served at [typelevel.org](https://typelevel.org). | ||
|
||
## Getting Started (the short version) | ||
|
||
If you just want to add a blog post or fix a typo in the content, here's how to get started. | ||
|
||
### Creating a blog post | ||
|
||
1. Create a new file in the `posts` directory or copy an existing post. Its name should have the format `YYYY-MM-DD-short_title.md`. | ||
2. Set the `title` (short title of the post, appears as the HTML `<title>`) and `author` (your GitHub user name) in the front matter. MathJax is available via `mathjax: true` inside the front matter. | ||
3. If this is your first blog post, please indicate if you want your name and a profile picture to appear on the post. If not, you can remove the `author` field from the front matter. Add your details in `_data/authors.yml`. | ||
4. Write your content using Markdown. For code highlighting, use the usual GitHub syntax: | ||
|
||
```scala | ||
def yourCode: Here | ||
``` | ||
|
||
If you haven't written a post before, please add yourself to `_data/authors.yml`. | ||
|
||
That's it, we'll take care of the rest. If you wish, you can also submit just a plain Markdown file and we'll be happy to integrate it. | ||
|
||
You can also use `tut` in posts. See `posts/2016-09-30-subtype-typeclasses.md` for an example. | ||
|
||
### Previewing your changes | ||
|
||
#### Bundler | ||
|
||
To preview your changes, you have to install [Bundler](https://bundler.io/) first. | ||
To download and set up all necessary dependencies, run | ||
|
||
```console | ||
$ bundle install | ||
... lots of text ... | ||
Bundle complete! 1 Gemfile dependency, 81 gems now installed. | ||
Bundled gems are installed into `./vendor/bundle` | ||
``` | ||
|
||
Then, you can generate the site by running | ||
|
||
```console | ||
$ bundle exec jekyll serve -wl --baseurl '' | ||
``` | ||
|
||
The generated site will end up in the `_site` directory. | ||
|
||
#### Nix | ||
|
||
A fully configured Jekyll is available as a Nix app. Assumes that you have [installed Nix](https://nixos.org/download.html) and [enabled flakes](https://nixos.wiki/wiki/Flakes#Installing_flakes). You may optionally use the [Typelevel Cachix](https://app.cachix.org/cache/typelevel#pull). | ||
|
||
```console | ||
$ nix run github:typelevel/typelevel.github.com#jekyll build | ||
warning: Git tree '/Users/ross.baker/src/typelevel.github.com' is dirty | ||
Configuration file: /Users/ross.baker/src/typelevel.github.com/_config.yml | ||
Source: /Users/ross.baker/src/typelevel.github.com | ||
Destination: /Users/ross.baker/src/typelevel.github.com/_site | ||
Incremental build: disabled. Enable with --incremental | ||
Generating... | ||
done in 3.635 seconds. | ||
Auto-regeneration: disabled. Use --watch to enable. | ||
``` | ||
|
||
There is also a devshell for direct invocation, and a convenient alias: | ||
|
||
```console | ||
$ nix develop github:typelevel/typelevel.github.com | ||
🔨 Welcome to typelevel-org-shell | ||
|
||
[general commands] | ||
|
||
jekyll - a jekyll bundled with this site's dependencies | ||
menu - prints this menu | ||
tl-preview - preview the Jekyll site | ||
|
||
$ tl-preview | ||
Configuration file: /home/you/src/typelevel.github.com/_config.yml | ||
Source: /home/you/src/typelevel.github.com | ||
Destination: /home/you/src/typelevel.github.com/_site | ||
Incremental build: disabled. Enable with --incremental | ||
Generating... | ||
done in 3.336 seconds. | ||
Auto-regeneration: enabled for '/home/you/src/typelevel.github.com' | ||
LiveReload address: http://127.0.0.1:35729 | ||
Server address: http://127.0.0.1:4000/ | ||
Server running... press ctrl-c to stop. | ||
``` | ||
|
||
|
||
|
||
## License | ||
|
||
Unless otherwise noted, all website content is licensed under a [Creative Commons Attribution 3.0 Unported License](https://creativecommons.org/licenses/by/3.0/deed.en_US). | ||
|
||
## Development | ||
|
||
### CSS | ||
|
||
The stylesheets are written in SASS, and can be found in the `css` and `_scss` directories. | ||
It is being processed/compiled into regular CSS by Jekyll. | ||
|
||
``` | ||
├── css/ | ||
│ ├── main.scss # Custom CSS, brings all stylesheets together | ||
├── _scss/ | ||
│ ├── _fonts.scss # @font-face embedding. | ||
│ ├── _mixins.scss # SASS mixins | ||
│ ├── _reset.scss # Normalize stylesheet | ||
│ ├── _syntax.scss # Syntax highlighting by Pygments | ||
│ ├── _variables.scss # SASS variables (colors, fonts, etc.) | ||
``` | ||
|
||
### Javascript | ||
|
||
Javascript can be found in the `js/` folder, which also includes its dependencies. | ||
|
||
### Templates | ||
|
||
All templates/layouts can be found in the `_layouts` folder, except the blog layout, which is located inside its own subfolder `blog/`. | ||
|
||
### Images | ||
|
||
Images for styling purposes are located inside `img/`, photos inside `img/media/`. | ||
|
||
### Adding a project | ||
|
||
There are four types of projects: core/featured projects, regular projects, incubator projects, and macros. | ||
|
||
To add a regular project, create a new markdown file in the `_projects` folder with the following front matter: | ||
|
||
```yml | ||
layout: post | ||
title: "Cats" | ||
category: "Functional Programming" | ||
description: "An experimental library intended to provide abstractions for functional programming in Scala, leveraging its unique features. Design goals are approachability, modularity, documentation and efficiency." | ||
permalink: "https://non.github.io/cats/" | ||
github: "https://github.com/non/cats" | ||
``` | ||
Right now nothing more than the correct front matter is required. | ||
Do the same for a **core/featured** project, but also add `core: true`. | ||
To add companions or extensions to these projects, use the front matter, too: | ||
|
||
```yml | ||
extensions: | ||
- title: "Alleycats" | ||
description: "Lawless classes & illegal instances" | ||
github: "https://github.com/non/alleycats" | ||
``` | ||
|
||
Incubator projects and macros are created a little differently. They are located in `_data/incubator.yml` and `_data/macros.yml` respectively, and look like this: | ||
|
||
```yml | ||
- title: "imp" | ||
description: "Summoning implicit values" | ||
github: "https://github.com/non/imp" | ||
``` | ||
|
||
### Adding a page | ||
|
||
To add a page, create a HTML or Markdown file in the root of the project. The site navigation is not fully dynamic for simplification purposes. It can be changed in the default layout (`_layouts/default.html`). | ||
|
||
Sample front matter for a page: | ||
|
||
```yml | ||
layout: page | ||
title: "Code of Conduct" | ||
``` | ||
|
||
### Help, CI is failing on a Dependabot PR | ||
|
||
We need to update the gemset as well. | ||
|
||
```sh | ||
nix run nixpkgs#bundix | ||
git commit -am "Update gemset" | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,15 @@ | ||
- title: All Posts | ||
url: /blog/ | ||
category: allPosts | ||
- title: Governance | ||
url: /blog/governance/ | ||
category: governance | ||
- title: Social | ||
url: /blog/social/ | ||
category: social | ||
- title: Technical | ||
url: /blog/technical/ | ||
category: technical | ||
- title: Social | ||
url: /blog/social/ | ||
category: social | ||
- title: Summits | ||
url: /blog/summits/ | ||
category: summits |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,11 +6,10 @@ | |
url: https://twitter.com/typelevel | ||
icon: "fab fa-twitter" | ||
|
||
- title: Gitter | ||
url: https://gitter.im/typelevel/home | ||
icon: "fab fa-gitter" | ||
- title: Discord | ||
url: https://discord.gg/XF3CXcMzqD | ||
icon: "fab fa-discord" | ||
|
||
- title: Email | ||
url: "mailto:[email protected]" | ||
icon: "fas fa-envelope" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,9 +20,9 @@ navSocial: | |
url: https://twitter.com/typelevel | ||
icon: "fab fa-twitter" | ||
|
||
- title: Gitter | ||
url: https://gitter.im/typelevel/home | ||
icon: "fab fa-gitter" | ||
- title: Discord | ||
url: https://discord.gg/XF3CXcMzqD | ||
icon: "fab fa-discord" | ||
|
||
- title: Email | ||
url: "mailto:[email protected]" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -69,8 +69,6 @@ | |
choose who you are talking to: | ||
* [Ross A. Baker](mailto:[email protected]) | ||
* [Christopher Davenport](mailto:[email protected]) | ||
* [Erik Osheim](mailto:[email protected]) | ||
* [Miles Sabin](mailto:[email protected]) | ||
* [Kailuo Wang](mailto:[email protected]) | ||
|
||
### Examples of unacceptable behavior | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -31,4 +31,4 @@ <h1><span>{{ page.title }}</span></h1> | |
{% include _js-bottom.html %} | ||
</body> | ||
|
||
</html> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
--- | ||
layout: page | ||
title: Blog | ||
permalink: /blog/governance/ | ||
--- | ||
|
||
<div id="section-page"> | ||
<div class="container"> | ||
<div class="masthead-page"> | ||
<h1><span>{{ page.title }}</span></h1> | ||
<p>{{site.data.description.blogDescription}}</p> | ||
{% include _tab.html %} | ||
</div> | ||
|
||
<div class="blog-list"> | ||
|
||
|
||
{% for post in site.posts %} | ||
{% if post.category == "governance" %} | ||
<a href="{{ site.baseurl }}{{ post.url }}" class="blog-item"> | ||
<div class="blog-item-content"> | ||
|
||
|
||
{% if post.image contains ".jpg" or post.image contains ".png" %} | ||
<img src="{{ site.baseurl }}{{ post.image }}" alt=""> | ||
{% else %} | ||
<img src="{{ site.baseurl }}/img/blog/placeholder-typelevel.jpg" alt=""> | ||
{% endif %} | ||
|
||
|
||
<div> | ||
<h3>{{ post.title }}</h3> | ||
{% assign author = site.data.authors[post.meta.author] %} | ||
{% if author %} | ||
|
||
by {{ author.full_name }} | ||
{% endif %} | ||
on {{ post.date | date: "%b %d, %Y" }}</p> | ||
</div> | ||
</div> | ||
<div class="blog-item-tag"> | ||
<p>{{ post.category }}</p> | ||
</div> | ||
</a> | ||
{% endif %} | ||
{% endfor %} | ||
</div> | ||
</div> | ||
</div> | ||
{% include _cta-newsletter.html %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.