diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml new file mode 100644 index 00000000000..c874eeb33da --- /dev/null +++ b/.github/workflows/build-docs.yml @@ -0,0 +1,59 @@ +name: Deploy CCCL pages + +on: + # Runs on pushes targeting the default branch + push: + branches: ["main"] + + # 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: read + pages: write + id-token: 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@v3 + - name: Setup Pages + uses: actions/configure-pages@v3 + + # Build top level docs for CCCL + - name: Build landing page + uses: actions/jekyll-build-pages@v1 + with: + source: ./docs + destination: ./_site + + # Build libcudacxx docs + - name: Build libcudacxx docs + uses: actions/jekyll-build-pages@v1 + with: + source: ./libcudacxx/docs + destination: ./_site/libcudacxx + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 diff --git a/docs/_config.yaml b/docs/_config.yaml new file mode 100644 index 00000000000..e8d54ea85b7 --- /dev/null +++ b/docs/_config.yaml @@ -0,0 +1,30 @@ +title: CUDA C++ Core Libraries + +repository: nvidia/cccl + +remote_theme: pmarsceill/just-the-docs + +color_scheme: nvidia +logo: /assets/images/nvidia_logo.png + +search_enabled: true +search.heading_level: 4 + +# just-the-docs ignores these filenames by default. +include: [ "contributing.md", "code_of_conduct.md" ] + +plugins_dir: + - jekyll-remote-theme + - jekyll-optional-front-matter # GitHub Pages. + - jekyll-default-layout # GitHub Pages. + - jekyll-titles-from-headings # GitHub Pages. + - jekyll-relative-links # GitHub Pages. + +defaults: + - + scope: + path: index.md + values: + title: index + nav_order: 0 + permalink: / \ No newline at end of file diff --git a/docs/_sass/color_schemes/nvidia.scss b/docs/_sass/color_schemes/nvidia.scss new file mode 100644 index 00000000000..6bd1ddcbbf1 --- /dev/null +++ b/docs/_sass/color_schemes/nvidia.scss @@ -0,0 +1,125 @@ +$body-line-height: 1.4; +$content-line-height: 1.4; +.highlight { line-height: 1.0 !important; } + +/* h1 size. We make this smaller so the README title fits on one line. */ +$font-size-9: 30px; + +/* Inline code. */ +code, +code.highlighter-rouge +{ font-size: 0.85em !important; } + +/* Code blocks. */ +pre.highlight code +{ font-size: 0.9em !important; } + +$nav-width: 300px; +$content-width: 1000px; + +$body-background-color: $grey-dk-300; +$sidebar-color: $grey-dk-300; +$border-color: $grey-dk-200; + +$body-text-color: $grey-lt-300; +$body-heading-color: $grey-lt-000; +$nav-child-link-color: $grey-dk-000; +$search-result-preview-color: $grey-dk-000; + +$link-color: #76b900; +$btn-primary-color: #76b900; +$base-button-color: $grey-dk-250; + +$code-background-color: $grey-dk-250; +$search-background-color: $grey-dk-250; +$table-background-color: $grey-dk-250; +$feedback-color: darken($sidebar-color, 3%); + +div.highlighter-rouge, +pre.highlight code +{ background-color: #111 !important; } + +.highlight span.err { color: #ff0000; font-weight: bold; } /* Error */ + +.highlight span.ow, /* Operator.Word */ +.highlight span.k, /* Keyword */ +.highlight span.kc, /* Keyword.Constant */ +.highlight span.kd, /* Keyword.Declaration */ +.highlight span.kp, /* Keyword.Pseudo */ +.highlight span.kr, /* Keyword.Reserved */ +.highlight span.bp, /* Name.Builtin.Pseudo */ +.highlight span.vc, /* Name.Variable.Class */ +.highlight span.vg, /* Name.Variable.Global */ +.highlight span.vi /* Name.Variable.Instance */ +{ color: #76b900; font-weight: bold; } + +.highlight span.n, /* Name */ +.highlight span.h, /* Name */ +.highlight span.na, /* Name.Attribute */ +.highlight span.nb, /* Name.Builtin */ +.highlight span.nc, /* Name.Class */ +.highlight span.no, /* Name.Constant */ +.highlight span.nd, /* Name.Decorator */ +.highlight span.ni, /* Name.Entity */ +.highlight span.ne, /* Name.Exception */ +.highlight span.nf, /* Name.Function */ +.highlight span.nl, /* Name.Label */ +.highlight span.nn, /* Name.Namespace */ +.highlight span.nx, /* Name.Other */ +.highlight span.py, /* Name.Property */ +.highlight span.nt, /* Name.Tag */ +.highlight span.nv, /* Name.Variable */ +.highlight span.kt /* Keyword.Type */ +{ color: $grey-lt-300 } + +.highlight span.c, /* Comment */ +.highlight span.cm, /* Comment.Multiline */ +.highlight span.c1, /* Comment.Single */ +.highlight span.cs /* Comment.Special */ +{ color: #009966; font-style: italic } + +.highlight span.cp /* Preprocessor */ +.highlight span.kn, /* Keyword.Namespace */ +{ color: $grey-dk-000 } + +.highlight span.o, /* Operator */ +.highlight span.p /* Punctuation */ +{ color: #00ff00 } + +.highlight span.ge { font-style: italic } /* Generic.Emph */ + +.highlight span.gs { font-weight: bold } /* Generic.Strong */ + +.highlight span.l, /* Literal */ +.highlight span.ld, /* Literal.Date */ +.highlight span.m, /* Literal.Number */ +.highlight span.mf, /* Literal.Number.Float */ +.highlight span.mh, /* Literal.Number.Hex */ +.highlight span.mi, /* Literal.Number.Integer */ +.highlight span.mo, /* Literal.Number.Oct */ +.highlight span.il, /* Literal.Number.Integer.Long */ +.highlight span.s, /* Literal.String */ +.highlight span.sb, /* Literal.String.Backtick */ +.highlight span.sc, /* Literal.String.Char */ +.highlight span.sd, /* Literal.String.Doc */ +.highlight span.s2, /* Literal.String.Double */ +.highlight span.se, /* Literal.String.Escape */ +.highlight span.sh, /* Literal.String.Heredoc */ +.highlight span.si, /* Literal.String.Interpol */ +.highlight span.sx, /* Literal.String.Other */ +.highlight span.sr, /* Literal.String.Regex */ +.highlight span.s1, /* Literal.String.Single */ +.highlight span.ss /* Literal.String.Symbol */ +{ color: #119911 } + +.highlight span.w { color: #00cc00 } /* Text.Whitespace */ + +.highlight span.gh, /* Generic.Heading */ +.highlight span.gp, /* Generic.Prompt */ +.highlight span.gu /* Generic.Subheading */ +{ color: #00ff00; font-weight: bold } + +.highlight span.gd { color: #ff0000 } /* Generic.Deleted */ +.highlight span.gi { color: #00ff00 } /* Generic.Inserted */ + +.search-input { color: $body-text-color; } diff --git a/libcudacxx/docs/assets/images/nvidia_logo.png b/docs/images/nvidia_logo.png similarity index 100% rename from libcudacxx/docs/assets/images/nvidia_logo.png rename to docs/images/nvidia_logo.png diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 00000000000..ce6d78f1fec --- /dev/null +++ b/docs/index.md @@ -0,0 +1,5 @@ +# CUDA C++ Core Libraries (CCCL) + +- [Thrust](thrust) +- [CUB](cub) +- [libcudacxx](libcudacxx) \ No newline at end of file diff --git a/libcudacxx/docs/_config.yml b/libcudacxx/docs/_config.yml index 9bc161235b0..c29357d23c9 100644 --- a/libcudacxx/docs/_config.yml +++ b/libcudacxx/docs/_config.yml @@ -5,7 +5,7 @@ repository: nvidia/libcudacxx remote_theme: pmarsceill/just-the-docs color_scheme: nvidia -logo: /assets/images/nvidia_logo.png +logo: ../../docs/assets/images/nvidia_logo.png search_enabled: true search.heading_level: 4