Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
02593c926c |
1
.github/FUNDING.yml
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
github: jpanther
|
47
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
name: 🐛 Bug Report
|
||||||
|
description: Report a new problem encountered using the theme
|
||||||
|
labels: [bug]
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Thanks for taking the time to fill out this bug report! Before proceeding, please check that a similar issue has not already been reported. [View open issues](https://github.com/jpanther/lynx/issues)
|
||||||
|
- type: textarea
|
||||||
|
id: what-happened
|
||||||
|
attributes:
|
||||||
|
label: What happened?
|
||||||
|
description: Describe the issue and how to reproduce it, including what you expected to happen.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: theme-version
|
||||||
|
attributes:
|
||||||
|
label: Theme version
|
||||||
|
description: What version of the theme are you using?
|
||||||
|
placeholder: eg. v1.1.0
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: hugo-version
|
||||||
|
attributes:
|
||||||
|
label: Hugo version
|
||||||
|
description: What version of Hugo are you using?
|
||||||
|
placeholder: eg. v0.86.1
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
id: browsers
|
||||||
|
attributes:
|
||||||
|
label: What browsers are you seeing the problem on?
|
||||||
|
multiple: true
|
||||||
|
options:
|
||||||
|
- Firefox
|
||||||
|
- Chrome
|
||||||
|
- Safari
|
||||||
|
- Microsoft Edge
|
||||||
|
- type: textarea
|
||||||
|
id: logs
|
||||||
|
attributes:
|
||||||
|
label: Relevant Hugo log output
|
||||||
|
description: Please copy and paste any relevant Hugo log output. This will be automatically formatted into code, so no need for backticks.
|
||||||
|
render: shell
|
8
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
blank_issues_enabled: true
|
||||||
|
contact_links:
|
||||||
|
- name: 💡 Feature Request
|
||||||
|
url: https://github.com/jpanther/lynx/discussions
|
||||||
|
about: Request and discuss enhancements using GitHub Discussions
|
||||||
|
- name: 🙋♀️ Question
|
||||||
|
url: https://github.com/jpanther/lynx/discussions
|
||||||
|
about: Please ask and answer general questions using GitHub Discussions
|
45
.github/ISSUE_TEMPLATE/i18n-issue.yml
vendored
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
name: 💬 i18n Issue
|
||||||
|
description: Report an issue with i18n or translations
|
||||||
|
labels: [i18n]
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Thanks for taking the time to fill out this issue report!
|
||||||
|
- type: input
|
||||||
|
id: language
|
||||||
|
attributes:
|
||||||
|
label: Language
|
||||||
|
description: Which language are you using?
|
||||||
|
placeholder: eg. English
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: issue
|
||||||
|
attributes:
|
||||||
|
label: What's the issue?
|
||||||
|
description: Describe the translation issue and how to reproduce it.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: theme-version
|
||||||
|
attributes:
|
||||||
|
label: Theme version
|
||||||
|
description: What version of the theme are you using?
|
||||||
|
placeholder: eg. v1.1.0
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: hugo-version
|
||||||
|
attributes:
|
||||||
|
label: Hugo version
|
||||||
|
description: What version of Hugo are you using?
|
||||||
|
placeholder: eg. v0.86.1
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: logs
|
||||||
|
attributes:
|
||||||
|
label: Relevant Hugo log output
|
||||||
|
description: Please copy and paste any relevant Hugo log output. This will be automatically formatted into code, so no need for backticks.
|
||||||
|
render: shell
|
6
.github/labeller.yml
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
i18n:
|
||||||
|
- i18n/*
|
||||||
|
|
||||||
|
documentation:
|
||||||
|
- "*.md"
|
||||||
|
- exampleSite/content/*
|
35
.github/workflows/gh-pages.yml
vendored
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
name: GitHub Pages
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- stable
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-deploy:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Setup Hugo
|
||||||
|
uses: peaceiris/actions-hugo@v2
|
||||||
|
with:
|
||||||
|
hugo-version: "latest"
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
working-directory: ./exampleSite
|
||||||
|
run: hugo --minify --themesDir ../.. --baseURL https://jpanther.github.io/lynx/
|
||||||
|
|
||||||
|
- name: Deploy
|
||||||
|
uses: peaceiris/actions-gh-pages@v3
|
||||||
|
if: ${{ github.ref == 'refs/heads/stable' }}
|
||||||
|
with:
|
||||||
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
publish_branch: gh-pages
|
||||||
|
publish_dir: ./exampleSite/public
|
17
.github/workflows/label.yml
vendored
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
name: Labeller
|
||||||
|
|
||||||
|
on: [pull_request_target]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
label:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Label
|
||||||
|
uses: actions/labeler@v3
|
||||||
|
with:
|
||||||
|
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
|
configuration-path: .github/labeller.yml
|
24
.github/workflows/test-build.yml
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
name: Test Build
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Setup Hugo
|
||||||
|
uses: peaceiris/actions-hugo@v2
|
||||||
|
with:
|
||||||
|
hugo-version: "latest"
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
working-directory: ./exampleSite
|
||||||
|
run: hugo --minify --themesDir ../.. --baseURL https://jpanther.github.io/lynx/
|
144
.gitignore
vendored
@ -1,23 +1,145 @@
|
|||||||
|
|
||||||
|
# Created by https://www.toptal.com/developers/gitignore/api/node,
|
||||||
|
# Edit at https://www.toptal.com/developers/gitignore?templates=node,
|
||||||
|
|
||||||
### Node ###
|
### Node ###
|
||||||
|
# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
.pnpm-debug.log*
|
||||||
|
|
||||||
|
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||||
|
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||||
|
|
||||||
|
# Runtime data
|
||||||
|
pids
|
||||||
|
*.pid
|
||||||
|
*.seed
|
||||||
|
*.pid.lock
|
||||||
|
|
||||||
|
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||||
|
lib-cov
|
||||||
|
|
||||||
|
# Coverage directory used by tools like istanbul
|
||||||
|
coverage
|
||||||
|
*.lcov
|
||||||
|
|
||||||
|
# nyc test coverage
|
||||||
|
.nyc_output
|
||||||
|
|
||||||
|
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||||
|
.grunt
|
||||||
|
|
||||||
|
# Bower dependency directory (https://bower.io/)
|
||||||
|
bower_components
|
||||||
|
|
||||||
|
# node-waf configuration
|
||||||
|
.lock-wscript
|
||||||
|
|
||||||
|
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||||
|
build/Release
|
||||||
|
|
||||||
# Dependency directories
|
# Dependency directories
|
||||||
node_modules/
|
node_modules/
|
||||||
|
jspm_packages/
|
||||||
|
|
||||||
|
# Snowpack dependency directory (https://snowpack.dev/)
|
||||||
|
web_modules/
|
||||||
|
|
||||||
|
# TypeScript cache
|
||||||
|
*.tsbuildinfo
|
||||||
|
|
||||||
|
# Optional npm cache directory
|
||||||
|
.npm
|
||||||
|
|
||||||
|
# Optional eslint cache
|
||||||
|
.eslintcache
|
||||||
|
|
||||||
|
# Microbundle cache
|
||||||
|
.rpt2_cache/
|
||||||
|
.rts2_cache_cjs/
|
||||||
|
.rts2_cache_es/
|
||||||
|
.rts2_cache_umd/
|
||||||
|
|
||||||
|
# Optional REPL history
|
||||||
|
.node_repl_history
|
||||||
|
|
||||||
|
# Output of 'npm pack'
|
||||||
|
*.tgz
|
||||||
|
|
||||||
|
# Yarn Integrity file
|
||||||
|
.yarn-integrity
|
||||||
|
|
||||||
|
# dotenv environment variables file
|
||||||
|
.env
|
||||||
|
.env.test
|
||||||
|
.env.production
|
||||||
|
|
||||||
|
# parcel-bundler cache (https://parceljs.org/)
|
||||||
|
.cache
|
||||||
|
.parcel-cache
|
||||||
|
|
||||||
|
# Next.js build output
|
||||||
|
.next
|
||||||
|
out
|
||||||
|
|
||||||
|
# Nuxt.js build / generate output
|
||||||
|
.nuxt
|
||||||
|
dist
|
||||||
|
|
||||||
|
# Gatsby files
|
||||||
|
.cache/
|
||||||
|
# Comment in the public line in if your project uses Gatsby and not Next.js
|
||||||
|
# https://nextjs.org/blog/next-9-1#public-directory-support
|
||||||
|
# public
|
||||||
|
|
||||||
|
# vuepress build output
|
||||||
|
.vuepress/dist
|
||||||
|
|
||||||
|
# Serverless directories
|
||||||
|
.serverless/
|
||||||
|
|
||||||
|
# FuseBox cache
|
||||||
|
.fusebox/
|
||||||
|
|
||||||
|
# DynamoDB Local files
|
||||||
|
.dynamodb/
|
||||||
|
|
||||||
|
# TernJS port file
|
||||||
|
.tern-port
|
||||||
|
|
||||||
|
# Stores VSCode versions used for testing VSCode extensions
|
||||||
|
.vscode-test
|
||||||
|
|
||||||
|
# yarn v2
|
||||||
|
.yarn/cache
|
||||||
|
.yarn/unplugged
|
||||||
|
.yarn/build-state.yml
|
||||||
|
.yarn/install-state.gz
|
||||||
|
.pnp.*
|
||||||
|
|
||||||
|
### Node Patch ###
|
||||||
|
# Serverless Webpack directories
|
||||||
|
.webpack/
|
||||||
|
|
||||||
|
# End of https://www.toptal.com/developers/gitignore/api/node,
|
||||||
|
|
||||||
|
# Created by https://www.toptal.com/developers/gitignore/api/hugo
|
||||||
|
# Edit at https://www.toptal.com/developers/gitignore?templates=hugo
|
||||||
|
|
||||||
### Hugo ###
|
### Hugo ###
|
||||||
# Generated files by hugo
|
# Generated files by hugo
|
||||||
**/public/
|
/public/
|
||||||
**/resources/_gen/
|
/resources/_gen/
|
||||||
|
.hugo_build.lock
|
||||||
|
|
||||||
# Executable may be added to repository
|
# Executable may be added to repository
|
||||||
hugo.exe
|
hugo.exe
|
||||||
hugo.darwin
|
hugo.darwin
|
||||||
hugo.linux
|
hugo.linux
|
||||||
|
|
||||||
# Temporary lock file while building
|
# End of https://www.toptal.com/developers/gitignore/api/hugo
|
||||||
.hugo_build.lock
|
|
||||||
|
|
||||||
### Congo ###
|
|
||||||
# Lighthouse generated output
|
|
||||||
.lighthouseci
|
|
||||||
|
|
||||||
# Project specific files
|
|
||||||
TODO
|
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
/assets/css/compiled/
|
|
||||||
|
|
||||||
/layouts/_default/_markup/*.html
|
|
@ -1,11 +1,8 @@
|
|||||||
{
|
{
|
||||||
"plugins": ["prettier-plugin-go-template", "prettier-plugin-tailwindcss"],
|
|
||||||
"goTemplateBracketSpacing": true,
|
|
||||||
"htmlWhitespaceSensitivity": "css",
|
"htmlWhitespaceSensitivity": "css",
|
||||||
"printWidth": 100,
|
"printWidth": 100,
|
||||||
"singleQuote": false,
|
"singleQuote": false,
|
||||||
"tabWidth": 2,
|
"tabWidth": 2,
|
||||||
"useTabs": false,
|
|
||||||
"trailingComma": "es5",
|
"trailingComma": "es5",
|
||||||
"overrides": [
|
"overrides": [
|
||||||
{
|
{
|
||||||
|
92
CHANGELOG.md
@ -1,92 +1,12 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
All notable changes to Lynx will be documented in this file. Things that need particular attention when upgrading from a prior version are marked ⚠️.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
## [1.4.0] - 2024-05-01
|
|
||||||
|
|
||||||
### Added
|
|
||||||
|
|
||||||
- Support for Bandcamp, Bluesky, Spotify and Threads
|
|
||||||
- Support for X (Twitter) ([#107](https://github.com/jpanther/lynx/pull/107))
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- ⚠️ Author param block in site config moved to `params.author` to align with recent deprecations in the Hugo project
|
|
||||||
- Upgrade to Tailwind v3.4.3 ([#138](https://github.com/jpanther/lynx/pull/138))
|
|
||||||
- Upgrade to Typography v0.5.11 ([#137](https://github.com/jpanther/lynx/pull/137))
|
|
||||||
|
|
||||||
## [1.3.1] - 2023-09-10
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- Upgrade to Tailwind v3.3.3 ([#77](https://github.com/jpanther/lynx/pull/77))
|
|
||||||
- Upgrade to Typography v0.5.10 ([#90](https://github.com/jpanther/lynx/pull/90))
|
|
||||||
|
|
||||||
## [1.3.0] - 2023-06-04
|
|
||||||
|
|
||||||
### Added
|
|
||||||
|
|
||||||
- Support for Stack Exchange and Stack Overflow ([#52](https://github.com/jpanther/lynx/pull/52))
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- Updated GitLab icon
|
|
||||||
- Upgrade to Tailwind v3.3.2 ([#74](https://github.com/jpanther/lynx/pull/74))
|
|
||||||
|
|
||||||
### Fixed
|
|
||||||
|
|
||||||
- Error building site when using Hugo v0.112.0 or later ([#73](https://github.com/jpanther/lynx/issues/73))
|
|
||||||
|
|
||||||
## [1.2.4] - 2023-01-18
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- Upgrade to Typography v0.5.9 ([#41](https://github.com/jpanther/lynx/pull/41))
|
|
||||||
|
|
||||||
## [1.2.3] - 2023-01-09
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- Updated Mastodon link colour in line with branding changes ([#36](https://github.com/jpanther/lynx/pull/36))
|
|
||||||
|
|
||||||
## [1.2.2] - 2022-11-22
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- Upgrade to Tailwind v3.2.4 ([#30](https://github.com/jpanther/lynx/pull/30))
|
|
||||||
- Upgrade to Typography v0.5.8 ([#23](https://github.com/jpanther/lynx/pull/23), [#27](https://github.com/jpanther/lynx/pull/27))
|
|
||||||
|
|
||||||
## [1.2.1] - 2022-08-19
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- Upgrade to Tailwind v3.1.8 ([#12](https://github.com/jpanther/lynx/pull/12), [#18](https://github.com/jpanther/lynx/pull/18))
|
|
||||||
- Upgrade to Typography v0.5.4 ([#16](https://github.com/jpanther/lynx/pull/16))
|
|
||||||
|
|
||||||
### Fixed
|
|
||||||
|
|
||||||
- Home link not pointing to correct URL when site deployed in a sub-directory
|
|
||||||
|
|
||||||
## [1.2.0] - 2022-06-17
|
|
||||||
|
|
||||||
### Added
|
|
||||||
|
|
||||||
- Support for new author `headline` parameter
|
|
||||||
- Automatic author image resizing when image is provided as a Hugo asset
|
|
||||||
- Alt text to author image ([#8](https://github.com/jpanther/lynx/pull/8))
|
|
||||||
- Expanded Emoji support in page titles
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- Upgrade to Tailwind v3.1.3 and Typography v0.5.2
|
|
||||||
- Adjusted contrast of certain text to improve accessibility
|
|
||||||
- All CSS is now bundled into a single file for better performance
|
|
||||||
|
|
||||||
## [1.1.0] - 2021-11-06
|
## [1.1.0] - 2021-11-06
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
@ -113,14 +33,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
- Fathom Analytics and Google Analytics support
|
- Fathom Analytics and Google Analytics support
|
||||||
- Favicons support
|
- Favicons support
|
||||||
|
|
||||||
[Unreleased]: https://github.com/jpanther/lynx/compare/v1.4.0...HEAD
|
[unreleased]: https://github.com/jpanther/lynx/compare/v1.1.0...HEAD
|
||||||
[1.4.0]: https://github.com/jpanther/lynx/compare/v1.3.1...v1.4.0
|
|
||||||
[1.3.1]: https://github.com/jpanther/lynx/compare/v1.3.0...v1.3.1
|
|
||||||
[1.3.0]: https://github.com/jpanther/lynx/compare/v1.2.4...v1.3.0
|
|
||||||
[1.2.4]: https://github.com/jpanther/lynx/compare/v1.2.3...v1.2.4
|
|
||||||
[1.2.3]: https://github.com/jpanther/lynx/compare/v1.2.2...v1.2.3
|
|
||||||
[1.2.2]: https://github.com/jpanther/lynx/compare/v1.2.1...v1.2.2
|
|
||||||
[1.2.1]: https://github.com/jpanther/lynx/compare/v1.2.0...v1.2.1
|
|
||||||
[1.2.0]: https://github.com/jpanther/lynx/compare/v1.1.0...v1.2.0
|
|
||||||
[1.1.0]: https://github.com/jpanther/lynx/compare/v1.0.0...v1.1.0
|
[1.1.0]: https://github.com/jpanther/lynx/compare/v1.0.0...v1.1.0
|
||||||
[1.0.0]: https://github.com/jpanther/lynx/releases/tags/v1.0.0
|
[1.0.0]: https://github.com/jpanther/lynx/releases/tags/v1.0.0
|
||||||
|
@ -10,7 +10,8 @@ Lynx is designed to be a simple links page powered by [Hugo](https://gohugo.io).
|
|||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- Fully responsive layout built with Tailwind CSS 3.0
|
- Built with Tailwind CSS JIT for minified stylesheets without any excess code
|
||||||
|
- Fully responsive layout
|
||||||
- Dark mode (auto-switching based upon browser)
|
- Dark mode (auto-switching based upon browser)
|
||||||
- SVG icons from FontAwesome 5
|
- SVG icons from FontAwesome 5
|
||||||
- HTML and Emoji support
|
- HTML and Emoji support
|
||||||
@ -71,7 +72,7 @@ Acceptable link parameters are:
|
|||||||
- `title` = the HTML title of the link
|
- `title` = the HTML title of the link
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[params.author]
|
[author]
|
||||||
links = {
|
links = {
|
||||||
# Simple link
|
# Simple link
|
||||||
{ github = "https://github.com/jpanther/lynx" }
|
{ github = "https://github.com/jpanther/lynx" }
|
||||||
|
Before Width: | Height: | Size: 109 KiB |
@ -1,4 +1,4 @@
|
|||||||
/*! Lynx v1.4.0 | MIT License | https://github.com/jpanther/lynx */
|
/*! Lynx v1.1.0 | MIT License | https://github.com/jpanther/lynx */
|
||||||
|
|
||||||
@tailwind base;
|
@tailwind base;
|
||||||
@tailwind components;
|
@tailwind components;
|
||||||
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
/* Links */
|
/* Links */
|
||||||
.link {
|
.link {
|
||||||
@apply bg-primary-700 text-white hover:brightness-90;
|
@apply text-white bg-primary-700 hover:brightness-90;
|
||||||
}
|
}
|
||||||
|
|
||||||
.link-amazon {
|
.link-amazon {
|
||||||
@ -21,13 +21,6 @@
|
|||||||
.link-apple {
|
.link-apple {
|
||||||
background-color: #333;
|
background-color: #333;
|
||||||
}
|
}
|
||||||
.link-bandcamp {
|
|
||||||
background-color: #1da0c3;
|
|
||||||
}
|
|
||||||
.link-bluesky {
|
|
||||||
background: #0084ff;
|
|
||||||
background: linear-gradient(2.35619rad, #5a72fa 0%, #0084ff 100%);
|
|
||||||
}
|
|
||||||
.link-codepen {
|
.link-codepen {
|
||||||
background-color: #1e1f26;
|
background-color: #1e1f26;
|
||||||
}
|
}
|
||||||
@ -76,7 +69,7 @@
|
|||||||
background-color: #0077b5;
|
background-color: #0077b5;
|
||||||
}
|
}
|
||||||
.link-mastodon {
|
.link-mastodon {
|
||||||
background-color: #6364ff;
|
background-color: #338cd4;
|
||||||
}
|
}
|
||||||
.link-medium {
|
.link-medium {
|
||||||
background-color: #00ab6c;
|
background-color: #00ab6c;
|
||||||
@ -110,18 +103,12 @@
|
|||||||
background-color: #ff8800;
|
background-color: #ff8800;
|
||||||
background: linear-gradient(120deg, #ff8800, #ff3300);
|
background: linear-gradient(120deg, #ff8800, #ff3300);
|
||||||
}
|
}
|
||||||
.link-spotify {
|
|
||||||
background-color: #1db954;
|
|
||||||
}
|
|
||||||
.link-steam {
|
.link-steam {
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
}
|
}
|
||||||
.link-telegram {
|
.link-telegram {
|
||||||
background-color: #25a3e1;
|
background-color: #25a3e1;
|
||||||
}
|
}
|
||||||
.link-threads {
|
|
||||||
background-color: #000;
|
|
||||||
}
|
|
||||||
.link-tiktok {
|
.link-tiktok {
|
||||||
background-color: #fe2d55;
|
background-color: #fe2d55;
|
||||||
}
|
}
|
||||||
@ -132,29 +119,20 @@
|
|||||||
background-color: #9146ff;
|
background-color: #9146ff;
|
||||||
}
|
}
|
||||||
.link-twitter {
|
.link-twitter {
|
||||||
background-color: rgb(63, 136, 222);
|
background-color: #1da1f2;
|
||||||
}
|
}
|
||||||
.link-whatsapp {
|
.link-whatsapp {
|
||||||
background-color: #45d82c;
|
background-color: #45d82c;
|
||||||
background: linear-gradient(120deg, #12990b, #45d82c);
|
background: linear-gradient(120deg, #12990b, #45d82c);
|
||||||
}
|
}
|
||||||
.link-x {
|
|
||||||
background-color: #000;
|
|
||||||
}
|
|
||||||
.link-youtube {
|
.link-youtube {
|
||||||
background-color: #ff0000;
|
background-color: #ff0000;
|
||||||
}
|
}
|
||||||
.link-stack-exchange {
|
|
||||||
background-color: #0095ff;
|
|
||||||
}
|
|
||||||
.link-stack-overflow {
|
|
||||||
background-color: #f48024;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -- Chroma Highlight -- */
|
/* -- Chroma Highlight -- */
|
||||||
/* Background */
|
/* Background */
|
||||||
.prose .chroma {
|
.prose .chroma {
|
||||||
@apply rounded-md bg-neutral-50 text-neutral-700 dark:bg-neutral-700 dark:text-neutral-200;
|
@apply rounded-md text-neutral-700 bg-neutral-50 dark:bg-neutral-700 dark:text-neutral-200;
|
||||||
}
|
}
|
||||||
|
|
||||||
@tailwind utilities;
|
@tailwind utilities;
|
||||||
|
@ -1 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="currentColor" d="M256 8C119 8 8 119 8 256S119 504 256 504 504 393 504 256 393 8 256 8zm48.2 326.1h-181L207.9 178h181z"/></svg>
|
|
Before Width: | Height: | Size: 352 B |
@ -1 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="currentColor" d="M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z"/></svg>
|
|
Before Width: | Height: | Size: 807 B |
@ -1 +1 @@
|
|||||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="gitlab" class="svg-inline--fa fa-gitlab fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M503.5 204.6L502.8 202.8L433.1 21.02C431.7 17.45 429.2 14.43 425.9 12.38C423.5 10.83 420.8 9.865 417.9 9.57C415 9.275 412.2 9.653 409.5 10.68C406.8 11.7 404.4 13.34 402.4 15.46C400.5 17.58 399.1 20.13 398.3 22.9L351.3 166.9H160.8L113.7 22.9C112.9 20.13 111.5 17.59 109.6 15.47C107.6 13.35 105.2 11.72 102.5 10.7C99.86 9.675 96.98 9.295 94.12 9.587C91.26 9.878 88.51 10.83 86.08 12.38C82.84 14.43 80.33 17.45 78.92 21.02L9.267 202.8L8.543 204.6C-1.484 230.8-2.72 259.6 5.023 286.6C12.77 313.5 29.07 337.3 51.47 354.2L51.74 354.4L52.33 354.8L158.3 434.3L210.9 474L242.9 498.2C246.6 500.1 251.2 502.5 255.9 502.5C260.6 502.5 265.2 500.1 268.9 498.2L300.9 474L353.5 434.3L460.2 354.4L460.5 354.1C482.9 337.2 499.2 313.5 506.1 286.6C514.7 259.6 513.5 230.8 503.5 204.6z"></path></svg>
|
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="gitlab" class="svg-inline--fa fa-gitlab fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M105.2 24.9c-3.1-8.9-15.7-8.9-18.9 0L29.8 199.7h132c-.1 0-56.6-174.8-56.6-174.8zM.9 287.7c-2.6 8 .3 16.9 7.1 22l247.9 184-226.2-294zm160.8-88l94.3 294 94.3-294zm349.4 88l-28.8-88-226.3 294 247.9-184c6.9-5.1 9.7-14 7.2-22zM425.7 24.9c-3.1-8.9-15.7-8.9-18.9 0l-56.6 174.8h132z"></path></svg>
|
Before Width: | Height: | Size: 997 B After Width: | Height: | Size: 506 B |
@ -1 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm100.7 364.9c-4.2 0-6.8-1.3-10.7-3.6-62.4-37.6-135-39.2-206.7-24.5-3.9 1-9 2.6-11.9 2.6-9.7 0-15.8-7.7-15.8-15.8 0-10.3 6.1-15.2 13.6-16.8 81.9-18.1 165.6-16.5 237 26.2 6.1 3.9 9.7 7.4 9.7 16.5s-7.1 15.4-15.2 15.4zm26.9-65.6c-5.2 0-8.7-2.3-12.3-4.2-62.5-37-155.7-51.9-238.6-29.4-4.8 1.3-7.4 2.6-11.9 2.6-10.7 0-19.4-8.7-19.4-19.4s5.2-17.8 15.5-20.7c27.8-7.8 56.2-13.6 97.8-13.6 64.9 0 127.6 16.1 177 45.5 8.1 4.8 11.3 11 11.3 19.7-.1 10.8-8.5 19.5-19.4 19.5zm31-76.2c-5.2 0-8.4-1.3-12.9-3.9-71.2-42.5-198.5-52.7-280.9-29.7-3.6 1-8.1 2.6-12.9 2.6-13.2 0-23.3-10.3-23.3-23.6 0-13.6 8.4-21.3 17.4-23.9 35.2-10.3 74.6-15.2 117.5-15.2 73 0 149.5 15.2 205.4 47.8 7.8 4.5 12.9 10.7 12.9 22.6 0 13.6-11 23.3-23.2 23.3z"/></svg>
|
|
Before Width: | Height: | Size: 890 B |
@ -1 +0,0 @@
|
|||||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="stack-exchange" class="svg-inline--fa fa-stack-exchange fa-w-20" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M17.7 332.3h412.7v22c0 37.7-29.3 68-65.3 68h-19L259.3 512v-89.7H83c-36 0-65.3-30.3-65.3-68v-22zm0-23.6h412.7v-85H17.7v85zm0-109.4h412.7v-85H17.7v85zM365 0H83C47 0 17.7 30.3 17.7 67.7V90h412.7V67.7C430.3 30.3 401 0 365 0z"/></svg>
|
|
Before Width: | Height: | Size: 463 B |
@ -1 +0,0 @@
|
|||||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="stack-overflow" class="svg-inline--fa fa-stack-overflow fa-w-20" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M290.7 311L95 269.7 86.8 309l195.7 41zm51-87L188.2 95.7l-25.5 30.8 153.5 128.3zm-31.2 39.7L129.2 179l-16.7 36.5L293.7 300zM262 32l-32 24 119.3 160.3 32-24zm20.5 328h-200v39.7h200zm39.7 80H42.7V320h-40v160h359.5V320h-40z"/></svg>
|
|
Before Width: | Height: | Size: 462 B |
@ -1 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M331.5 235.7c2.2 .9 4.2 1.9 6.3 2.8c29.2 14.1 50.6 35.2 61.8 61.4c15.7 36.5 17.2 95.8-30.3 143.2c-36.2 36.2-80.3 52.5-142.6 53h-.3c-70.2-.5-124.1-24.1-160.4-70.2c-32.3-41-48.9-98.1-49.5-169.6V256v-.2C17 184.3 33.6 127.2 65.9 86.2C102.2 40.1 156.2 16.5 226.4 16h.3c70.3 .5 124.9 24 162.3 69.9c18.4 22.7 32 50 40.6 81.7l-40.4 10.8c-7.1-25.8-17.8-47.8-32.2-65.4c-29.2-35.8-73-54.2-130.5-54.6c-57 .5-100.1 18.8-128.2 54.4C72.1 146.1 58.5 194.3 58 256c.5 61.7 14.1 109.9 40.3 143.3c28 35.6 71.2 53.9 128.2 54.4c51.4-.4 85.4-12.6 113.7-40.9c32.3-32.2 31.7-71.8 21.4-95.9c-6.1-14.2-17.1-26-31.9-34.9c-3.7 26.9-11.8 48.3-24.7 64.8c-17.1 21.8-41.4 33.6-72.7 35.3c-23.6 1.3-46.3-4.4-63.9-16c-20.8-13.8-33-34.8-34.3-59.3c-2.5-48.3 35.7-83 95.2-86.4c21.1-1.2 40.9-.3 59.2 2.8c-2.4-14.8-7.3-26.6-14.6-35.2c-10-11.7-25.6-17.7-46.2-17.8H227c-16.6 0-39 4.6-53.3 26.3l-34.4-23.6c19.2-29.1 50.3-45.1 87.8-45.1h.8c62.6 .4 99.9 39.5 103.7 107.7l-.2 .2zm-156 68.8c1.3 25.1 28.4 36.8 54.6 35.3c25.6-1.4 54.6-11.4 59.5-73.2c-13.2-2.9-27.8-4.4-43.4-4.4c-4.8 0-9.6 .1-14.4 .4c-42.9 2.4-57.2 23.2-56.2 41.8l-.1 .1z"/></svg>
|
|
Before Width: | Height: | Size: 1.2 KiB |
@ -1 +0,0 @@
|
|||||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="x" class="svg-inline--fa fa-x fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"/></svg>
|
|
Before Width: | Height: | Size: 372 B |
52
config.toml
@ -1,22 +1,54 @@
|
|||||||
# baseURL = "https://your_domain.com/"
|
# baseURL = "https://your_domain.com/"
|
||||||
languageCode = "zh-cn"
|
languageCode = "en"
|
||||||
defaultContentLanguage = "zh-cn"
|
defaultContentLanguage = "en"
|
||||||
|
|
||||||
title = "xiushen"
|
title = "Lynx"
|
||||||
# copyright = "Copy, _right?_ :thinking_face:"
|
# copyright = "Copy, _right?_ :thinking_face:"
|
||||||
|
|
||||||
enableEmoji = true
|
enableEmoji = true
|
||||||
disableKinds = ["taxonomy", "term"]
|
disableKinds = ["taxonomy", "term"]
|
||||||
|
|
||||||
[params.author]
|
[author]
|
||||||
name = "xiushen"
|
# name = "Your name here"
|
||||||
headline = "有趣的灵魂只此一人"
|
# image = "img/author.jpg" # path relative to static directory
|
||||||
image = "avatar.jpeg"
|
|
||||||
|
|
||||||
links = [
|
links = [
|
||||||
{ email = "mailto:alyenc@outlook.com" },
|
# { email = "mailto:hello@your_domain.com" },
|
||||||
{ github = "https://github.com/alyenc" },
|
# { link = "https://link-to-some-website.com/" },
|
||||||
{ gitlab = "https://gitlab.com/alyenc" }
|
# { amazon = "https://www.amazon.com/hz/wishlist/ls/wishlist-id" },
|
||||||
|
# { apple = "https://www.apple.com" },
|
||||||
|
# { codepen = "https://codepen.io/username" },
|
||||||
|
# { dev = "https://dev.to/username" },
|
||||||
|
# { discord = "https://discord.gg/invitecode" },
|
||||||
|
# { dribbble = "https://dribbble.com/username" },
|
||||||
|
# { facebook = "https://facebook.com/username" },
|
||||||
|
# { flickr = "https://www.flickr.com/photos/username/" },
|
||||||
|
# { foursquare = "https://foursquare.com/username" },
|
||||||
|
# { github = "https://github.com/username" },
|
||||||
|
# { gitlab = "https://gitlab.com/username" },
|
||||||
|
# { google = "https://www.google.com/" },
|
||||||
|
# { instagram = "https://instagram.com/username" },
|
||||||
|
# { keybase = "https://keybase.io/username" },
|
||||||
|
# { kickstarter = "https://www.kickstarter.com/profile/username" },
|
||||||
|
# { lastfm = "https://lastfm.com/user/username" },
|
||||||
|
# { linkedin = "https://linkedin.com/in/username" },
|
||||||
|
# { mastodon = "https://mastodon.instance/@username" },
|
||||||
|
# { medium = "https://medium.com/username" },
|
||||||
|
# { microsoft = "https://www.microsoft.com/" },
|
||||||
|
# { patreon = "https://www.patreon.com/username" },
|
||||||
|
# { pinterest = "https://pinterest.com/username" },
|
||||||
|
# { reddit = "https://reddit.com/user/username" },
|
||||||
|
# { slack = "https://workspace.url/team/userid" },
|
||||||
|
# { snapchat = "https://snapchat.com/add/username" },
|
||||||
|
# { soundcloud = "https://soundcloud.com/username" },
|
||||||
|
# { steam = "https://steamcommunity.com/profiles/userid" },
|
||||||
|
# { telegram = "https://t.me/username" },
|
||||||
|
# { tiktok = "https://tiktok.com/@username" },
|
||||||
|
# { tumblr = "https://username.tumblr.com" },
|
||||||
|
# { twitch = "https://twitch.tv/username" },
|
||||||
|
# { twitter = "https://twitter.com/username" },
|
||||||
|
# { whatsapp = "https://wa.me/phone-number" },
|
||||||
|
# { youtube = "https://youtube.com/username" },
|
||||||
]
|
]
|
||||||
|
|
||||||
[module]
|
[module]
|
||||||
|
9
exampleSite/assets/css/custom.css
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
.link-font-awesome {
|
||||||
|
background: rgb(131, 58, 180);
|
||||||
|
background: linear-gradient(
|
||||||
|
90deg,
|
||||||
|
rgba(131, 58, 180, 1) 0%,
|
||||||
|
rgba(253, 29, 29, 1) 50%,
|
||||||
|
rgba(252, 176, 69, 1) 100%
|
||||||
|
);
|
||||||
|
}
|
1
exampleSite/assets/icons/font-awesome.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="font-awesome-flag" class="svg-inline--fa fa-font-awesome-flag fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M448 48V384c-63 23-82 32-119 32-63 0-87-32-150-32-20 0-36 4-51 8V328c15-4 31-8 51-8 63 0 87 32 150 32 20 0 35-3 55-9V135c-20 6-35 9-55 9-63 0-87-32-150-32-51 0-75 21-115 29V448a31.6 31.6 0 0 1-32 32A31.6 31.6 0 0 1 0 448V64A31.6 31.6 0 0 1 32 32 31.6 31.6 0 0 1 64 64V77c40-8 64-29 115-29 63 0 87 32 150 32C366 80 385 71 448 48Z"></path></svg>
|
After Width: | Height: | Size: 582 B |
23
exampleSite/config.toml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
theme = "lynx"
|
||||||
|
title = "Lynx"
|
||||||
|
|
||||||
|
enableEmoji = true
|
||||||
|
disableKinds = ["taxonomy", "term"]
|
||||||
|
|
||||||
|
[author]
|
||||||
|
name = "Lynx"
|
||||||
|
image = "author.jpg"
|
||||||
|
links = [
|
||||||
|
{ link = { href = "https://github.com/jpanther/lynx/blob/stable/README.md", text = "View the readme", icon = "github" } },
|
||||||
|
{ link = { href = "styles/", text = "All the link styles", target = "_self" } },
|
||||||
|
{ github = "https://github.com/jpanther/lynx" },
|
||||||
|
{ twitter = "https://twitter.com/jpanther" },
|
||||||
|
{ font-awesome = { href = "https://fontawesome.com/", text = "FontAwesome" } },
|
||||||
|
]
|
||||||
|
|
||||||
|
[markup.highlight]
|
||||||
|
noClasses = false
|
||||||
|
|
||||||
|
[markup.goldmark]
|
||||||
|
[markup.goldmark.renderer]
|
||||||
|
unsafe = true
|
5
exampleSite/content/_index.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
description: "This is a demo of the Lynx theme for Hugo."
|
||||||
|
---
|
||||||
|
|
||||||
|
A simple links theme for Hugo built with Tailwind CSS.
|
45
exampleSite/content/styles.md
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
---
|
||||||
|
title: Link styles
|
||||||
|
---
|
||||||
|
|
||||||
|
These are all the built-in link styles available in Lynx. Don't forget that you can also create your own styles --- check the [readme](https://github.com/jpanther/lynx/blob/stable/README.md) for more details.
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
<section class="flex flex-col flex-wrap min-w-full mt-4 sm:min-w-0">
|
||||||
|
{{< link email >}}
|
||||||
|
{{< link link >}}
|
||||||
|
{{< link amazon >}}
|
||||||
|
{{< link apple >}}
|
||||||
|
{{< link codepen >}}
|
||||||
|
{{< link dev >}}
|
||||||
|
{{< link discord >}}
|
||||||
|
{{< link dribbble >}}
|
||||||
|
{{< link facebook >}}
|
||||||
|
{{< link flickr >}}
|
||||||
|
{{< link foursquare >}}
|
||||||
|
{{< link github >}}
|
||||||
|
{{< link gitlab >}}
|
||||||
|
{{< link google >}}
|
||||||
|
{{< link instagram >}}
|
||||||
|
{{< link keybase >}}
|
||||||
|
{{< link kickstarter >}}
|
||||||
|
{{< link lastfm >}}
|
||||||
|
{{< link linkedin >}}
|
||||||
|
{{< link mastodon >}}
|
||||||
|
{{< link medium >}}
|
||||||
|
{{< link microsoft >}}
|
||||||
|
{{< link patreon >}}
|
||||||
|
{{< link pinterest >}}
|
||||||
|
{{< link reddit >}}
|
||||||
|
{{< link slack >}}
|
||||||
|
{{< link snapchat >}}
|
||||||
|
{{< link soundcloud >}}
|
||||||
|
{{< link steam >}}
|
||||||
|
{{< link telegram >}}
|
||||||
|
{{< link tiktok >}}
|
||||||
|
{{< link tumblr >}}
|
||||||
|
{{< link twitch >}}
|
||||||
|
{{< link twitter >}}
|
||||||
|
{{< link whatsapp >}}
|
||||||
|
{{< link youtube >}}
|
8
exampleSite/layouts/shortcodes/link.html
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<a
|
||||||
|
class="link link-{{ .Get 0 }} sm:px-24 min-w-full py-2 mb-3 text-lg rounded text-center"
|
||||||
|
href="#"
|
||||||
|
onclick="navigator.clipboard.writeText({{ .Get 0 }})"
|
||||||
|
>
|
||||||
|
<span class="mr-1">{{ partial "icon.html" (.Get 0) }}</span>
|
||||||
|
{{ .Get 0 }}
|
||||||
|
</a>
|
BIN
exampleSite/static/author.jpg
Normal file
After Width: | Height: | Size: 42 KiB |
@ -1,8 +1,6 @@
|
|||||||
link:
|
link:
|
||||||
amazon: Amazon
|
amazon: Amazon
|
||||||
apple: Apple
|
apple: Apple
|
||||||
bandcamp: Bandcamp
|
|
||||||
bluesky: Bluesky
|
|
||||||
codepen: CodePen
|
codepen: CodePen
|
||||||
dev: DEV
|
dev: DEV
|
||||||
discord: Discord
|
discord: Discord
|
||||||
@ -31,19 +29,14 @@ link:
|
|||||||
slack: Slack
|
slack: Slack
|
||||||
snapchat: Snapchat
|
snapchat: Snapchat
|
||||||
soundcloud: Soundcloud
|
soundcloud: Soundcloud
|
||||||
spotify: Spotify
|
|
||||||
steam: Steam
|
steam: Steam
|
||||||
telegram: Telegram
|
telegram: Telegram
|
||||||
threads: Threads
|
|
||||||
tiktok: TikTok
|
tiktok: TikTok
|
||||||
tumblr: Tumblr
|
tumblr: Tumblr
|
||||||
twitch: Twitch
|
twitch: Twitch
|
||||||
twitter: Twitter
|
twitter: Twitter
|
||||||
whatsapp: WhatsApp
|
whatsapp: WhatsApp
|
||||||
x: 𝕏
|
|
||||||
youtube: YouTube
|
youtube: YouTube
|
||||||
stack-exchange: Stack Exchange
|
|
||||||
stack-overflow: Stack Overflow
|
|
||||||
|
|
||||||
nav:
|
nav:
|
||||||
home: Home
|
home: Home
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
link:
|
link:
|
||||||
amazon: Amazon
|
amazon: Amazon
|
||||||
apple: Apple
|
apple: Apple
|
||||||
bandcamp: Bandcamp
|
|
||||||
bluesky: Bluesky
|
|
||||||
codepen: CodePen
|
codepen: CodePen
|
||||||
dev: DEV
|
dev: DEV
|
||||||
discord: Discord
|
discord: Discord
|
||||||
@ -31,16 +29,13 @@ link:
|
|||||||
slack: Slack
|
slack: Slack
|
||||||
snapchat: Snapchat
|
snapchat: Snapchat
|
||||||
soundcloud: Soundcloud
|
soundcloud: Soundcloud
|
||||||
spotify: Spotify
|
|
||||||
steam: Steam
|
steam: Steam
|
||||||
telegram: Telegram
|
telegram: Telegram
|
||||||
threads: Threads
|
|
||||||
tiktok: TikTok
|
tiktok: TikTok
|
||||||
tumblr: Tumblr
|
tumblr: Tumblr
|
||||||
twitch: Twitch
|
twitch: Twitch
|
||||||
twitter: Twitter
|
twitter: Twitter
|
||||||
whatsapp: WhatsApp
|
whatsapp: WhatsApp
|
||||||
x: 𝕏
|
|
||||||
youtube: YouTube
|
youtube: YouTube
|
||||||
|
|
||||||
# nav:
|
# nav:
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<!doctype html>
|
<!DOCTYPE html>
|
||||||
<html lang="{{ with .Site.LanguageCode }}{{ . }}{{ else }}en{{ end }}">
|
<html lang="{{ with .Site.LanguageCode }}{{ . }}{{ else }}en{{ end }}">
|
||||||
{{- partial "head.html" . -}}
|
{{- partial "head.html" . -}}
|
||||||
<body
|
<body
|
||||||
class="bg-neutral m-auto flex h-screen max-w-7xl flex-col px-6 text-lg leading-7 text-neutral-900 sm:px-14 md:px-24 lg:px-32 dark:bg-neutral-800 dark:text-white"
|
class="flex flex-col h-screen px-6 m-auto text-lg leading-7 bg-neutral text-neutral-900 sm:px-14 md:px-24 lg:px-32 dark:bg-neutral-800 dark:text-white max-w-7xl"
|
||||||
>
|
>
|
||||||
<main class="flex-grow">{{- block "main" . }}{{- end }}</main>
|
<main class="flex-grow">{{- block "main" . }}{{- end }}</main>
|
||||||
{{- partial "footer.html" . -}}
|
{{- partial "footer.html" . -}}
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
<article class="mt-10 flex flex-col items-center justify-center">
|
<article class="flex flex-col items-center justify-center mt-10">
|
||||||
<nav class="place-self-start">
|
<nav class="place-self-start">
|
||||||
<a href="{{ "" | relURL }}" class="text-neutral-500">← {{ i18n "nav.home" }}</a>
|
<a href="{{ "/" | relURL }}" class="text-neutral-500">← {{ i18n "nav.home" }}</a>
|
||||||
</nav>
|
</nav>
|
||||||
<header>
|
<header>
|
||||||
<h1 class="mb-6 mt-2 text-center text-4xl font-extrabold text-neutral-800 dark:text-white">
|
<h1 class="mt-2 mb-6 text-4xl font-extrabold text-center text-neutral-800 dark:text-white">
|
||||||
{{ .Title | emojify }}
|
{{ .Title | emojify }}
|
||||||
</h1>
|
</h1>
|
||||||
</header>
|
</header>
|
||||||
<section class="prose dark:prose-invert">
|
<section class="prose dark:prose-light">
|
||||||
{{ .Content | emojify }}
|
{{ .Content | emojify }}
|
||||||
</section>
|
</section>
|
||||||
</article>
|
</article>
|
||||||
|
@ -1,39 +1,18 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
<article class="mt-10 flex h-full flex-col items-center justify-center text-center">
|
<article class="flex flex-col items-center justify-center h-full mt-10 text-center">
|
||||||
<header class="mb-3 flex flex-col items-center">
|
<header class="flex flex-col items-center mb-3">
|
||||||
{{ with .Site.Params.Author.image }}
|
{{ with .Site.Author.image }}
|
||||||
{{ $src := . }}
|
<img class="mb-2 rounded-full w-36 h-36" src="{{ . | relURL }}" />
|
||||||
{{ $resource := "" }}
|
|
||||||
{{ if $.Page.Resources.GetMatch $src }}
|
|
||||||
{{ $resource = $.Page.Resources.GetMatch $src }}
|
|
||||||
{{ else if resources.GetMatch $src }}
|
|
||||||
{{ $resource = resources.Get $src }}
|
|
||||||
{{ end }}
|
|
||||||
{{ with $resource }}
|
|
||||||
{{ $src = (.Fill "288x288").RelPermalink }}
|
|
||||||
{{ end }}
|
|
||||||
<img
|
|
||||||
class="mb-2 h-36 w-36 rounded-full"
|
|
||||||
width="144"
|
|
||||||
height="144"
|
|
||||||
alt="{{ $.Site.Params.Author.name | default "Author" }}"
|
|
||||||
src="{{ $src }}"
|
|
||||||
/>
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<h1 class="text-4xl font-extrabold dark:text-white">
|
<h1 class="text-4xl font-extrabold dark:text-white">
|
||||||
{{ .Params.title | default .Site.Params.Author.name | default .Site.Title | emojify }}
|
{{ .Params.title | default .Site.Author.name | default .Site.Title | emojify }}
|
||||||
</h1>
|
</h1>
|
||||||
{{ with .Site.Params.Author.headline }}
|
|
||||||
<h2 class="text-xl text-neutral-500 dark:text-neutral-400">
|
|
||||||
{{ . | markdownify | emojify }}
|
|
||||||
</h2>
|
|
||||||
{{ end }}
|
|
||||||
{{ with .Content }}
|
{{ with .Content }}
|
||||||
<section class="prose pt-5 dark:prose-invert">{{ . | emojify }}</section>
|
<section class="pt-5 prose dark:prose-light">{{ . | emojify }}</section>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</header>
|
</header>
|
||||||
{{ with .Site.Params.Author.links }}
|
{{ with .Site.Author.links }}
|
||||||
<div class="mt-4 flex min-w-full flex-col flex-wrap sm:min-w-0">
|
<div class="flex flex-col flex-wrap min-w-full mt-4 sm:min-w-0">
|
||||||
{{ range $links := . }}
|
{{ range $links := . }}
|
||||||
{{ range $type, $data := $links }}
|
{{ range $type, $data := $links }}
|
||||||
{{ $href := $data }}
|
{{ $href := $data }}
|
||||||
@ -49,7 +28,7 @@
|
|||||||
{{ with $data.title }}{{ $title = . }}{{ end }}
|
{{ with $data.title }}{{ $title = . }}{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<a
|
<a
|
||||||
class="link link-{{ $type }} mb-3 min-w-full rounded py-2 text-lg sm:px-24"
|
class="link link-{{ $type }} sm:px-24 min-w-full py-2 mb-3 text-lg rounded"
|
||||||
href="{{ $href }}"
|
href="{{ $href }}"
|
||||||
target="{{ $target }}"
|
target="{{ $target }}"
|
||||||
{{ with $title }}title="{{ . }}"{{ end }}
|
{{ with $title }}title="{{ . }}"{{ end }}
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
{{ if hugo.IsProduction }}
|
{{ if not .Site.IsServer }}
|
||||||
{{ with .Site.Params.fathomAnalytics.site }}
|
{{ with .Site.Params.fathomAnalytics.site }}
|
||||||
<script defer src="https://cdn.usefathom.com/script.js" data-site="{{ . }}"></script>
|
{{ if isset $.Site.Params.fathomanalytics "domain" }}
|
||||||
|
<script defer src="https://{{ $.Site.Params.fathomanalytics.domain }}/script.js" data-site="{{ . }}"></script>
|
||||||
|
{{ else }}
|
||||||
|
<script defer src="https://cdn.usefathom.com/script.js" data-site="{{ . }}"></script>
|
||||||
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ template "_internal/google_analytics.html" . }}
|
{{ template "_internal/google_analytics.html" . }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<footer class="py-10">
|
<footer class="py-10">
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
{{/* Copyright */}}
|
{{/* Copyright */}}
|
||||||
<p class="text-sm text-neutral-500 dark:text-neutral-400">
|
<p class="text-sm text-neutral-400 dark:text-neutral-500">
|
||||||
{{- with .Site.Copyright }}
|
{{- with .Site.Copyright }}
|
||||||
{{ . | emojify | markdownify }}
|
{{ . | emojify | markdownify }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
@ -12,11 +12,11 @@
|
|||||||
</p>
|
</p>
|
||||||
{{/* Theme attribution */}}
|
{{/* Theme attribution */}}
|
||||||
{{ if .Site.Params.attribution | default true }}
|
{{ if .Site.Params.attribution | default true }}
|
||||||
<p class="text-xs text-neutral-500 dark:text-neutral-400">
|
<p class="text-xs text-neutral-300 dark:text-neutral-600">
|
||||||
{{ $hugo := printf `<a class="hover:underline hover:decoration-primary-400 hover:text-primary-500"
|
{{ $hugo := printf `<a class="hover:underline hover:underline-primary-300 hover:text-primary-400"
|
||||||
href="https://gohugo.io/" target="_blank" rel="noopener noreferrer">Hugo</a>`
|
href="https://gohugo.io/" target="_blank" rel="noopener noreferrer">Hugo</a>`
|
||||||
}}
|
}}
|
||||||
{{ $lynx := printf `<a class="hover:underline hover:decoration-primary-400 hover:text-primary-500" href="https://git.io/hugo-lynx" target="_blank" rel="noopener noreferrer">Lynx</a>` }}
|
{{ $lynx := printf `<a class="hover:underline hover:underline-primary-300 hover:text-primary-400" href="https://git.io/hugo-lynx" target="_blank" rel="noopener noreferrer">Lynx</a>` }}
|
||||||
{{ i18n "footer.powered_by" (dict "Hugo" $hugo "Lynx" $lynx) | safeHTML }}
|
{{ i18n "footer.powered_by" (dict "Hugo" $hugo "Lynx" $lynx) | safeHTML }}
|
||||||
</p>
|
</p>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@ -10,8 +10,8 @@
|
|||||||
<title>{{ .Site.Title }}</title>
|
<title>{{ .Site.Title }}</title>
|
||||||
<meta name="title" content="{{ .Site.Title }}" />
|
<meta name="title" content="{{ .Site.Title }}" />
|
||||||
{{- else -}}
|
{{- else -}}
|
||||||
<title>{{ .Title | emojify }} · {{ .Site.Title | emojify }}</title>
|
<title>{{ .Title }} · {{ .Site.Title }}</title>
|
||||||
<meta name="title" content="{{ .Title | emojify }} · {{ .Site.Title | emojify }}" />
|
<meta name="title" content="{{ .Title }} · {{ .Site.Title }}" />
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{/* Metadata */}}
|
{{/* Metadata */}}
|
||||||
{{ with .Params.Description -}}
|
{{ with .Params.Description -}}
|
||||||
@ -32,21 +32,25 @@
|
|||||||
{{ range .AlternativeOutputFormats -}}
|
{{ range .AlternativeOutputFormats -}}
|
||||||
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .RelPermalink $.Site.Title | safeHTML }}
|
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .RelPermalink $.Site.Title | safeHTML }}
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
{{/* Asset bundles */}}
|
{{/* Styles */}}
|
||||||
{{ $assets := newScratch }}
|
{{ $mainCSS := resources.Get "css/compiled/main.css" }}
|
||||||
{{ $cssMain := resources.Get "css/compiled/main.css" }}
|
{{ $mainStyles := $mainCSS | resources.Minify | resources.Fingerprint "sha512" }}
|
||||||
{{ $assets.Add "css" (slice $cssMain) }}
|
|
||||||
{{ $cssCustom := resources.Get "css/custom.css" }}
|
|
||||||
{{ if $cssCustom }}
|
|
||||||
{{ $assets.Add "css" (slice $cssCustom) }}
|
|
||||||
{{ end }}
|
|
||||||
{{ $bundleCSS := $assets.Get "css" | resources.Concat "css/main.bundle.css" | resources.Minify | resources.Fingerprint "sha512" }}
|
|
||||||
<link
|
<link
|
||||||
type="text/css"
|
type="text/css"
|
||||||
rel="stylesheet"
|
rel="stylesheet"
|
||||||
href="{{ $bundleCSS.RelPermalink }}"
|
href="{{ $mainStyles.RelPermalink }}"
|
||||||
integrity="{{ $bundleCSS.Data.Integrity }}"
|
integrity="{{ $mainStyles.Data.Integrity }}"
|
||||||
/>
|
/>
|
||||||
|
{{ $customCSS := resources.Get "css/custom.css" }}
|
||||||
|
{{ if $customCSS }}
|
||||||
|
{{ $customStyles := $customCSS | resources.Minify | resources.Fingerprint "sha512" }}
|
||||||
|
<link
|
||||||
|
type="text/css"
|
||||||
|
rel="stylesheet"
|
||||||
|
href="{{ $customStyles.RelPermalink }}"
|
||||||
|
integrity="{{ $customStyles.Data.Integrity }}"
|
||||||
|
/>
|
||||||
|
{{ end }}
|
||||||
{{/* Icons */}}
|
{{/* Icons */}}
|
||||||
{{ if templates.Exists "partials/favicons.html" }}
|
{{ if templates.Exists "partials/favicons.html" }}
|
||||||
{{ partialCached "favicons.html" .Site }}
|
{{ partialCached "favicons.html" .Site }}
|
||||||
@ -84,7 +88,7 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{/* Analytics */}}
|
{{/* Analytics */}}
|
||||||
{{ partialCached "analytics.html" . }}
|
{{ partialCached "analytics.html" .Site }}
|
||||||
{{/* Extend head - eg. for custom analytics scripts, etc. */}}
|
{{/* Extend head - eg. for custom analytics scripts, etc. */}}
|
||||||
{{ if templates.Exists "partials/extend-head.html" }}
|
{{ if templates.Exists "partials/extend-head.html" }}
|
||||||
{{ partialCached "extend-head.html" .Site }}
|
{{ partialCached "extend-head.html" .Site }}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{{ $icon := resources.Get (print "icons/" . ".svg") }}
|
{{ $icon := resources.Get (print "icons/" . ".svg") }}
|
||||||
{{ if $icon }}
|
{{ if $icon }}
|
||||||
<span class="icon relative inline-block align-text-bottom">
|
<span class="relative inline-block align-text-bottom icon">
|
||||||
{{ $icon.Content | safeHTML }}
|
{{ $icon.Content | safeHTML }}
|
||||||
</span>
|
</span>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<span class="icon relative inline-block align-text-bottom">
|
<span class="relative inline-block align-text-bottom icon">
|
||||||
{{ $icon := resources.Get (printf "icons/%s.svg" ($.Get 0)) }}
|
{{ $icon := resources.Get (printf "icons/%s.svg" ($.Get 0)) }}
|
||||||
{{ if $icon }}
|
{{ if $icon }}
|
||||||
{{ $icon.Content | safeHTML }}
|
{{ $icon.Content | safeHTML }}
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
module.exports = {
|
|
||||||
ci: {
|
|
||||||
collect: {
|
|
||||||
startServerCommand: "npm run example -- --disableLiveReload --minify",
|
|
||||||
startServerReadyPattern: "Web Server is available",
|
|
||||||
url: ["http://localhost:8008/lynx/"],
|
|
||||||
settings: {
|
|
||||||
skipAudits: ["uses-text-compression", "uses-long-cache-ttl"],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
upload: {
|
|
||||||
target: "temporary-public-storage",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
18
netlify.toml
@ -1,18 +0,0 @@
|
|||||||
[build]
|
|
||||||
command = "cd exampleSite && hugo --gc --minify -D -b $URL"
|
|
||||||
publish = "exampleSite/public"
|
|
||||||
|
|
||||||
[build.environment]
|
|
||||||
HUGO_VERSION = "0.118.2"
|
|
||||||
HUGO_THEMESDIR = "../.."
|
|
||||||
HUGO_THEME = "repo"
|
|
||||||
TZ = "Australia/Melbourne"
|
|
||||||
|
|
||||||
[context.production.environment]
|
|
||||||
HUGO_ENV = "production"
|
|
||||||
|
|
||||||
[context.deploy-preview]
|
|
||||||
command = "cd exampleSite && hugo --gc --minify -D -b $DEPLOY_PRIME_URL"
|
|
||||||
|
|
||||||
[context.branch-deploy]
|
|
||||||
command = "cd exampleSite && hugo --gc --minify -D -b $DEPLOY_PRIME_URL"
|
|
2319
package-lock.json
generated
14
package.json
@ -1,12 +1,11 @@
|
|||||||
{
|
{
|
||||||
"name": "hugo-lynx-theme",
|
"name": "hugo-lynx-theme",
|
||||||
"version": "1.4.0",
|
"version": "1.1.0",
|
||||||
"description": "Lynx theme for Hugo",
|
"description": "Lynx theme for Hugo",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "NODE_ENV=development ./node_modules/tailwindcss/lib/cli.js -i ./assets/css/main.css -o ./assets/css/compiled/main.css --jit -w",
|
"dev": "NODE_ENV=development ./node_modules/tailwindcss/lib/cli.js -i ./assets/css/main.css -o ./assets/css/compiled/main.css --jit -w",
|
||||||
"build": "NODE_ENV=production ./node_modules/tailwindcss/lib/cli.js -i ./assets/css/main.css -o ./assets/css/compiled/main.css --jit",
|
"build": "NODE_ENV=production ./node_modules/tailwindcss/lib/cli.js -i ./assets/css/main.css -o ./assets/css/compiled/main.css --jit",
|
||||||
"example": "hugo server --source exampleSite --themesDir ../.. --buildDrafts -b http://localhost/lynx/ -p 8008",
|
"example": "hugo server --source exampleSite --themesDir ../.. --buildDrafts -b http://localhost/lynx/ -p 8008"
|
||||||
"lighthouse": "lhci autorun"
|
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@ -25,10 +24,9 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/jpanther/lynx#readme",
|
"homepage": "https://github.com/jpanther/lynx#readme",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tailwindcss/typography": "^0.5.11",
|
"@tailwindcss/typography": "^0.4.1",
|
||||||
"prettier": "^3.2.5",
|
"prettier": "^2.4.1",
|
||||||
"prettier-plugin-go-template": "^0.0.15",
|
"prettier-plugin-go-template": "^0.0.11",
|
||||||
"prettier-plugin-tailwindcss": "^0.5.14",
|
"tailwindcss": "^2.2.19"
|
||||||
"tailwindcss": "^3.4.3"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1 @@
|
|||||||
{
|
{"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"}
|
||||||
"name": "Lynx",
|
|
||||||
"short_name": "Lynx",
|
|
||||||
"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"
|
|
||||||
}
|
|
@ -1,12 +1,15 @@
|
|||||||
const colors = require("tailwindcss/colors");
|
const colors = require("tailwindcss/colors");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
content: [
|
mode: "jit",
|
||||||
"./layouts/**/*.html",
|
purge: {
|
||||||
"./content/**/*.{html,md}",
|
content: [
|
||||||
"./themes/lynx/layouts/**/*.html",
|
"./layouts/**/*.html",
|
||||||
"./themes/lynx/content/**/*.{html,md}",
|
"./content/**/*.{html,md}",
|
||||||
],
|
"./themes/lynx/layouts/**/*.html",
|
||||||
|
"./themes/lynx/content/**/*.{html,md}",
|
||||||
|
],
|
||||||
|
},
|
||||||
darkMode: "media",
|
darkMode: "media",
|
||||||
theme: {
|
theme: {
|
||||||
colors: {
|
colors: {
|
||||||
@ -17,84 +20,164 @@ module.exports = {
|
|||||||
extend: {
|
extend: {
|
||||||
typography: (theme) => ({
|
typography: (theme) => ({
|
||||||
DEFAULT: {
|
DEFAULT: {
|
||||||
css: {
|
css: [
|
||||||
"--tw-prose-body": theme("colors.neutral.700"),
|
{
|
||||||
"--tw-prose-headings": theme("colors.neutral.800"),
|
color: theme("colors.neutral.700"),
|
||||||
"--tw-prose-lead": theme("colors.neutral.500"),
|
a: {
|
||||||
"--tw-prose-links": theme("colors.primary.700"),
|
color: theme("colors.primary.700"),
|
||||||
"--tw-prose-bold": theme("colors.neutral.900"),
|
textDecoration: "underline",
|
||||||
"--tw-prose-counters": theme("colors.neutral.800"),
|
textDecorationColor: theme("colors.primary.300"),
|
||||||
"--tw-prose-bullets": theme("colors.neutral.500"),
|
fontWeight: "500",
|
||||||
"--tw-prose-hr": theme("colors.neutral.200"),
|
"&:hover": {
|
||||||
"--tw-prose-quotes": theme("colors.neutral.700"),
|
backgroundColor: theme("colors.primary.600"),
|
||||||
"--tw-prose-quote-borders": theme("colors.primary.200"),
|
borderRadius: "0.09rem",
|
||||||
"--tw-prose-captions": theme("colors.neutral.500"),
|
color: theme("colors.white"),
|
||||||
"--tw-prose-code": theme("colors.primary.700"),
|
textDecoration: "none",
|
||||||
"--tw-prose-pre-code": theme("colors.neutral.700"),
|
},
|
||||||
"--tw-prose-pre-bg": theme("colors.neutral.50"),
|
},
|
||||||
"--tw-prose-th-borders": theme("colors.neutral.500"),
|
strong: {
|
||||||
"--tw-prose-td-borders": theme("colors.neutral.300"),
|
color: theme("colors.neutral.900"),
|
||||||
"--tw-prose-invert-body": theme("colors.neutral.300"),
|
},
|
||||||
"--tw-prose-invert-headings": theme("colors.neutral.50"),
|
"ol > li::before": {
|
||||||
"--tw-prose-invert-lead": theme("colors.neutral.500"),
|
color: theme("colors.neutral.800"),
|
||||||
"--tw-prose-invert-links": theme("colors.primary.400"),
|
},
|
||||||
"--tw-prose-invert-bold": theme("colors.neutral.DEFAULT"),
|
"ul > li::before": {
|
||||||
"--tw-prose-invert-counters": theme("colors.neutral.400"),
|
backgroundColor: theme("colors.neutral.500"),
|
||||||
"--tw-prose-invert-bullets": theme("colors.neutral.600"),
|
},
|
||||||
"--tw-prose-invert-hr": theme("colors.neutral.500"),
|
hr: {
|
||||||
"--tw-prose-invert-quotes": theme("colors.neutral.200"),
|
borderColor: theme("colors.neutral.200"),
|
||||||
"--tw-prose-invert-quote-borders": theme("colors.primary.900"),
|
},
|
||||||
"--tw-prose-invert-captions": theme("colors.neutral.400"),
|
blockquote: {
|
||||||
"--tw-prose-invert-code": theme("colors.primary.400"),
|
color: theme("colors.neutral.800"),
|
||||||
"--tw-prose-invert-pre-code": theme("colors.neutral.200"),
|
borderLeftColor: theme("colors.primary.200"),
|
||||||
"--tw-prose-invert-pre-bg": theme("colors.neutral.700"),
|
},
|
||||||
"--tw-prose-invert-th-borders": theme("colors.neutral.500"),
|
h1: {
|
||||||
"--tw-prose-invert-td-borders": theme("colors.neutral.700"),
|
color: theme("colors.neutral.800"),
|
||||||
a: {
|
position: "relative",
|
||||||
textDecoration: "underline",
|
},
|
||||||
textDecorationColor: theme("colors.primary.300"),
|
h2: {
|
||||||
fontWeight: "500",
|
color: theme("colors.neutral.800"),
|
||||||
"&:hover": {
|
position: "relative",
|
||||||
color: theme("colors.neutral.DEFAULT"),
|
},
|
||||||
textDecoration: "none",
|
h3: {
|
||||||
backgroundColor: theme("colors.primary.600"),
|
color: theme("colors.neutral.800"),
|
||||||
borderRadius: "0.09rem",
|
position: "relative",
|
||||||
|
},
|
||||||
|
h4: {
|
||||||
|
color: theme("colors.neutral.800"),
|
||||||
|
position: "relative",
|
||||||
|
},
|
||||||
|
code: {
|
||||||
|
color: theme("colors.primary.800"),
|
||||||
|
},
|
||||||
|
"pre code": {
|
||||||
|
color: theme("colors.neutral.700"),
|
||||||
|
},
|
||||||
|
pre: {
|
||||||
|
color: theme("colors.neutral.700"),
|
||||||
|
backgroundColor: theme("colors.neutral.50"),
|
||||||
|
},
|
||||||
|
"pre code": {
|
||||||
|
color: theme("colors.neutral.700"),
|
||||||
|
},
|
||||||
|
thead: {
|
||||||
|
color: theme("colors.neutral.800"),
|
||||||
|
borderBottomColor: theme("colors.neutral.500"),
|
||||||
|
},
|
||||||
|
"tbody tr": {
|
||||||
|
borderBottomColor: theme("colors.neutral.300"),
|
||||||
|
},
|
||||||
|
kbd: {
|
||||||
|
backgroundColor: theme("colors.neutral.200"),
|
||||||
|
padding: "0.1rem 0.4rem",
|
||||||
|
borderRadius: "0.25rem",
|
||||||
|
fontSize: "0.9rem",
|
||||||
|
fontWeight: "600",
|
||||||
|
},
|
||||||
|
mark: {
|
||||||
|
backgroundColor: theme("colors.primary.200"),
|
||||||
|
padding: "0.1rem 0.2rem",
|
||||||
|
borderRadius: "0.12rem",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"a code": {
|
],
|
||||||
color: "var(--tw-prose-code)",
|
|
||||||
},
|
|
||||||
kbd: {
|
|
||||||
backgroundColor: theme("colors.neutral.200"),
|
|
||||||
padding: "0.1rem 0.4rem",
|
|
||||||
borderRadius: "0.25rem",
|
|
||||||
fontSize: "0.9rem",
|
|
||||||
fontWeight: "600",
|
|
||||||
},
|
|
||||||
mark: {
|
|
||||||
color: theme("colors.neutral.800"),
|
|
||||||
backgroundColor: theme("colors.primary.200"),
|
|
||||||
padding: "0.1rem 0.2rem",
|
|
||||||
borderRadius: "0.12rem",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
invert: {
|
light: {
|
||||||
css: {
|
css: [
|
||||||
a: {
|
{
|
||||||
textDecorationColor: theme("colors.neutral.600"),
|
color: theme("colors.neutral.400"),
|
||||||
|
a: {
|
||||||
|
color: theme("colors.primary.400"),
|
||||||
|
textDecorationColor: theme("colors.neutral.500"),
|
||||||
|
},
|
||||||
|
strong: {
|
||||||
|
color: theme("colors.white"),
|
||||||
|
},
|
||||||
|
"ol > li::before": {
|
||||||
|
color: theme("colors.neutral.400"),
|
||||||
|
},
|
||||||
|
"ul > li::before": {
|
||||||
|
backgroundColor: theme("colors.neutral.600"),
|
||||||
|
},
|
||||||
|
hr: {
|
||||||
|
borderColor: theme("colors.neutral.500"),
|
||||||
|
},
|
||||||
|
blockquote: {
|
||||||
|
color: theme("colors.neutral.200"),
|
||||||
|
borderLeftColor: theme("colors.primary.900"),
|
||||||
|
},
|
||||||
|
h1: {
|
||||||
|
color: theme("colors.white"),
|
||||||
|
},
|
||||||
|
h2: {
|
||||||
|
color: theme("colors.white"),
|
||||||
|
},
|
||||||
|
h3: {
|
||||||
|
color: theme("colors.white"),
|
||||||
|
},
|
||||||
|
h4: {
|
||||||
|
color: theme("colors.white"),
|
||||||
|
},
|
||||||
|
"figure figcaption": {
|
||||||
|
color: theme("colors.neutral.400"),
|
||||||
|
},
|
||||||
|
code: {
|
||||||
|
color: theme("colors.primary.500"),
|
||||||
|
},
|
||||||
|
"a code": {
|
||||||
|
color: theme("colors.white"),
|
||||||
|
},
|
||||||
|
pre: {
|
||||||
|
color: theme("colors.neutral.200"),
|
||||||
|
backgroundColor: theme("colors.neutral.700"),
|
||||||
|
},
|
||||||
|
"pre code": {
|
||||||
|
color: theme("colors.neutral.200"),
|
||||||
|
},
|
||||||
|
thead: {
|
||||||
|
color: theme("colors.white"),
|
||||||
|
borderBottomColor: theme("colors.neutral.500"),
|
||||||
|
},
|
||||||
|
"tbody tr": {
|
||||||
|
borderBottomColor: theme("colors.neutral.700"),
|
||||||
|
},
|
||||||
|
kbd: {
|
||||||
|
backgroundColor: theme("colors.neutral.700"),
|
||||||
|
color: theme("colors.neutral.300"),
|
||||||
|
},
|
||||||
|
mark: {
|
||||||
|
backgroundColor: theme("colors.primary.400"),
|
||||||
|
},
|
||||||
},
|
},
|
||||||
kbd: {
|
],
|
||||||
color: theme("colors.neutral.200"),
|
|
||||||
backgroundColor: theme("colors.neutral.700"),
|
|
||||||
},
|
|
||||||
mark: {
|
|
||||||
backgroundColor: theme("colors.primary.400"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
variants: {
|
||||||
|
extend: {
|
||||||
|
typography: ["dark"],
|
||||||
|
},
|
||||||
|
},
|
||||||
plugins: [require("@tailwindcss/typography")],
|
plugins: [require("@tailwindcss/typography")],
|
||||||
};
|
};
|
||||||
|