Skip to content

Commit

Permalink
First working version with DocumenterVitepress.jl
Browse files Browse the repository at this point in the history
  • Loading branch information
Azzaare committed Mar 7, 2024
1 parent 0dbaea6 commit 3954807
Show file tree
Hide file tree
Showing 10 changed files with 362 additions and 0 deletions.
59 changes: 59 additions & 0 deletions .github/workflows/Documenter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Sample workflow for building and deploying a VitePress site to GitHub Pages
#
name: Documenter

on:
# Runs on pushes targeting the `master` branch. Change this to `main` if you're
# using the `main` branch as the default branch.
push:
branches:
- master
tags: ['*']
pull_request:

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: write
pages: write
id-token: write
statuses: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: pages
cancel-in-progress: false

jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node # This is still useful because it caches the node_modules so we don't constantly re-install. You don't technically need this, though.
uses: actions/setup-node@v3
with:
node-version: 20
cache: npm # or pnpm / yarn
cache-dependency-path: 'docs/package-lock.json' # this should be a package-lock.json file
- name: Setup Julia
uses: julia-actions/setup-julia@v1
- name: Pull Julia cache
uses: julia-actions/cache@v1
- name: Install documentation dependencies
run: julia --project=docs -e 'using Pkg; pkg"dev ."; Pkg.instantiate(); Pkg.precompile(); Pkg.status()'
- name: Instantiate NPM
run: cd docs/; npm i; cd ..
#- name: Creating new mds from src
- name: Build and deploy docs
uses: julia-actions/julia-docdeploy@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # For authentication with GitHub Actions token
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # For authentication with SSH deploy key
GKSwstype: "100" # for Plots.jl plots (if you have them)
JULIA_DEBUG: "Documenter"
DATADEPS_ALWAYS_ACCEPT: true
4 changes: 4 additions & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
build/
node_modules/
package-lock.json
Manifest.toml
4 changes: 4 additions & 0 deletions docs/Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[deps]
ConstraintCommons = "e37357d9-0691-492f-a822-e5ea6a920954"
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
DocumenterVitepress = "4710194d-e776-4893-9690-8d956a29c365"
24 changes: 24 additions & 0 deletions docs/make.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
using Documenter, DocumenterVitepress

using ConstraintCommons

makedocs(;
modules=[ConstraintCommons],
authors="Jean-François BAFFIER",
repo="https://github.com/JuliaConstraints/JuliaConstraints.github.io",
sitename="Chairmarks.jl",
format=DocumenterVitepress.MarkdownVitepress(
repo = "https://github.com/JuliaConstraints/JuliaConstraints.github.io",
devurl = "dev",
deploy_url = "https://juliaconstraints.github.io/",
),
pages=[
"Home" => "index.md",
],
warnonly = true,
)

deploydocs(;
repo="https://github.com/JuliaConstraints/JuliaConstraints.github.io",
push_preview=true,
)
18 changes: 18 additions & 0 deletions docs/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"devDependencies": {
"markdown-it": "^14.0.0",
"markdown-it-mathjax3": "^4.3.2",
"vitepress": "^1.0.0-rc.43",
"vitepress-plugin-tabs": "^0.5.0",
"vitest": "^1.3.0"
},
"scripts": {
"docs:dev": "vitepress dev build/.documenter",
"docs:build": "vitepress build build/.documenter",
"docs:preview": "vitepress preview build/.documenter"
},
"dependencies": {
"@shikijs/transformers": "^1.1.7",
"markdown-it-footnote": "^4.0.0"
}
}
48 changes: 48 additions & 0 deletions docs/src/.vitepress/config.mts
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import { defineConfig } from 'vitepress'
import { tabsMarkdownPlugin } from 'vitepress-plugin-tabs'
import mathjax3 from "markdown-it-mathjax3";
import footnote from "markdown-it-footnote";

// https://vitepress.dev/reference/site-config
export default defineConfig({
base: 'REPLACE_ME_DOCUMENTER_VITEPRESS',// TODO: replace this in makedocs!
title: 'REPLACE_ME_DOCUMENTER_VITEPRESS',
description: "A VitePress Site",
lastUpdated: true,
cleanUrls: true,
outDir: 'REPLACE_ME_DOCUMENTER_VITEPRESS', // This is required for MarkdownVitepress to work correctly...
head: [['link', { rel: 'icon', href: 'REPLACE_ME_DOCUMENTER_VITEPRESS_FAVICON' }]],
ignoreDeadLinks: true,

markdown: {
math: true,
config(md) {
md.use(tabsMarkdownPlugin),
md.use(mathjax3),
md.use(footnote)
},
theme: {
light: "github-light",
dark: "github-dark"}
},
themeConfig: {
outline: 'deep',
logo: 'REPLACE_ME_DOCUMENTER_VITEPRESS',
search: {
provider: 'local',
options: {
detailedView: true
}
},
nav: 'REPLACE_ME_DOCUMENTER_VITEPRESS',
sidebar: 'REPLACE_ME_DOCUMENTER_VITEPRESS',
editLink: 'REPLACE_ME_DOCUMENTER_VITEPRESS',
socialLinks: [
{ icon: 'github', link: 'REPLACE_ME_DOCUMENTER_VITEPRESS' }
],
footer: {
message: 'Made with <a href="https://documenter.juliadocs.org/stable/" target="_blank"><strong>Documenter.jl</strong></a> & <a href="https://vitepress.dev" target="_blank"><strong>VitePress</strong></a> <br>',
copyright: `© Copyright ${new Date().getUTCFullYear()}.`
}
}
})
19 changes: 19 additions & 0 deletions docs/src/.vitepress/theme/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
// .vitepress/theme/index.ts
import { h } from 'vue'
import type { Theme } from 'vitepress'
import DefaultTheme from 'vitepress/theme'

import { enhanceAppWithTabs } from 'vitepress-plugin-tabs/client'
import './style.css'

export default {
extends: DefaultTheme,
Layout() {
return h(DefaultTheme.Layout, null, {
// https://vitepress.dev/guide/extending-default-theme#layout-slots
})
},
enhanceApp({ app, router, siteData }) {
enhanceAppWithTabs(app)
}
} satisfies Theme
179 changes: 179 additions & 0 deletions docs/src/.vitepress/theme/style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
@import url(https://fonts.googleapis.com/css?family=Space+Mono:regular,italic,700,700italic);
@import url(https://fonts.googleapis.com/css?family=Space+Grotesk:regular,italic,700,700italic);

/* Customize default theme styling by overriding CSS variables:
https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css
*/

/* Layouts */

/*
:root {
--vp-layout-max-width: 1440px;
} */

.VPHero .clip {
white-space: pre;
max-width: 500px;
}

/* Fonts */

:root {
/* Typography */
--vp-font-family-base: "Barlow", "Inter var experimental", "Inter var",
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu,
Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;

/* Code Snippet font */
--vp-font-family-mono: "Space Mono", Menlo, Monaco, Consolas, "Courier New",
monospace;
}

.mono {
/*
Disable contextual alternates (kind of like ligatures but different) in monospace,
which turns `/>` to an up arrow and `|>` (the Julia pipe symbol) to an up arrow as well.
This is pretty bad for Julia folks reading even though copy+paste retains the same text.
*/
font-feature-settings: 'calt' 0;
}

/* Colors */

:root {
--julia-blue: #4063D8;
--julia-purple: #9558B2;
--julia-red: #CB3C33;
--julia-green: #389826;

--vp-c-brand: #389826;
--vp-c-brand-light: #3dd027;
--vp-c-brand-lighter: #9499ff;
--vp-c-brand-lightest: #bcc0ff;
--vp-c-brand-dark: #535bf2;
--vp-c-brand-darker: #454ce1;
--vp-c-brand-dimm: #212425;
}

/* Component: Button */

:root {
--vp-button-brand-border: var(--vp-c-brand-light);
--vp-button-brand-text: var(--vp-c-white);
--vp-button-brand-bg: var(--vp-c-brand);
--vp-button-brand-hover-border: var(--vp-c-brand-light);
--vp-button-brand-hover-text: var(--vp-c-white);
--vp-button-brand-hover-bg: var(--vp-c-brand-light);
--vp-button-brand-active-border: var(--vp-c-brand-light);
--vp-button-brand-active-text: var(--vp-c-white);
--vp-button-brand-active-bg: var(--vp-button-brand-bg);
}

/* Component: Home */

:root {
--vp-home-hero-name-color: transparent;
--vp-home-hero-name-background: -webkit-linear-gradient(
120deg,
#9558B2 30%,
#CB3C33
);

--vp-home-hero-image-background-image: linear-gradient(
-45deg,
#9558B2 30%,
#389826 30%,
#CB3C33
);
--vp-home-hero-image-filter: blur(40px);
}

@media (min-width: 640px) {
:root {
--vp-home-hero-image-filter: blur(56px);
}
}

@media (min-width: 960px) {
:root {
--vp-home-hero-image-filter: blur(72px);
}
}

/* Component: Custom Block */

:root.dark {
--vp-custom-block-tip-border: var(--vp-c-brand);
--vp-custom-block-tip-text: var(--vp-c-brand-lightest);
--vp-custom-block-tip-bg: var(--vp-c-brand-dimm);

/* // Tweak the color palette for blacks and dark grays */
--vp-c-black: hsl(220 20% 9%);
--vp-c-black-pure: hsl(220, 24%, 4%);
--vp-c-black-soft: hsl(220 16% 13%);
--vp-c-black-mute: hsl(220 14% 17%);
--vp-c-gray: hsl(220 8% 56%);
--vp-c-gray-dark-1: hsl(220 10% 39%);
--vp-c-gray-dark-2: hsl(220 12% 28%);
--vp-c-gray-dark-3: hsl(220 12% 23%);
--vp-c-gray-dark-4: hsl(220 14% 17%);
--vp-c-gray-dark-5: hsl(220 16% 13%);

/* // Backgrounds */
/* --vp-c-bg: hsl(240, 2%, 11%); */
--vp-custom-block-info-bg: hsl(220 14% 17%);
/* --vp-c-gutter: hsl(220 20% 9%);
--vp-c-bg-alt: hsl(220 20% 9%);
--vp-c-bg-soft: hsl(220 14% 17%);
--vp-c-bg-mute: hsl(220 12% 23%);
*/
}

/* Component: Algolia */

.DocSearch {
--docsearch-primary-color: var(--vp-c-brand) !important;
}

/* Component: MathJax */

mjx-container > svg {
display: block;
margin: auto;
}

mjx-container {
padding: 0.5rem 0;
}

mjx-container {
display: inline-block;
margin: auto 2px -2px;
}

mjx-container > svg {
margin: auto;
display: inline-block;
}

/**
* Colors links
* -------------------------------------------------------------------------- */

:root {
--vp-c-brand-1: #CB3C33;
--vp-c-brand-2: #CB3C33;
--vp-c-brand-3: #CB3C33;
--vp-c-sponsor: #ca2971;
--vitest-c-sponsor-hover: #c13071;
}

.dark {
--vp-c-brand-1: #91dd33;
--vp-c-brand-2: #91dd33;
--vp-c-brand-3: #91dd33;
--vp-c-sponsor: #91dd33;
--vitest-c-sponsor-hover: #e51370;
}
File renamed without changes
7 changes: 7 additions & 0 deletions docs/src/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# YourPackage.jl

Documentation for `YourPackage.jl`.

```@autodocs
Modules=[ConstraintCommons]
```

0 comments on commit 3954807

Please sign in to comment.