Skip to content

Commit f491ef7

Browse files
committed
change tutorial layout
1 parent ffbb7e5 commit f491ef7

File tree

789 files changed

+623
-45418
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

789 files changed

+623
-45418
lines changed

.github/workflows/workflow.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ name: Owl Book CI Workflow
33
on:
44
push:
55
branches:
6-
- master
6+
- master123
77
pull_request:
88
branches:
9-
- master
9+
- master123
1010

1111
jobs:
1212
build:

.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,7 @@ book/*.toc
1818
book/*.ilg
1919

2020
.vscode/
21+
22+
_site
23+
Gemfile.lock
24+
.jekyll-cache/

404.html

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
permalink: /404.html
3+
layout: default
4+
---
5+
6+
<style type="text/css" media="screen">
7+
.container {
8+
margin: 10px auto;
9+
max-width: 600px;
10+
text-align: center;
11+
}
12+
h1 {
13+
margin: 30px 0;
14+
font-size: 4em;
15+
line-height: 1;
16+
letter-spacing: -1px;
17+
}
18+
</style>
19+
20+
<div class="container">
21+
<h1>404</h1>
22+
23+
<p><strong>Page not found :(</strong></p>
24+
<p>The requested page could not be found.</p>
25+
</div>

Dockerfile

-30
This file was deleted.

Dockerfile.base

-14
This file was deleted.

Gemfile

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
source "https://rubygems.org"
2+
# Hello! This is where you manage which Jekyll version is used to run.
3+
# When you want to use a different version, change it below, save the
4+
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
5+
#
6+
# bundle exec jekyll serve
7+
#
8+
# This will help ensure the proper Jekyll version is running.
9+
# Happy Jekylling!
10+
gem "jekyll", "~> 4.3.3"
11+
# This is the default theme for new Jekyll sites. You may change this to anything you like.
12+
gem "minima", "~> 2.5"
13+
14+
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
15+
# uncomment the line below. To upgrade, run `bundle update github-pages`.
16+
# gem "github-pages", group: :jekyll_plugins
17+
# If you have any plugins, put them here!
18+
group :jekyll_plugins do
19+
gem "jekyll-feed", "~> 0.12"
20+
end
21+
22+
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
23+
# and associated library.
24+
platforms :mingw, :x64_mingw, :mswin, :jruby do
25+
gem "tzinfo", ">= 1", "< 3"
26+
gem "tzinfo-data"
27+
end
28+
29+
# Performance-booster for watching directories on Windows
30+
gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]
31+
32+
# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
33+
# do not have a Java counterpart.
34+
gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]
35+
36+
gem "jekyll-remote-theme"

HISTORY.log

-47
This file was deleted.

Makefile

-33
This file was deleted.

README.md

+1-40
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,3 @@
11
# Owl Online Tutorial
22

3-
The main purpose of the online tutorial is for teaching how to use Owl software. The tutorial also convers many useful numerical and system techniques in numerical computing. Furthermore, the tutorial includes in-depth discussion on the lessons learnt by building a large and complex software system to enable scientific computing in OCaml.
4-
5-
The tooling and template reuse those in [Real World OCaml](https://realworldocaml.org/) under original authors' permission, with minor modidications.
6-
7-
8-
Test code:
9-
10-
```ocaml
11-
let test_sum_reduce ?(seq = false) ?(a = true) expected shape axis =
12-
let input = if seq = false then N.ones shape else N.sequential shape in
13-
let output = if a = true then N.sum_reduce ~axis input else N.sum_reduce input in
14-
let out_shp = N.shape output in
15-
let expected = N.of_array expected out_shp in
16-
close output expected
17-
```
18-
19-
## Compile
20-
21-
- `make` uses docker container to build the book.
22-
- `make test` synchronises with Owl API by evaluating the code snippet in the tutorial book.
23-
- `make compile` generates html files.
24-
- Edit `book/toc.scm` to add more chapters. Do not edit `book/tune` and `static/dune` directly.
25-
- Refer to [RWO](https://github.com/realworldocaml/book/blob/master/README.md) for details.
26-
27-
Note that tooling is not finished at the moment. Structure and tools are copied mostly from RWO book.
28-
29-
30-
## Contribute
31-
32-
Currently contribution to the book is mainly in the form of Pull Request.
33-
Normally you only need to change one of the `README.md` files in `book/` directory, though adding inline scripts requires some special care.
34-
Please make sure that your local changes compile without any error, and include both the change of markdown file in `docs/` directory in a PR.
35-
36-
37-
## Tooling
38-
39-
The following tools are used in the project, please refer to their documentation.
40-
41-
- [Pandoc](https://pandoc.org/MANUAL.html)
42-
- [Pandoc-crossref](http://lierdakil.github.io/pandoc-crossref/)
3+
The main purpose of the online tutorial is for teaching how to use Owl software. The tutorial also convers many useful numerical and system techniques in numerical computing. Furthermore, the tutorial includes in-depth discussion on the lessons learnt by building a large and complex software system to enable scientific computing in OCaml.

_config.yml

+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Welcome to Jekyll!
2+
#
3+
# This config file is meant for settings that affect your whole blog, values
4+
# which you are expected to set up once and rarely edit after that. If you find
5+
# yourself editing this file very often, consider using Jekyll's data files
6+
# feature for the data you need to update frequently.
7+
#
8+
# For technical reasons, this file is *NOT* reloaded automatically when you use
9+
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
10+
#
11+
# If you need help with YAML syntax, here are some quick references for you:
12+
# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml
13+
# https://learnxinyminutes.com/docs/yaml/
14+
#
15+
# Site settings
16+
# These are used to personalize your new site. If you look in the HTML files,
17+
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
18+
# You can create any custom variable you would like, and they will be accessible
19+
# in the templates via {{ site.myvariable }}.
20+
21+
title: Owl Tutorial
22+
23+
description: >- # this means to ignore newlines until "baseurl:"
24+
25+
Write an awesome description for your new site here. You can edit this
26+
line in _config.yml. It will appear in your document head meta (for
27+
Google search results) and in your feed.xml site description.
28+
baseurl: "" # the subpath of your site, e.g. /blog
29+
url: "https://ocaml.xyz/tutorial/" # the base hostname & protocol for your site, e.g. http://example.com
30+
twitter_username: jekyllrb
31+
github_username: jzstark
32+
33+
# Build settings
34+
remote_theme: pages-themes/[email protected]
35+
plugins:
36+
- jekyll-remote-theme # add this line to the plugins list if you already have one
37+
38+
show_downloads: false
39+
40+
# Exclude from processing.
41+
# The following items will not be processed, by default.
42+
# Any item listed under the `exclude:` key here will be automatically added to
43+
# the internal "default list".
44+
#
45+
# Excluded items can be processed by explicitly listing the directories or
46+
# their entries' file path in the `include:` list.
47+
#
48+
# exclude:
49+
# - .sass-cache/
50+
# - .jekyll-cache/
51+
# - gemfiles/
52+
# - Gemfile
53+
# - Gemfile.lock
54+
# - node_modules/
55+
# - vendor/bundle/
56+
# - vendor/cache/
57+
# - vendor/gems/
58+
# - vendor/ruby/

0 commit comments

Comments
 (0)