From 2a9fbb1ee9fbe0a37cb46f3d95f5bfd5e64db145 Mon Sep 17 00:00:00 2001 From: Phil Scott Date: Sat, 24 Apr 2021 16:20:59 -0400 Subject: [PATCH] New doc theme (#387) --- .github/workflows/ci.yaml | 23 +- .github/workflows/docs.yaml | 17 +- .gitignore | 4 +- docs/Docs.csproj | 2 +- docs/Program.cs | 1 + docs/README.md | 6 + ...viewimports.cshtml => _ViewImports.cshtml} | 0 .../{_viewstart.cshtml => _ViewStart.cshtml} | 0 docs/input/_layout.cshtml | 346 +- docs/input/_posts.cshtml | 2 +- docs/input/appendix/borders.md | 14 +- docs/input/appendix/colors.md | 24 +- docs/input/appendix/emojis.md | 30 +- docs/input/appendix/spinners.md | 4 +- docs/input/assets/bootstrap/_alert.scss | 51 - docs/input/assets/bootstrap/_badge.scss | 54 - docs/input/assets/bootstrap/_breadcrumb.scss | 42 - .../input/assets/bootstrap/_button-group.scss | 163 - docs/input/assets/bootstrap/_buttons.scss | 139 - docs/input/assets/bootstrap/_card.scss | 278 - docs/input/assets/bootstrap/_carousel.scss | 197 - docs/input/assets/bootstrap/_close.scss | 41 - docs/input/assets/bootstrap/_code.scss | 48 - .../input/assets/bootstrap/_custom-forms.scss | 521 - docs/input/assets/bootstrap/_dropdown.scss | 191 - docs/input/assets/bootstrap/_forms.scss | 338 - docs/input/assets/bootstrap/_functions.scss | 134 - docs/input/assets/bootstrap/_grid.scss | 69 - docs/input/assets/bootstrap/_images.scss | 42 - docs/input/assets/bootstrap/_input-group.scss | 191 - docs/input/assets/bootstrap/_jumbotron.scss | 17 - docs/input/assets/bootstrap/_list-group.scss | 158 - docs/input/assets/bootstrap/_media.scss | 8 - docs/input/assets/bootstrap/_mixins.scss | 47 - docs/input/assets/bootstrap/_modal.scss | 239 - docs/input/assets/bootstrap/_nav.scss | 120 - docs/input/assets/bootstrap/_navbar.scss | 324 - docs/input/assets/bootstrap/_pagination.scss | 73 - docs/input/assets/bootstrap/_popover.scss | 170 - docs/input/assets/bootstrap/_print.scss | 141 - docs/input/assets/bootstrap/_progress.scss | 46 - docs/input/assets/bootstrap/_reboot.scss | 482 - docs/input/assets/bootstrap/_root.scss | 20 - docs/input/assets/bootstrap/_spinners.scss | 55 - docs/input/assets/bootstrap/_tables.scss | 185 - docs/input/assets/bootstrap/_toasts.scss | 44 - docs/input/assets/bootstrap/_tooltip.scss | 115 - docs/input/assets/bootstrap/_transitions.scss | 20 - docs/input/assets/bootstrap/_type.scss | 125 - docs/input/assets/bootstrap/_utilities.scss | 17 - docs/input/assets/bootstrap/_variables.scss | 1143 - .../assets/bootstrap/bootstrap-grid.scss | 29 - .../assets/bootstrap/bootstrap-reboot.scss | 12 - docs/input/assets/bootstrap/bootstrap.scss | 44 - .../input/assets/bootstrap/mixins/_alert.scss | 13 - .../bootstrap/mixins/_background-variant.scss | 22 - .../input/assets/bootstrap/mixins/_badge.scss | 17 - .../bootstrap/mixins/_border-radius.scss | 63 - .../assets/bootstrap/mixins/_box-shadow.scss | 20 - .../assets/bootstrap/mixins/_breakpoints.scss | 123 - .../assets/bootstrap/mixins/_buttons.scss | 110 - .../input/assets/bootstrap/mixins/_caret.scss | 62 - .../assets/bootstrap/mixins/_clearfix.scss | 7 - .../assets/bootstrap/mixins/_deprecate.scss | 10 - .../input/assets/bootstrap/mixins/_float.scss | 14 - .../input/assets/bootstrap/mixins/_forms.scss | 177 - .../assets/bootstrap/mixins/_gradients.scss | 45 - .../bootstrap/mixins/_grid-framework.scss | 71 - docs/input/assets/bootstrap/mixins/_grid.scss | 69 - .../input/assets/bootstrap/mixins/_hover.scss | 37 - .../input/assets/bootstrap/mixins/_image.scss | 36 - .../assets/bootstrap/mixins/_list-group.scss | 21 - .../input/assets/bootstrap/mixins/_lists.scss | 7 - .../assets/bootstrap/mixins/_nav-divider.scss | 11 - .../assets/bootstrap/mixins/_pagination.scss | 22 - .../assets/bootstrap/mixins/_reset-text.scss | 17 - .../assets/bootstrap/mixins/_resize.scss | 6 - .../bootstrap/mixins/_screen-reader.scss | 34 - docs/input/assets/bootstrap/mixins/_size.scss | 7 - .../assets/bootstrap/mixins/_table-row.scss | 39 - .../bootstrap/mixins/_text-emphasis.scss | 17 - .../assets/bootstrap/mixins/_text-hide.scss | 11 - .../bootstrap/mixins/_text-truncate.scss | 8 - .../assets/bootstrap/mixins/_transition.scss | 16 - .../assets/bootstrap/mixins/_visibility.scss | 8 - .../assets/bootstrap/utilities/_align.scss | 8 - .../bootstrap/utilities/_background.scss | 19 - .../assets/bootstrap/utilities/_borders.scss | 75 - .../assets/bootstrap/utilities/_clearfix.scss | 3 - .../assets/bootstrap/utilities/_display.scss | 26 - .../assets/bootstrap/utilities/_embed.scss | 39 - .../assets/bootstrap/utilities/_flex.scss | 51 - .../assets/bootstrap/utilities/_float.scss | 11 - .../assets/bootstrap/utilities/_overflow.scss | 5 - .../assets/bootstrap/utilities/_position.scss | 32 - .../bootstrap/utilities/_screenreaders.scss | 11 - .../assets/bootstrap/utilities/_shadows.scss | 6 - .../assets/bootstrap/utilities/_sizing.scss | 20 - .../assets/bootstrap/utilities/_spacing.scss | 73 - .../bootstrap/utilities/_stretched-link.scss | 19 - .../assets/bootstrap/utilities/_text.scss | 72 - .../bootstrap/utilities/_visibility.scss | 13 - docs/input/assets/bootstrap/vendor/_rfs.scss | 204 - docs/input/assets/css/styles.scss | 354 - .../assets/favicons/apple-touch-icon.png | Bin 0 -> 3710 bytes docs/input/assets/favicons/favicon-16x16.png | Bin 0 -> 616 bytes docs/input/assets/favicons/favicon-32x32.png | Bin 0 -> 863 bytes docs/input/assets/js/table-search.js | 34 - docs/input/assets/styles.css | 195716 +++++++++++++++ docs/input/cli/commandApp.md | 8 +- docs/input/cli/commands.md | 6 +- docs/input/cli/composing.md | 2 +- docs/input/cli/getting-started.md | 11 +- docs/input/cli/index.cshtml | 4 +- docs/input/cli/introduction.md | 121 + docs/input/cli/migration.md | 4 +- docs/input/cli/settings.md | 20 +- docs/input/exceptions.md | 8 +- docs/input/favicon.ico | Bin 0 -> 15086 bytes docs/input/index.md | 32 +- docs/input/live/index.cshtml | 2 +- docs/input/live/progress.md | 16 +- docs/input/live/status.md | 14 +- docs/input/markup.md | 16 +- docs/input/prompts/index.cshtml | 2 - docs/input/prompts/multiselection.md | 11 +- docs/input/prompts/selection.md | 10 +- docs/input/prompts/text.md | 18 +- docs/input/widgets/barchart.md | 12 +- docs/input/widgets/calendar.md | 4 +- docs/input/widgets/canvas-image.md | 2 +- docs/input/widgets/canvas.md | 4 +- docs/input/widgets/figlet.md | 6 +- docs/input/widgets/index.cshtml | 2 - docs/input/widgets/rule.md | 6 +- docs/input/widgets/table.md | 24 +- docs/input/widgets/tree.md | 12 +- docs/package-lock.json | 1572 + docs/package.json | 23 + docs/postcss.config.js | 6 + docs/src/Shortcodes/AlertShortcode.cs | 15 + docs/src/Shortcodes/ColorTableShortcode.cs | 20 +- docs/src/Shortcodes/EmojiTableShortcode.cs | 14 +- docs/tailwind.config.js | 63 + docs/tailwind.css | 123 + 145 files changed, 197984 insertions(+), 8746 deletions(-) rename docs/input/{_viewimports.cshtml => _ViewImports.cshtml} (100%) rename docs/input/{_viewstart.cshtml => _ViewStart.cshtml} (100%) delete mode 100644 docs/input/assets/bootstrap/_alert.scss delete mode 100644 docs/input/assets/bootstrap/_badge.scss delete mode 100644 docs/input/assets/bootstrap/_breadcrumb.scss delete mode 100644 docs/input/assets/bootstrap/_button-group.scss delete mode 100644 docs/input/assets/bootstrap/_buttons.scss delete mode 100644 docs/input/assets/bootstrap/_card.scss delete mode 100644 docs/input/assets/bootstrap/_carousel.scss delete mode 100644 docs/input/assets/bootstrap/_close.scss delete mode 100644 docs/input/assets/bootstrap/_code.scss delete mode 100644 docs/input/assets/bootstrap/_custom-forms.scss delete mode 100644 docs/input/assets/bootstrap/_dropdown.scss delete mode 100644 docs/input/assets/bootstrap/_forms.scss delete mode 100644 docs/input/assets/bootstrap/_functions.scss delete mode 100644 docs/input/assets/bootstrap/_grid.scss delete mode 100644 docs/input/assets/bootstrap/_images.scss delete mode 100644 docs/input/assets/bootstrap/_input-group.scss delete mode 100644 docs/input/assets/bootstrap/_jumbotron.scss delete mode 100644 docs/input/assets/bootstrap/_list-group.scss delete mode 100644 docs/input/assets/bootstrap/_media.scss delete mode 100644 docs/input/assets/bootstrap/_mixins.scss delete mode 100644 docs/input/assets/bootstrap/_modal.scss delete mode 100644 docs/input/assets/bootstrap/_nav.scss delete mode 100644 docs/input/assets/bootstrap/_navbar.scss delete mode 100644 docs/input/assets/bootstrap/_pagination.scss delete mode 100644 docs/input/assets/bootstrap/_popover.scss delete mode 100644 docs/input/assets/bootstrap/_print.scss delete mode 100644 docs/input/assets/bootstrap/_progress.scss delete mode 100644 docs/input/assets/bootstrap/_reboot.scss delete mode 100644 docs/input/assets/bootstrap/_root.scss delete mode 100644 docs/input/assets/bootstrap/_spinners.scss delete mode 100644 docs/input/assets/bootstrap/_tables.scss delete mode 100644 docs/input/assets/bootstrap/_toasts.scss delete mode 100644 docs/input/assets/bootstrap/_tooltip.scss delete mode 100644 docs/input/assets/bootstrap/_transitions.scss delete mode 100644 docs/input/assets/bootstrap/_type.scss delete mode 100644 docs/input/assets/bootstrap/_utilities.scss delete mode 100644 docs/input/assets/bootstrap/_variables.scss delete mode 100644 docs/input/assets/bootstrap/bootstrap-grid.scss delete mode 100644 docs/input/assets/bootstrap/bootstrap-reboot.scss delete mode 100644 docs/input/assets/bootstrap/bootstrap.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_alert.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_background-variant.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_badge.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_border-radius.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_box-shadow.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_breakpoints.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_buttons.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_caret.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_clearfix.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_deprecate.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_float.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_forms.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_gradients.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_grid-framework.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_grid.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_hover.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_image.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_list-group.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_lists.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_nav-divider.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_pagination.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_reset-text.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_resize.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_screen-reader.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_size.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_table-row.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_text-emphasis.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_text-hide.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_text-truncate.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_transition.scss delete mode 100644 docs/input/assets/bootstrap/mixins/_visibility.scss delete mode 100644 docs/input/assets/bootstrap/utilities/_align.scss delete mode 100644 docs/input/assets/bootstrap/utilities/_background.scss delete mode 100644 docs/input/assets/bootstrap/utilities/_borders.scss delete mode 100644 docs/input/assets/bootstrap/utilities/_clearfix.scss delete mode 100644 docs/input/assets/bootstrap/utilities/_display.scss delete mode 100644 docs/input/assets/bootstrap/utilities/_embed.scss delete mode 100644 docs/input/assets/bootstrap/utilities/_flex.scss delete mode 100644 docs/input/assets/bootstrap/utilities/_float.scss delete mode 100644 docs/input/assets/bootstrap/utilities/_overflow.scss delete mode 100644 docs/input/assets/bootstrap/utilities/_position.scss delete mode 100644 docs/input/assets/bootstrap/utilities/_screenreaders.scss delete mode 100644 docs/input/assets/bootstrap/utilities/_shadows.scss delete mode 100644 docs/input/assets/bootstrap/utilities/_sizing.scss delete mode 100644 docs/input/assets/bootstrap/utilities/_spacing.scss delete mode 100644 docs/input/assets/bootstrap/utilities/_stretched-link.scss delete mode 100644 docs/input/assets/bootstrap/utilities/_text.scss delete mode 100644 docs/input/assets/bootstrap/utilities/_visibility.scss delete mode 100644 docs/input/assets/bootstrap/vendor/_rfs.scss delete mode 100644 docs/input/assets/css/styles.scss create mode 100644 docs/input/assets/favicons/apple-touch-icon.png create mode 100644 docs/input/assets/favicons/favicon-16x16.png create mode 100644 docs/input/assets/favicons/favicon-32x32.png delete mode 100644 docs/input/assets/js/table-search.js create mode 100644 docs/input/assets/styles.css create mode 100644 docs/input/cli/introduction.md create mode 100644 docs/input/favicon.ico create mode 100644 docs/package-lock.json create mode 100644 docs/package.json create mode 100644 docs/postcss.config.js create mode 100644 docs/src/Shortcodes/AlertShortcode.cs create mode 100644 docs/tailwind.config.js create mode 100644 docs/tailwind.css diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index a190b23..3d7a8cc 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -23,13 +23,34 @@ jobs: with: dotnet-version: 5.0.202 + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: '14' + + - name: Cache dependencies + uses: actions/cache@v2 + with: + path: ~/.npm + key: npm-${{ hashFiles('package-lock.json') }} + restore-keys: npm- + - name: Build shell: bash env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | cd docs + npm i dotnet run --configuration Release + npm run build + + - name: Archive doc generation + uses: actions/upload-artifact@v2 + with: + name: documentation-output + path: docs/output/ + retention-days: 5 ################################################### # BUILD @@ -76,7 +97,7 @@ jobs: run: | dotnet tool restore dotnet cake - + - name: Upload Verify Test Results if: failure() uses: actions/upload-artifact@v2 diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 8f2efd9..8ee1dd4 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -26,10 +26,25 @@ jobs: with: dotnet-version: 5.0.202 + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: '14' + + - name: Cache dependencies + uses: actions/cache@v2 + with: + path: ~/.npm + key: npm-${{ hashFiles('package-lock.json') }} + restore-keys: npm- + - name: Publish shell: bash env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | cd docs - dotnet run --configuration Release -- deploy + npm i + dotnet run --configuration Release + npm run build + dotnet run -- deploy diff --git a/.gitignore b/.gitignore index 8c56e1c..664051d 100644 --- a/.gitignore +++ b/.gitignore @@ -88,4 +88,6 @@ packages # Windows Thumbs.db -*.received.* \ No newline at end of file +*.received.* + +node_modules \ No newline at end of file diff --git a/docs/Docs.csproj b/docs/Docs.csproj index 19c7e42..e338448 100644 --- a/docs/Docs.csproj +++ b/docs/Docs.csproj @@ -31,7 +31,7 @@ - + diff --git a/docs/Program.cs b/docs/Program.cs index 33808e4..35e6669 100644 --- a/docs/Program.cs +++ b/docs/Program.cs @@ -19,6 +19,7 @@ namespace Docs .AddShortcode("Children", typeof(ChildrenShortcode)) .AddShortcode("ColorTable", typeof(ColorTableShortcode)) .AddShortcode("EmojiTable", typeof(EmojiTableShortcode)) + .AddShortcode("Alert", typeof(AlertShortcode)) .AddPipelines() .RunAsync(); diff --git a/docs/README.md b/docs/README.md index a7cfafe..c6a3fae 100644 --- a/docs/README.md +++ b/docs/README.md @@ -14,6 +14,12 @@ After the build is complete, you can navigate to [http://localhost:5080/spectre. **Note that the site runs under a virtual directory.** +## Building the CSS + +The documentation uses tailwind for the CSS. Committed to the repository is a large 4gb file with all possible styles at `assets/style.css`. This file is generated from the root files tailwind.config.js and tailwind.css. Any changes to the overall design style (e.g. colors, markdown styling, etc) can be made in these two files. + + For production, `npm run build:tailwind` should be ran post Statiq build. This process will look at all the styles in the HTML and prune the tailwind file down to a much more manageable 30kb or so file. + ## Editing Content The documentation is written using [Markdown](https://www.markdownguide.org/basic-syntax/). diff --git a/docs/input/_viewimports.cshtml b/docs/input/_ViewImports.cshtml similarity index 100% rename from docs/input/_viewimports.cshtml rename to docs/input/_ViewImports.cshtml diff --git a/docs/input/_viewstart.cshtml b/docs/input/_ViewStart.cshtml similarity index 100% rename from docs/input/_viewstart.cshtml rename to docs/input/_ViewStart.cshtml diff --git a/docs/input/_layout.cshtml b/docs/input/_layout.cshtml index 2cb4e2f..43b665d 100644 --- a/docs/input/_layout.cshtml +++ b/docs/input/_layout.cshtml @@ -1,256 +1,148 @@ - + - - - - + + + - - - - - - - - + + + @{ string title = @Document.ContainsKey(Keys.Title) ? $"Spectre.Console - {Document.GetString(Keys.Title)}" : "Spectre.Console"; + string description = @Document.ContainsKey(Constants.Description) ? Document.GetString(Constants.Description) : "Spectre.Console is a .NET Standard 2.0 library that makes it easier to create beautiful console applications"; } @title + - -
- -