-
Notifications
You must be signed in to change notification settings - Fork 0
Merge current Typelevel version as of 2022-07-18 #21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
b9b5661
9fa9852
9b362e9
76a9f84
fa6a1fc
2c8e530
90fafbd
ca2390b
ae18ebf
ab8b222
d0de36b
56c3aaa
70dcb0e
7a3b4c4
28cf586
ae6e60e
c8f7bde
1ab6991
f98b12b
9689e09
5d6d17a
b68c68d
495f658
4545dad
00f5f80
aca9aeb
4a0d0e2
c0efe94
2b97380
3549585
b36e53f
24e2e97
e53843b
bf15d99
5f40cad
260592e
622aee7
883af54
4ef000a
876adfa
4addbbe
9dc1391
3904633
8c7cbf5
eb20a5b
a02f798
5b31f78
c1d5ce0
46fafd4
7e43b30
19beeee
b64a9ed
985f29f
2e4eafb
27ef550
928cd8a
846f3dd
35cd254
32bc607
e66b0b3
5179c31
8ccaf49
907edb5
820ea30
ddb00d5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| 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/checkout@v2.3.2 | ||
|
|
||
| - 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 |
| 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/checkout@v2.3.2 | ||
|
|
||
| - 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 | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -61,6 +61,7 @@ GEM | |
| unicode-display_width (1.8.0) | ||
|
|
||
| PLATFORMS | ||
| x86_64-darwin-17 | ||
|
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't remember Ruby very well, and am not sure why this was necessary. I was asked to run |
||
| x86_64-darwin-18 | ||
|
|
||
| DEPENDENCIES | ||
|
|
@@ -69,4 +70,4 @@ DEPENDENCIES | |
| jekyll-paginate | ||
|
|
||
| BUNDLED WITH | ||
| 2.2.32 | ||
| 2.2.24 | ||
|
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think I could make this (and perhaps the previous) error go away if my bundler were 2.2.32. If this causes any problems, we'll revert, and I'll figure out how to upgrade. |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,179 @@ | ||
| typelevel website | ||
|
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We added a lot of instructions to the , and continue to do so. Some of them are no longer relevant, but I don't want to lose it. |
||
| ================= | ||
|
|
||
| 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" | ||
| ``` | ||
| 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 |
| 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> | ||
| 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 %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think the designers at 47 need to worry about this file.