diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml new file mode 100644 index 0000000..ff28b7f --- /dev/null +++ b/.github/workflows/build_docs.yml @@ -0,0 +1,52 @@ +name: Build and deploy documentation website +on: + push: + branches: + main + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./doc/website + steps: + # Checkout the repository + - uses: actions/checkout@v3 + + # Setup a Dart environment + - uses: dart-lang/setup-dart@v1 + + # Download all the packages that the app uses + - run: dart pub get + + # Build the static site + - run: dart run bin/dart_rss_docs.dart + env: + GHUB_DOC_WEBSITE_TOKEN: ${{ vars.GHUB_DOC_WEBSITE_TOKEN }} + + # Zip and upload the static site. + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + path: ./doc/website/build + + deploy: + name: Deploy + needs: build + runs-on: ubuntu-latest + + # Grant GITHUB_TOKEN the permissions required to make a Pages deployment + permissions: + pages: write # to deploy to Pages + id-token: write # to verify the deployment originates from an appropriate source + + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 diff --git a/analysis_options.yaml b/analysis_options.yaml index 1f353f9..2c4b901 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -1,5 +1,9 @@ include: package:lints/recommended.yaml +analyzer: + exclude: + - doc/** + linter: rules: - always_use_package_imports diff --git a/doc/website/.gitignore b/doc/website/.gitignore new file mode 100644 index 0000000..a65b89b --- /dev/null +++ b/doc/website/.gitignore @@ -0,0 +1,11 @@ +# Build output +/build + +# https://dart.dev/guides/libraries/private-files +# Created by `dart pub` +.dart_tool/ + +# Android Studio and IntelliJ IDEA +.idea + +.DS_Store diff --git a/doc/website/analysis_options.yaml b/doc/website/analysis_options.yaml new file mode 100644 index 0000000..dee8927 --- /dev/null +++ b/doc/website/analysis_options.yaml @@ -0,0 +1,30 @@ +# This file configures the static analysis results for your project (errors, +# warnings, and lints). +# +# This enables the 'recommended' set of lints from `package:lints`. +# This set helps identify many issues that may lead to problems when running +# or consuming Dart code, and enforces writing Dart using a single, idiomatic +# style and format. +# +# If you want a smaller set of lints you can change this to specify +# 'package:lints/core.yaml'. These are just the most critical lints +# (the recommended set includes the core lints). +# The core lints are also what is used by pub.dev for scoring packages. + +include: package:lints/recommended.yaml + +# Uncomment the following section to specify additional rules. + +# linter: +# rules: +# - camel_case_types + +# analyzer: +# exclude: +# - path/to/excluded/files/** + +# For more information about the core and recommended set of lints, see +# https://dart.dev/go/core-lints + +# For additional information about configuring this file, see +# https://dart.dev/guides/language/analysis-options diff --git a/doc/website/bin/dart_rss_docs.dart b/doc/website/bin/dart_rss_docs.dart new file mode 100644 index 0000000..c89db21 --- /dev/null +++ b/doc/website/bin/dart_rss_docs.dart @@ -0,0 +1,32 @@ +import 'dart:io'; + +import 'package:static_shock/static_shock.dart'; + +Future main(List arguments) async { + // Configure the static website generator. + final staticShock = StaticShock() + // Here, you can directly hook into the StaticShock pipeline. For example, + // you can copy an "images" directory from the source set to build set: + ..pick(DirectoryPicker.parse("images")) + // All 3rd party behavior is added through plugins, even the behavior + // shipped with Static Shock. + ..plugin(const MarkdownPlugin()) + ..plugin(const JinjaPlugin()) + ..plugin(const PrettyUrlsPlugin()) + ..plugin(const RedirectsPlugin()) + ..plugin(const SassPlugin()) + ..plugin(DraftingPlugin( + showDrafts: arguments.contains("preview"), + )) + ..plugin(const PubPackagePlugin({ + "dart_rss", + })) + ..plugin( + GitHubContributorsPlugin( + authToken: Platform.environment["github_doc_website_token"], + ), + ); + + // Generate the static website. + await staticShock.generateSite(); +} diff --git a/doc/website/pubspec.yaml b/doc/website/pubspec.yaml new file mode 100644 index 0000000..8a4b7ae --- /dev/null +++ b/doc/website/pubspec.yaml @@ -0,0 +1,14 @@ +name: dart_rss_docs +description: Documentation for Dart RSS +version: 1.0.0 +publish_to: none + +environment: + sdk: ^3.0.0 + +dependencies: + static_shock: any + +dev_dependencies: + lints: ^2.0.0 + test: ^1.21.0 diff --git a/doc/website/source/_data.yaml b/doc/website/source/_data.yaml new file mode 100644 index 0000000..0f68609 --- /dev/null +++ b/doc/website/source/_data.yaml @@ -0,0 +1,21 @@ +homepage_url: https://flutter-bounty-hunters.github.io/dart-rss/ + +# Configuration for the package that this website documents. +package: + name: dart_rss + title: Dart RSS + description: RSS parser and serializer for Dart + type: dart + is_on_pub: true + github: + url: https://github.com/flutter-bounty-Hunters/dart-rss + organization: flutter-bounty-hunters + name: dart-rss + discord: https://discord.gg/8hna2VD32s + sponsorship: https://flutterbountyhunters.com + +# Configuration of the GitHub plugin for loading info about GitHub repositories. +github: + contributors: + repositories: + - { organization: flutter-bounty-hunters, name: dart-rss } diff --git a/doc/website/source/_includes/components/code_two_column.jinja b/doc/website/source/_includes/components/code_two_column.jinja new file mode 100644 index 0000000..0466c7f --- /dev/null +++ b/doc/website/source/_includes/components/code_two_column.jinja @@ -0,0 +1,56 @@ +
+
+
+

With Flutter Test Robots

+
testWidgets((tester) async {
+  // Setup the test.
+
+  // Press CMD+V (like for a paste).
+  await tester.pressCmdV();
+
+  // Press CMD+ALT+LEFT (jump to start).
+  await tester.pressCmdAltLeftArrow();
+
+  // Verify expectations.
+});
+
+
+
+

With Flutter

+
testWidgets((tester) async {
+  // Setup the test.
+
+  // Press CMD+V (like for a paste).
+  await tester.sendKeyDownEvent(
+    LogicalKeyboardKey.meta,
+  );
+  await tester.sendKeyEvent(
+    LogicalKeyboardKey.keyV,
+  );
+  await tester.sendKeyUpEvent(
+    LogicalKeyboardKey.meta,
+  );
+
+  // Press CMD+ALT+LEFT (jump to start).
+  await tester.sendKeyDownEvent(
+    LogicalKeyboardKey.meta,
+  );
+  await tester.sendKeyDownEvent(
+    LogicalKeyboardKey.alt,
+  );
+  await tester.sendKeyEvent(
+    LogicalKeyboardKey.left,
+  );
+  await tester.sendKeyUpEvent(
+    LogicalKeyboardKey.left,
+  );
+  await tester.sendKeyUpEvent(
+    LogicalKeyboardKey.meta,
+  );
+
+  // Verify expectations.
+});
+
+
+
+
\ No newline at end of file diff --git a/doc/website/source/_includes/components/contributors.jinja b/doc/website/source/_includes/components/contributors.jinja new file mode 100644 index 0000000..4f7538b --- /dev/null +++ b/doc/website/source/_includes/components/contributors.jinja @@ -0,0 +1,21 @@ +
    + {% set contributors = github["flutter-bounty-hunters"]["dart-rss"] %} + {% set contributorCount = 15 %} + {% for contributor in contributors|take(contributorCount) %} +
  1. + +
  2. + {% endfor %} + + {% if contributors|length > contributorCount %} +
  3. +
    + +{{ contributors|length - contributorCount }} +
    +
  4. + {% endif %} +
\ No newline at end of file diff --git a/doc/website/source/_includes/layouts/homepage.jinja b/doc/website/source/_includes/layouts/homepage.jinja new file mode 100644 index 0000000..2eac521 --- /dev/null +++ b/doc/website/source/_includes/layouts/homepage.jinja @@ -0,0 +1,131 @@ + + + + + + {{ package.title }} + + + {% if package.type == "dart" %} + + + + + + + + + + {% endif %} + + {% if package.type == "flutter" %} + + + + + + + + + + + {% endif %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
 
+ + {% if package.type == "flutter" %} + + {% else %} + + {% endif %} + + {{ package.title }} + {{ package.description }} + +
 
+ +
+ + {{ package.name }}: ^{{ pub.dart_rss.version }} + + + + +
+ + + +
 
+ +
+ This website was built with Static Shock! +
+
+ +
+ +
+ {{ content }} +
+
+ +
+ You can generate a documentation website just like this one, with Static Shock +
+ + + + \ No newline at end of file diff --git a/doc/website/source/images/branding/dart-logo.svg b/doc/website/source/images/branding/dart-logo.svg new file mode 100644 index 0000000..0bf93ab --- /dev/null +++ b/doc/website/source/images/branding/dart-logo.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + diff --git a/doc/website/source/images/branding/flutter-logo.svg b/doc/website/source/images/branding/flutter-logo.svg new file mode 100644 index 0000000..6861d6a --- /dev/null +++ b/doc/website/source/images/branding/flutter-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/doc/website/source/images/branding/social.png b/doc/website/source/images/branding/social.png new file mode 100644 index 0000000..5ab7391 Binary files /dev/null and b/doc/website/source/images/branding/social.png differ diff --git a/doc/website/source/images/favicon/dart/android-chrome-192x192.png b/doc/website/source/images/favicon/dart/android-chrome-192x192.png new file mode 100644 index 0000000..1985465 Binary files /dev/null and b/doc/website/source/images/favicon/dart/android-chrome-192x192.png differ diff --git a/doc/website/source/images/favicon/dart/android-chrome-512x512.png b/doc/website/source/images/favicon/dart/android-chrome-512x512.png new file mode 100644 index 0000000..49bdfc0 Binary files /dev/null and b/doc/website/source/images/favicon/dart/android-chrome-512x512.png differ diff --git a/doc/website/source/images/favicon/dart/apple-touch-icon.png b/doc/website/source/images/favicon/dart/apple-touch-icon.png new file mode 100644 index 0000000..cadf4cb Binary files /dev/null and b/doc/website/source/images/favicon/dart/apple-touch-icon.png differ diff --git a/doc/website/source/images/favicon/dart/browserconfig.xml b/doc/website/source/images/favicon/dart/browserconfig.xml new file mode 100644 index 0000000..bf9fe89 --- /dev/null +++ b/doc/website/source/images/favicon/dart/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #da532c + + + diff --git a/doc/website/source/images/favicon/dart/favicon-16x16.png b/doc/website/source/images/favicon/dart/favicon-16x16.png new file mode 100644 index 0000000..0654adb Binary files /dev/null and b/doc/website/source/images/favicon/dart/favicon-16x16.png differ diff --git a/doc/website/source/images/favicon/dart/favicon-32x32.png b/doc/website/source/images/favicon/dart/favicon-32x32.png new file mode 100644 index 0000000..a3a7719 Binary files /dev/null and b/doc/website/source/images/favicon/dart/favicon-32x32.png differ diff --git a/doc/website/source/images/favicon/dart/favicon.ico b/doc/website/source/images/favicon/dart/favicon.ico new file mode 100644 index 0000000..0fc7038 Binary files /dev/null and b/doc/website/source/images/favicon/dart/favicon.ico differ diff --git a/doc/website/source/images/favicon/dart/mstile-150x150.png b/doc/website/source/images/favicon/dart/mstile-150x150.png new file mode 100644 index 0000000..2a6a0f8 Binary files /dev/null and b/doc/website/source/images/favicon/dart/mstile-150x150.png differ diff --git a/doc/website/source/images/favicon/dart/site.webmanifest b/doc/website/source/images/favicon/dart/site.webmanifest new file mode 100644 index 0000000..1edcfef --- /dev/null +++ b/doc/website/source/images/favicon/dart/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/doc/website/source/images/favicon/flutter/android-chrome-192x192.png b/doc/website/source/images/favicon/flutter/android-chrome-192x192.png new file mode 100644 index 0000000..3338409 Binary files /dev/null and b/doc/website/source/images/favicon/flutter/android-chrome-192x192.png differ diff --git a/doc/website/source/images/favicon/flutter/android-chrome-512x512.png b/doc/website/source/images/favicon/flutter/android-chrome-512x512.png new file mode 100644 index 0000000..7840579 Binary files /dev/null and b/doc/website/source/images/favicon/flutter/android-chrome-512x512.png differ diff --git a/doc/website/source/images/favicon/flutter/apple-touch-icon.png b/doc/website/source/images/favicon/flutter/apple-touch-icon.png new file mode 100644 index 0000000..01e5d8e Binary files /dev/null and b/doc/website/source/images/favicon/flutter/apple-touch-icon.png differ diff --git a/doc/website/source/images/favicon/flutter/browserconfig.xml b/doc/website/source/images/favicon/flutter/browserconfig.xml new file mode 100644 index 0000000..bf9fe89 --- /dev/null +++ b/doc/website/source/images/favicon/flutter/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #da532c + + + diff --git a/doc/website/source/images/favicon/flutter/favicon-16x16.png b/doc/website/source/images/favicon/flutter/favicon-16x16.png new file mode 100644 index 0000000..1a8423c Binary files /dev/null and b/doc/website/source/images/favicon/flutter/favicon-16x16.png differ diff --git a/doc/website/source/images/favicon/flutter/favicon-32x32.png b/doc/website/source/images/favicon/flutter/favicon-32x32.png new file mode 100644 index 0000000..8233e1c Binary files /dev/null and b/doc/website/source/images/favicon/flutter/favicon-32x32.png differ diff --git a/doc/website/source/images/favicon/flutter/favicon.ico b/doc/website/source/images/favicon/flutter/favicon.ico new file mode 100644 index 0000000..0ef8e1b Binary files /dev/null and b/doc/website/source/images/favicon/flutter/favicon.ico differ diff --git a/doc/website/source/images/favicon/flutter/mstile-150x150.png b/doc/website/source/images/favicon/flutter/mstile-150x150.png new file mode 100644 index 0000000..b420fa6 Binary files /dev/null and b/doc/website/source/images/favicon/flutter/mstile-150x150.png differ diff --git a/doc/website/source/images/favicon/flutter/safari-pinned-tab.svg b/doc/website/source/images/favicon/flutter/safari-pinned-tab.svg new file mode 100644 index 0000000..71d5f9a --- /dev/null +++ b/doc/website/source/images/favicon/flutter/safari-pinned-tab.svg @@ -0,0 +1,19 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + diff --git a/doc/website/source/images/favicon/flutter/site.webmanifest b/doc/website/source/images/favicon/flutter/site.webmanifest new file mode 100644 index 0000000..1edcfef --- /dev/null +++ b/doc/website/source/images/favicon/flutter/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/doc/website/source/images/flutter-golden-example.png b/doc/website/source/images/flutter-golden-example.png new file mode 100644 index 0000000..d280f06 Binary files /dev/null and b/doc/website/source/images/flutter-golden-example.png differ diff --git a/doc/website/source/images/golden-bricks-font-catalog.png b/doc/website/source/images/golden-bricks-font-catalog.png new file mode 100644 index 0000000..b7f2a99 Binary files /dev/null and b/doc/website/source/images/golden-bricks-font-catalog.png differ diff --git a/doc/website/source/index.md b/doc/website/source/index.md new file mode 100644 index 0000000..e405b97 --- /dev/null +++ b/doc/website/source/index.md @@ -0,0 +1,54 @@ +--- +layout: layouts/homepage.jinja +contentRenderers: + - markdown + - jinja +--- +## What is RSS? +[Really Simple Syndication (RSS)](https://www.rssboard.org/rss-specification) is an XML document +format for announcing new blog posts, podcasts, and other media publications. For example, every +podcast publishes an RSS feed, which is used by Spotify, Apple, and Amazon to discover new episodes. + +--- + +## Parse an RSS feed +Whether your RSS feed comes from a file, or a URL, you should first obtain a string representation +of the feed. Then you can parse it with `dart_rss`. + +```dart +import ‘package:dart_rss/dart_rss.dart’; + +final String rssFeed = ... + +// Parse an RSS2 or later format. +final rss2 = RssFeed.parse(rssFeed); + +// Parse an RSS1 format. +final rss1 = Rss1Feed.parse(rssFeed); + +// Parse an ATOM format. +final atom = AtomFeed.parse(rssFeed); +``` + +--- + +## Built by the
Flutter Bounty Hunters +This package was built by the [Flutter Bounty Hunters (FBH)](https://flutterbountyhunters.com). +The Flutter Bounty Hunters is a development agency that works exclusively on open source Flutter +and Dark packages. + +With funding from corporate clients, the goal of the Flutter Bounty Hunters is to solve +common problems for The Last Time™. If your team gets value from Flutter Bounty Hunter +packages, please consider funding further development. + +### Other FBH packages +Other packages that the Flutter Bounty Hunters brought to the community... + +[Super Editor, Super Text, Attributed Text](https://github.com/superlistapp/super_editor), [Static Shock](https://staticshock.io), +[Follow the Leader](https://github.com/flutter-bounty-hunters/follow_the_leader), [Overlord](https://github.com/flutter-bounty-hunters/overlord), +[Flutter Test Robots](https://github.com/flutter-bounty-hunters/dart_rss), and more. + +## Contributors +The `dart_rss` package was built by... + +{{ components.contributors() }} \ No newline at end of file diff --git a/doc/website/source/styles/homepage.scss b/doc/website/source/styles/homepage.scss new file mode 100644 index 0000000..041ad11 --- /dev/null +++ b/doc/website/source/styles/homepage.scss @@ -0,0 +1,318 @@ +@import 'theme.scss'; + +html, body { + background: $pageBackground; + + color: $contentTextColor; + font-family: $pageFontFamily; + font-weight: 500; +} + +h1, h2, h3, h4, h5, h6 { + color: $headerColor; + text-align: center; + text-wrap: balance; +} + +#hero { + width: 100vw; + height: 100vh; + + display: flex; + flex-direction: column; + + padding-top: 48px; + @media (max-width: $phoneWidth) { + padding-top: 24px; + } + + text-align: center; + + // Gap between Flutter/Dart logo and logo/title/description. + .top-gap { + flex: 2; + } + + // Gap between logo/title/description and dependency/social. + .middle-gap { + flex: 1; + } + + // Gap between dependency/social and bottom. + .bottom-gap { + flex: 2; + } + + #flutterLogo, #dartLogo { + margin-left: auto; + margin-right: auto; + margin-bottom: 48px; + + @media (max-width: $phoneWidth) { + width: 32px; + } + } + + #logo { + margin-left: auto; + margin-right: auto; + margin-bottom: 32px; + + @media (max-width: $phoneWidth) { + width: 124px; + margin-bottom: 16px; + } + } + + .title { + display: block; + + color: $pageTitleColor; + font-family: $pageTitleFontFamily; + font-size: 48px; + font-weight: 300; + letter-spacing: 16px; + + text-transform: uppercase; + + @media (max-width: $phoneWidth) { + font-size: 32px; + letter-spacing: 8px; + } + } + + .subtitle { + display: block; + + color: $pageSubtitleColor; + font-family: $pageSubtitleFontFamily; + font-size: 24px; + letter-spacing: 8px; + + @media (max-width: $phoneWidth) { + font-size: 16px; + letter-spacing: 4px; + } + } + + .latest-version { + display: inline-block; + + margin-left: auto; + margin-right: auto; + margin-bottom: 38px; + + background: $dependencyBackground; + border: 1px solid $dependencyBorderColor; + border-radius: 6px; + + // The whole thing is clickable to copy the dependency. + cursor: pointer; + + .dependency-declaration { + padding-left: 18px; + padding-right: 18px; + padding-top: 8px; + padding-bottom: 8px; + + font-family: $dependencyFontFamily; + line-height: 32px; + vertical-align: middle; + + .name { + color: $dependencyNameColor; + } + + .version { + color: $dependencyVersionColor; + } + } + + .copy-button { + display: inline-block; + + width: 38px; + height: 38px; + + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + + background: #37A4D2; + + color: WHITE; + line-height: 32px; + vertical-align: middle; + } + + &:active { + .copy-button { + background: #166486; + color: rgba(255, 255, 255, 0.5); + } + } + } + + .social-buttons { + .btn { + margin-left: 4px; + margin-right: 4px; + margin-bottom: 8px; + + background: $buttonBackground; + border: $buttonBorder; + + color: $buttonContentColor; + + &:hover { + color: WHITE; + } + + &:active { + background: $buttonBackgroundActive; + color: $buttonContentColorActive; + } + } + } + + .title, .subtitle, .social-buttons { + margin-left: 24px; + margin-right: 24px; + } + + .built-with-static-shock { + padding: 12px; + padding-left: 24px; + padding-right: 24px; + + background: $pageBackgroundHighlight; + + color: #5F5F5F; + font-size: 16px; + font-weight: 600; + font-family: "SF Pro Text", "SF Pro"; + text-align: center; + text-wrap: balance; + } +} + +main { + margin-left: auto; + margin-right: auto; + + padding-left: 16px; + padding-right: 16px; + padding-bottom: 96px; + + text-align: center; + + h1, h2, h3, h4, h5, h6 { + font-family: "SF Pro"; + font-weight: bold; + text-transform: uppercase; + } + + & > h1:first-child, & > h2:first-child, & > h3:first-child, & > h4:first-child, & > h5:first-child, & > h6:first-child { + margin-top: 2em; + } + + h1 { + margin-top: 5em; + + font-size: 48px; + } + + h2 { + margin-top: 4em; + + font-size: 32px; + } + + h3 { + margin-top: 3em; + + font-size: 26px; + } + + h4 { + margin-top: 2em; + + font-size: 22px; + } + + h5 { + margin-top: 1.5em; + + font-size: 20px; + } + + h6 { + margin-top: 1em; + + font-size: 18px; + } + + p { + margin-left: auto; + margin-right: auto; + + max-width: 700px; + + letter-spacing: 1px; + line-height: 1.8; + text-align: center; + } + + pre code { + max-width: 600px; + + margin-left: auto; + margin-right: auto; + margin-top: 24px; + + border-radius: 6px; + + text-align: left; + } + + img { + width: 100%; + max-width: 600px; + + margin-left: auto; + margin-right: auto; + margin-top: 24px; + + border-radius: 6px; + } + + hr { + width: 150px; + height: 1px; + + margin-left: auto; + margin-right: auto; + margin-top: 96px; + margin-bottom: 96px; + } +} + +footer { + padding-top: 48px; + padding-bottom: 48px; + padding-left: 24px; + padding-right: 24px; + + background: $pageBackgroundHighlight; + + text-align: center; + + color: #5F5F5F; + font-size: 16px; + font-weight: 600; + font-family: "SF Pro Text", "SF Pro"; +} + +.static-shock { + color: YELLOW; + text-decoration: none; +} \ No newline at end of file diff --git a/doc/website/source/styles/theme.scss b/doc/website/source/styles/theme.scss new file mode 100644 index 0000000..d442024 --- /dev/null +++ b/doc/website/source/styles/theme.scss @@ -0,0 +1,32 @@ +$phoneWidth: 600px; +$tabletWidth: 1000px; + +$pageBackground: #1F2327; +$pageBackgroundHighlight: #21272C; + +$pageTitleColor: WHITE; +$pageTitleFontFamily: "Akshar"; + +$pageSubtitleColor: #C6B72F; +$pageSubtitleFontFamily: "Knewave"; + +$pageFontFamily: -apple-system, BlinkMacSystemFont, sans-serif, "Segoe UI", Roboto, Ubuntu; + +$headerColor: WHITE; +$contentTextColor: #969696; + +$dependencyBackground: #252E31; +$dependencyBorderColor: #2A3539; +$dependencyFontFamily: "Cutive Mono"; +$dependencyNameColor: #5F5F5F; +$dependencyVersionColor: WHITE; +$dependencyButtonBackgroundColor: #37A4D2; +$dependencyButtonIconColor: WHITE; +$dependencyBorderRadius: 6px; + +$buttonBackground: #252E31; +$buttonBackgroundActive: #141A1C; +$buttonBorder: 1px solid #2A3539; +$buttonContentColor: #5F5F5F; +$buttonContentColorActive: rgba(255, 255, 255, 0.5); +$buttonBorderRadius: 6px;