Skip to content
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

Fix broken links in docusaurus docs #6232

Merged
merged 10 commits into from
Jun 21, 2024
Merged
Show file tree
Hide file tree
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
8 changes: 4 additions & 4 deletions .github/workflows/docusaurus-site.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# This workflow builds and publishes the Docusaurus site to:
# https://intersectmbo.github.io/plutus/docs

name: "🦕 Docusaurus Site"
name: "🦕 Deploy Docusaurus Site"

on:
workflow_dispatch:

jobs:
publish:
name: Publish
deploy:
name: Deploy
runs-on: [self-hosted, plutus-shared]
permissions:
contents: write
Expand All @@ -20,7 +20,7 @@ jobs:

- name: Build Site
working-directory: doc/docusaurus
run: nix develop --command bash -c 'yarn && yarn build'
run: nix develop --accept-flake-config --command bash -c 'yarn && yarn build'

- name: Deploy Site
uses: JamesIves/[email protected]
Expand Down
33 changes: 20 additions & 13 deletions .github/workflows/haddock-site.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,38 @@
# And optionally to:
# https://intersectmbo.github.io/plutus/haddock/latest

name: "📜 Haddock Site"
name: "📜 Deploy Haddock Site"

on:
workflow_dispatch:
inputs:
version:
ref:
description: |
The release version tag. For example if $version == "1.29.0.0" then the
current contents of the branch tagged "1.29.0.0" will be deployed to:
https://intersectmbo.github.io/plutus/haddock/$version
The $ref to build off of, e.g. "1.29.0.0", "master", or any other valid git ref.
When making a release, this is usually the version tag, e.g. "1.29.0.0", and will be
equal to the $destination input below. When back-porting this could be a commit sha instead.
required: true
type: string

destination:
description: |
The $destination folder, e.g. when "1.29.0.0" the haddock will be deploy to:
https://intersectmbo.github.io/plutus/haddock/1.29.0.0
required: true
type: string

latest:
description: |
If true, then the $version branch will also be deployed to:
If true, then the haddock site will also be deploy to:
https://intersectmbo.github.io/plutus/haddock/latest.
You want to leave this to true unless you are deploying old versions.
You want to leave this to true unless you are deploying old versions or back-porting.
type: boolean
required: true
default: true

jobs:
publish:
name: Publish
deploy:
name: Deploy
runs-on: [self-hosted, plutus-shared]
permissions:
contents: write
Expand All @@ -37,17 +44,17 @@ jobs:
- name: Checkout
uses: actions/checkout@main
with:
ref: ${{ inputs.version }}
ref: ${{ inputs.ref }}

- name: Build Site
run: |
nix develop --command ./scripts/combined-haddock.sh _haddock all
nix develop --accept-flake-config --command ./scripts/combined-haddock.sh _haddock all

- name: Deploy Site
uses: JamesIves/[email protected]
with:
folder: _haddock
target-folder: haddock/${{ inputs.version }}
target-folder: haddock/${{ inputs.destination }}
single-commit: true

- name: Deploy Site (latest)
Expand Down
29 changes: 18 additions & 11 deletions .github/workflows/metatheory-site.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,38 @@
# Optionally the $version branch can also be deployed to:
# https://intersectmbo.github.io/plutus/metatheory/latest

name: "🔮 Metatheory Site"
name: "🔮 Deploy Metatheory Site"

on:
workflow_dispatch:
inputs:
version:
ref:
description: |
The release version tag. For example if $version == "1.29.0.0" then the
current contents of the branch tagged "1.29.0.0" will be deployed to:
https://intersectmbo.github.io/plutus/metatheory/$version
The $ref to build off of, e.g. "1.29.0.0", "master", or any other valid git ref.
When making a release, this is usually the version tag, e.g. "1.29.0.0", and will be
equal to the $destination input below. When back-porting this could be a commit sha instead.
required: true
type: string

destination:
description: |
The $destination folder, e.g. when "1.29.0.0" the metatheory will be deploy to:
https://intersectmbo.github.io/plutus/metatheory/1.29.0.0
required: true
type: string

latest:
description: |
If true, then the $version branch will also be deployed to:
If true, then the metatheory site will also be deploy to:
https://intersectmbo.github.io/plutus/metatheory/latest.
You want to leave this to true unless you are deploying old versions.
You want to leave this to true unless you are deploying old versions or back-porting.
type: boolean
required: true
default: true

jobs:
publish:
name: Publish
deploy:
name: Deploy
runs-on: [self-hosted, plutus-shared]
permissions:
contents: write
Expand All @@ -38,7 +45,7 @@ jobs:
- name: Checkout
uses: actions/checkout@main
with:
ref: ${{ inputs.version }}
ref: ${{ inputs.ref }}

- name: Build Site
run: |
Expand All @@ -50,7 +57,7 @@ jobs:
uses: JamesIves/[email protected]
with:
folder: _site
target-folder: metatheory/${{ inputs.version }}
target-folder: metatheory/${{ inputs.destination }}
single-commit: true

- name: Deploy Latest
Expand Down
4 changes: 2 additions & 2 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ After setting it up you should just be able to depend on the `plutus` packages a

The main documentation is located https://intersectmbo.github.io/plutus/docs/[here].

The haddock documentation is located https://intersectmbo.github.io/plutus/haddock/[here].
The haddock documentation is located https://intersectmbo.github.io/plutus/haddock/latest[here].

The documentation for the metatheory can be found https://intersectmbo.github.io/plutus/metatheory/[here].
The documentation for the metatheory can be found https://intersectmbo.github.io/plutus/metatheory/latest[here].

=== Talks

Expand Down
6 changes: 3 additions & 3 deletions doc/docusaurus/docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ All of these elements are used in combination to write Plutus Core scripts that

To develop and deploy a smart contract, you also need off-chain code for building transactions, submitting transactions, deploying smart contracts, querying for available UTXOs on the chain, and so on. You may also want a front-end interface for your smart contract for a better user experience.

Plutus allows all programming to be done from a [single Haskell library](https://intersectmbo.github.io/plutus/master/). This lets developers build secure applications, forge new assets, and create smart contracts in a predictable, deterministic environment with the highest level of assurance. Furthemore, developers don’t have to run a full Cardano node to test their work.
Plutus allows all programming to be done from a [single Haskell library](https://intersectmbo.github.io/plutus/haddock/latest). This lets developers build secure applications, forge new assets, and create smart contracts in a predictable, deterministic environment with the highest level of assurance. Furthemore, developers don’t have to run a full Cardano node to test their work.

With Plutus you can:

Expand All @@ -38,15 +38,15 @@ See, for example:

- the [Cardano ledger specification](https://github.com/IntersectMBO/cardano-ledger#cardano-ledger)
- the [Plutus Core specification](https://github.com/IntersectMBO/plutus#specifications-and-design)
- the [public Plutus code libraries](https://intersectmbo.github.io/plutus/master/) generated using Haddock.
- the [public Plutus code libraries](https://intersectmbo.github.io/plutus/haddock/latest) generated using Haddock.

## The Plutus repository

The [Plutus repository](https://github.com/IntersectMBO/plutus) includes:

* the implementation, specification, and mechanized metatheory of Plutus Core
* the Plutus Tx compiler
* the combined documentation, generated using Haddock, for all the [public Plutus code libraries](https://intersectmbo.github.io/plutus/master/), such as `PlutusTx.List`, enabling developers to write Haskell code that can be compiled to Plutus Core.
* the combined documentation, generated using Haddock, for all the [public Plutus code libraries](https://intersectmbo.github.io/plutus/haddock/latest), such as `PlutusTx.List`, enabling developers to write Haskell code that can be compiled to Plutus Core.

## Educational resources

Expand Down
10 changes: 5 additions & 5 deletions doc/docusaurus/docs/reference/haddock-documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ sidebar_position: 3

## Public Plutus code libraries

The documentation generated by Haddock provides a comprehehsive reference for the [public Plutus code libraries](https://intersectmbo.github.io/plutus/master/), an essential resource for developers working with Haskell and Plutus Core.
The documentation generated by Haddock provides a comprehehsive reference for the [public Plutus code libraries](https://intersectmbo.github.io/plutus/haddock/latest), an essential resource for developers working with Haskell and Plutus Core.

### Highlighted modules

Highlighted modules in the documentation include the following:
- [PlutusTx](https://intersectmbo.github.io/plutus/master/plutus-tx/html/PlutusTx.html): compiling Haskell to PLC (Plutus Core; on-chain code)
- [PlutusTx.Prelude](https://intersectmbo.github.io/plutus/master/plutus-tx/html/PlutusTx-Prelude.html): Haskell prelude replacement compatible with PLC
- [PlutusCore](https://intersectmbo.github.io/plutus/master/plutus-core/html/PlutusCore.html): programming language in which scripts on the Cardano blockchain are written
- [UntypedPlutusCore](https://intersectmbo.github.io/plutus/master/plutus-core/html/UntypedPlutusCore.html): on-chain Plutus code.
- [PlutusTx](https://intersectmbo.github.io/plutus/haddock/latest/plutus-tx/html/PlutusTx.html): compiling Haskell to PLC (Plutus Core; on-chain code)
- [PlutusTx.Prelude](https://intersectmbo.github.io/plutus/haddock/latest/plutus-tx/html/PlutusTx-Prelude.html): Haskell prelude replacement compatible with PLC
- [PlutusCore](https://intersectmbo.github.io/plutus/haddock/latest/plutus-core/html/PlutusCore.html): programming language in which scripts on the Cardano blockchain are written
- [UntypedPlutusCore](https://intersectmbo.github.io/plutus/haddock/latest/plutus-core/html/UntypedPlutusCore.html): on-chain Plutus code.