Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 44 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,58 @@
# Calculus

This code base is using the [Julia Language](https://julialang.org/) and
[DrWatson](https://juliadynamics.github.io/DrWatson.jl/stable/)
to make a reproducible scientific project named
> Calculus
A Julia study project covering calculus topics (derivatives, integrals, limits, series, and
applications), adapted from Guido Walz et al., *Foundations of Mathematics: A Preparatory Course*
(Springer, 2023).

It is authored by Aron T.
This repository uses a [Julia](https://julialang.org/) workspace for reproducibility — see
[Julia Workspace Layout](.github/copilot-instructions.md) in the Copilot instructions for the
full member/environment breakdown.

To (locally) reproduce this project, do the following:
## Setup

0. Download this code base. Notice that raw data are typically not included in the
git-history and may need to be downloaded independently.
1. Open a Julia console and do:
1. Clone this repository.
2. Instantiate the root environment (library + its production dependencies):

```julia
julia --project=. -e 'using Pkg; Pkg.instantiate()'
```

3. Run the tests (uses the `test/` workspace member environment):

```julia
julia --project=. -e 'using Pkg; Pkg.test()'
```
julia> using Pkg
julia> Pkg.add("DrWatson") # install globally, for using `quickactivate`
julia> Pkg.activate("path/to/this/project")
julia> Pkg.instantiate()

4. Build the documentation locally (uses the `docs/` workspace member environment):

```julia
julia --project=docs docs/make.jl
```

This will install all necessary packages for you to be able to run the scripts and
everything should work out of the box, including correctly finding local paths.
The built site is in `docs/build/` — open `docs/build/index.html` in a browser.

### Notebook Setup

`notebooks/` is **not** a workspace member, so `Calculus` is not auto-resolved there.
After cloning (or after removing `notebooks/Manifest.toml`), run once in the notebooks directory:

```julia-repl
julia --project=./notebooks
```

Then in the REPL Pkg mode (press `]`):

You may notice that most scripts start with the commands:
```julia
using DrWatson
@quickactivate "Calculus"
```julia-repl
pkg> dev ..
pkg> instantiate
```
which auto-activate the project and enable local path handling from DrWatson.

This creates `notebooks/Manifest.toml` (gitignored) with `path = ".."` pointing at the root
package. Subsequent `julia --project=./notebooks` invocations will resolve
`Calculus` from the local source.

## Documentation

Some documentation has been set up for this project. It can be viewed by
running the file `docs/make.jl`, and then launching the generated file
`docs/build/index.html`.
Alternatively, the documentation may be already hosted online.
If this is the case it should be at:
Documentation is deployed cross-repo to the Math & Tech Study Hub:

https://FourMInfo.github.io/Calculus/dev/
<https://study.fourm.info/calculus/dev/>