Move website (#5792)
* Build documentation for 0.17.0 (#198)
* Add documentation for migrate:down (#197)
* add missing function to sidebar (#199)
* Add notes around usage with typescript
* Generate assets
* Fix documentation for migration extension (#204)
* Improve dev workflow (#201)
* Mark generated files as binary so they don't clobber the diff
* Tweak build scripts
- Replace child-process-promise with execa which already handles SIGINT propagation & PATHEXT normalization
- Read CHANGELOG from node_modules/knex so that it works well with npm/yarn link and nodemon can pickup changes
- Tweak nodemon to auto restart when CHANGELOG changes
- Remove misleading log that rs will restart nodemon which doesn't work with spawn
* fix typo (#206)
* add intersect method (#173)
* Document transaction execution promise (#205)
* Generate documentatino for 0.18.0 (#207)
* Fix typo (#209)
Remove unnecessary parentheses
* CLI: documentation on migration:make --stub option (#208)
* Update dependencies (#210)
* Build documentation for 0.18.3 (#211)
* Add docs for seed:run --specific (#213)
* Build documentation for 0.18.4 (#215)
* Update docs for aggregation queries to include information about https://github.com/tgriesser/knex/pull/3354 (#221)
Closes #219
* Document "skipLocked()" and "noWait()" (#186)
* Remove bluebird-specific methods from documentation (#222)
* Add documentation for transaction .isCompleted() (#223)
* Add extends queryBuilder documentation - related to #3334 (#218)
* Build documentation for 0.19.1 (#224)
* fix(syntax error): small issue with docs displaying invalid JS code. (#225)
* correct and clarify how to alias an identifier (#226)
* noted that aliasing uses a suffix, not a prefix
* added an example
* Fix small type (#229)
* CLI Migrations List CMD Documentation (#231)
* Support specifying schema for enums (#232)
* Release documentation for 0.19.3
* update docs as per https://github.com/tgriesser/knex/pull/3416 (#233)
* Docs for disableValidateMigrationsList (#237)
* fix docs for knex.migrate.up & knex.migrate.down (#238)
* Edit table names in example to be plural (#236)
Change table names to be plural to match the style in the rest of the documentation.
* fix: repair hitchhikers guide to the galaxy update docs (#230)
* Fix broken travis badge and links after relocation of project (#240)
* replace deprecated oracle package with oracledb (#239)
* Release documentation for 0.20.0
* Documentation for https://github.com/knex/knex/pull/3497 (#242)
* Release documentation for 0.20.1
* Update to Babel 7, bump a couple of other dependencies
* Release documentation for 0.20.4
* Release documentation for 0.20.5
* updated transactions docs with async/await examples (#247)
* "esm module interop flag" reflects knex #3571 (#251)
* Release documentation for 0.20.10
* Release documentation for 0.20.10 - follow-up
* delete Promise.return (#256)
* Adds documentation for async knex (#259)
* Add clearGroup method documentation (#261)
* Add entry for onDistinct (#257)
* Add join to sidebar (#264)
* Change notNull to notNullable for consistency (#252)
* Release documentation for 0.20.15
* Release documentation for 0.21.0
* Add documentation about liftoff and its dependencies. Resolves #3807 (#265)
* Add docs for new migrate:unlock command (#266)
Corresponding knex PR: https://github.com/knex/knex/pull/3822
Co-authored-by: Zach McElrath <zach@skuid.com>
* Release documentation for 0.21.1
* remove broken link from sidebar (#269)
* pronounced /kəˈnɛks/ (#275)
* Typo fix in schema.js (#279)
* Add array of paths and sortDirsSeparately for seeds (#282)
related to https://github.com/knex/knex/pull/3967 and https://github.com/knex/documentation/pull/220
* Release documentation for 0.21.3
* Add recursive option for seeds (#284)
Related to https://github.com/knex/knex/pull/3974
* Release documentation for 0.21.4
* Esm interop documentation update (#285)
* Release documentation for 0.21.5
* Typo in index.html (#291)
* add documentation for isTransaction property (#293)
closes knex/documentation#235
* docs(QueryBuilder): add method .clear(statement) (#289)
* Release documentation for 0.21.9
* Documentation for augmented table interfaces (#292)
* Initial documentation on .onConflict, .ignore, and .merge (#260)
* Release documentation for 0.21.10
* Fix spelling error (#296)
* Add documentation on "upsert" WHERE clause for PostgreSQL/Sqlite (#300)
Co-authored-by: Igor Savin <iselwin@gmail.com>
* Release documentation for 0.21.13
* Add documentation for "includeTriggerModifications" (#301)
* Release documentation for 0.21.14
* Minor tweaks on the main page
* Release documentation for 0.21.15
* var -> const
http -> https
Minor tweaks
* Add setIsolationLevel docs (#302)
Co-authored-by: Igor Savin <iselwin@gmail.com>
* Update TypeScript documentation (#303)
* Doc for analytic functions (#5)
Co-authored-by: Igor Savin <iselwin@gmail.com>
* Document optimizer hints (#306)
* Added documentation for increments primaryKey option (#308)
Co-authored-by: Igor Savin <iselwin@gmail.com>
* Added docs for new conflict merge strategies. (#307)
Co-authored-by: Matt Goodson <matt.goodson.business@gmail.com>
* fix WebpackMigrationSource example (#192) (#304)
* Add example for WebpackMigrationSource with webpack 5 (#310)
* DOCS Add constraintName option to defaultTo for mssql driver (#311)
* DOCS Add constraintName option to defaultTo for mssql driver
* Update schema.js
Co-authored-by: Igor Savin <iselwin@gmail.com>
* columnInfo: Fix bulleted list rendering (#312)
* include enlightenment about composite typing (#298)
* Add documentation for generateDdlCommands
update TOC
* Publish documentation for 0.95.0
* Fix migrate parameter (#313)
latestVersion becomes latest
* Docs for #3678: allow running multiple specific seed files (#316)
* Add documentation for "Add support for file open flags for sqlite3" (#320)
Signed-off-by: Boelensman1 <me@wiggerboelens.com>
* fixed typescript example of extending QueryBuilder (#321)
* Publish documentation for 0.95.5
* fix(docs): migration from mssql to tedious (#317)
* Fix mssql driver description
* Fix typo (#328)
* add documentation for deferrable constraint support (#330)
* Fix Sidebar element link to same section (#331)
* Publish documentation for 0.95.8
* Add documentation for partitionBy and clean up some spacings and child assigns (#333)
* Fix example for batch insert with conflict merge (#325)
* add port option to connection (#324)
* Adds a missing "the" (#318)
* Add documentation for schema nullability manipulation (#334)
* Publish documentation for 0.95.11
* feat(builder): Describe optional columnList arg to with/Recurisve [knex/knex#4514] (#335)
* Add missing documentation for whereRecursive
* Adding notes about pg-native (#336)
* Add table.double to documentation (#295)
* Fix havingRaw signature (#297)
* Add dropSchema and dropSchemaIfExists doc (#4713) (#338)
* Add 'is null' support in order by documentation (#339)
* Missing comma (#340)
* Add Create table like documentation (#1373) (#341)
* Add CockroachDB (#342)
* Migrations: Fix code formatting (#343)
* View support doc (#4748) (#344)
Co-authored-by: Olivier CAVADENTI <ocavadenti@cirilgroup.com>
* Add storage engine index type doc #4756 (#345)
* Add docs for forNoKeyUpdate() and forKeyShare() (#346)
* skiplocked and nowait in mariadb (#348)
Nowait was added in 10.3 - https://mariadb.com/kb/en/wait-and-nowait/
skiplocked was added in 10.6 - https://mariadb.com/kb/en/select/#skip-locked
* feat: add builder method upsert (#349)
* Add partial index doc #4768 (#350)
* github url fix to github.com/knex/knex (#347)
* Publish documentation for 0.95.12
* Add documentation fromRaw #4781 (#354)
* Add documentation whereLike/whereILike #4779 (#353)
* Add doc for Delete joins and using syntax in Postgres
* Add skipBinding option for offset and limit (#356)
* Add callback doc for create table like (#359)
* Update builder.js (#360)
* Remove dead link in sidebar (#361)
* Added a note about enumerations not being editable after creation (without knex.raw), as per https://github.com/knex/knex/issues/1699 (#314)
* Document custom seed sources (#364)
* Webpack 5 update (#365)
* remove -p parameter of webpack command
* React, Babel and more updates (#366)
* Add binary uuid doc (#368)
* docs: added some small additions about supporting `better-sqlite3` (#369)
Signed-off-by: blam <ben@blam.sh>
* Add useCamelCase doc (#358)
* Add geo columns doc (#370)
* Add alter table and fixes (#371)
* fix typo in `dropView` (#372)
* Added MSSQL unique constraint documentation (#373)
* Json Support documentation (#374)
* Multiple PKs with increments doc (#375)
* Add checks documentation (#377)
* Update returning doc (#378)
* Create or replace view doc (#376)
* add docs aout smallint, integer, biginteger, tinyint, mediumint (#363)
* href Schema.index vs column.index (#355)
* Publish documentation for 1.0.1
* Fix 1.0.1 documentation
* Update SQLite driver documentation (#381)
* Add with materialized doc (#382)
* Add onConflict raw doc (#384)
* docs: add built assets
* Add alterNullable doc (#385)
* Add alterType documentation (#387)
* Publish documentation for 1.0.2
* Publish documentation for 1.0.3
* Add whereLike functions doc (#392)
* Update CNAME
* Delete CNAME
* Create CNAME
* Publish documentation for 1.0.3\4
* Update CNAME
* Wrong doc reference for table.index (#394)
* Update Migrations doc for overrides cli (#395)
* Publish documentation for 1.0.5
* Publish documentation for 1.0.6
* Publish documentation for 1.0.7
* Update esm-interop.js (#398)
* Update doc for sqlite3 restore (#399)
* Publish documentation for 2.0.0
* Delete everything
* Migrate documentation to vitepress (#400)
Co-authored-by: Benicio Cardozo <beniciocardozomdp@gmail.com>
* feat: add deployment workflow (#404)
* Update schema-builder.md (#405)
* Update deploy.yml (#407)
* Added recommendation to set pool.min to 0 (#409)
* Fix Algolia Search Box redirecting to a 404 page (#411)
* Update transactions.md (#416)
* restore sqlite3 as the version to install for sqlite db (#418)
* docs: document primaryKey option on uuid type (#419)
* Typo (#422)
* Fix typo (#426)
* Fix a few broken links (#430)
Propably the consequence of a change in structure
* uuidToBin and binToUuid are switched (#434)
The code examples of uuidToBin and binToUuid where in the wrong order. I switched the heading and description of both so the createTable and select statements are still correct.
I also changed 'convert a uuid (char(16))' to 'convert a string uuid (char(36))' in uuidToBin to match the description of binToUuid and the corresponding code example.
In addition I changed the specified language of the binToUuid code example from ts to js to match the language definitions of the other code examples.
* add documentation about compileSqlOnError (#436)
* Update .returning documentation to include SQLite support (#438)
This documentation update corresponds to the changes implemented in [knex/knex pull request #5285](https://github.com/knex/knex/pull/5285).
* add documentation for mapBinding (#440)
* docs: explicit jsonb suppor for custom pg clients (#423)
* fix a link reference (#451)
* docs: update predicate, useConstraint options in unique() (#449)
* Updated index.md (#460)
removed word 'the' before 'any' in migrations section
* fix documentation about compileSqlOnError (#463)
* raw.md typo fix (#452)
* Fix invalid bold (#461)
There was another `*` stopping a line from going bold. I fixed that.
* fix parameter order in function example (#446)
* Updating port (#470)
* Fix typo `unqiue` (#477)
* Add documentation on comment. (#450)
* Document Better-SQLite3 nativeBinding option (#504)
* Bump knex from 2.0.0 to 2.4.0 (#485)
Bumps [knex](https://github.com/knex/knex) from 2.0.0 to 2.4.0.
- [Release notes](https://github.com/knex/knex/releases)
- [Changelog](https://github.com/knex/knex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/knex/knex/compare/2.0.0...2.4.0)
---
updated-dependencies:
- dependency-name: knex
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Update Changelog and fix deadlinks (#506)
* Bump vite from 2.9.9 to 2.9.15 (#448)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 2.9.9 to 2.9.15.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v2.9.15/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v2.9.15/packages/vite)
---
updated-dependencies:
- dependency-name: vite
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Typo/Grammar (#491)
Documentation grammar. `An` not required in this case--even though it precedes a vowel.
* fix doc typo (#482)
* Fix spacing typos (#467)
* Fix erroneous basic config example (#443)
Fixes the example of how to use an async function to get connection details.
The current example shows you can export an async function returning an entire [`Config`](https://github.com/knex/knex/blob/2dadde4214d9ee333adccfa517089647e94d23be/types/index.d.ts#L2698) object. However, the [type definition](https://github.com/knex/knex/blob/2dadde4214d9ee333adccfa517089647e94d23be/types/index.d.ts#L2703) shows that the `connection` property can be an async function. I can confirm that TypeScript won't compile when following the current example.
* Improve documentation for extending QueryBuilder (#462)
Changes made:
1. Changed variable where `QueryBuilder` class is located at. `Knex.QueryBuilder` is a typescript interface defined in `Knex` namespace. `QueryBuilder` class is located at `knex.QueryBuilder`.
2. Changed `QueryBuilder` interface to `QueryInterface` in custom typescript definitions. To make the custom method appear at `knex()` object, we should augment `QueryInterface`, since it's the type `Knex` interface extends.
* adds documentation about how to group and order inputs to a union (#500)
* adds documentation about how to group and order inputs to a union
* provide links to query lab for example
* docs: reference to issues in changelog (#420)
* docs: reference to issues in changelog
* reference issues in last changelogs
---------
Co-authored-by: Olivier Cavadenti <olivier.cavadenti@gmail.com>
* Update all remaining issues links in changelog (#507)
* Fix issues links (#508)
* Fix links (#509)
Co-authored-by: Garrit Franke <32395585+garritfra@users.noreply.github.com>
* Fix url esm-interop (#517)
* Document Better-SQLite3 readonly option (#505)
* Update transactions.md (#489)
* docs(pg): document QueryBuilder#updateFrom (#476)
* docs: document uuid utility function (#527)
* Update changelog for 2.5.0
(cherry picked from commit 063b380c76f6990b0c3a1470876e0781dbc98d6a)
* Fix changelog title release
* docs(pg): terminate code block in query-builder.md (#528)
* docs: provide more usage patterns for Knex configuration object (#529)
* Update changelog for 2.5.1
* Bump vite from 2.9.15 to 2.9.16 (#523)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 2.9.15 to 2.9.16.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v2.9.16/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v2.9.16/packages/vite)
---
updated-dependencies:
- dependency-name: vite
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add note regarding timestamps() for Postgres users (#475)
* fix doc typo (#474)
* Adding ability to have a custom getNewMigrationName function. (#484)
* add stream as iterator part (#454)
* Update documentation to include except keyword (#468)
* Update schema-builder.md (#432)
* Added extending docs (#414)
* docs: add TypeScript module augmentation help (#531)
* Move website deployment to root and run only on docs changes
* run format on the docs folder
* update links
* Update CONTRIBUTING.md
Co-authored-by: Igor Savin <iselwin@gmail.com>
* use npm instead of yarn
---------
Signed-off-by: Boelensman1 <me@wiggerboelens.com>
Signed-off-by: blam <ben@blam.sh>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Igor Savin <iselwin@gmail.com>
Co-authored-by: Lee Allen <leeallen337@gmail.com>
Co-authored-by: Daniel Mills <mills.dma@gmail.com>
Co-authored-by: Lorefnon <lorefnon@gmail.com>
Co-authored-by: EthanHur <ethan0311@gmail.com>
Co-authored-by: Matthew Kuo <matthewjkuo@gmail.com>
Co-authored-by: Daniel Norman <daniel@2color.me>
Co-authored-by: Vamp <25523682+the-vampiire@users.noreply.github.com>
Co-authored-by: Felix Mosheev <9304194+felixmosh@users.noreply.github.com>
Co-authored-by: Ricardo Maes <ricmzn@gmail.com>
Co-authored-by: Matthew Kuo <matthew.kuo@dialexa.com>
Co-authored-by: Joe Warner <joe.warner143@live.co.uk>
Co-authored-by: julescubtree <julescubtree@users.noreply.github.com>
Co-authored-by: Anton Sitnikov <colmer@yandex.ru>
Co-authored-by: Vithalreddy.M.B <vmreddyvmb@gmail.com>
Co-authored-by: Taras Ozarko <ivanovych666@gmail.com>
Co-authored-by: Nekrasov Ilya <nekrasov.ilya90@gmail.com>
Co-authored-by: Nima Boscarino <nima.boscarino@gmail.com>
Co-authored-by: Micheal Winger <mike.winger87@gmail.com>
Co-authored-by: maximelkin <maxelkin@list.ru>
Co-authored-by: Oran Epelbaum <oran@epelbaum.me>
Co-authored-by: Igor Savin <kibertoad@gmail.com>
Co-authored-by: Jan Swist <swistjan@gmail.com>
Co-authored-by: Mr D <daniel@australis-technica.com>
Co-authored-by: Florent Vilmart <364568+flovilmart@users.noreply.github.com>
Co-authored-by: Edvaldo Szymonek <edvaldoszy@gmail.com>
Co-authored-by: Jonas Gebhardt <jonas.gebhardt@gmail.com>
Co-authored-by: Niek <ngnijland@gmail.com>
Co-authored-by: Matthew Leffler <mattleff@gmail.com>
Co-authored-by: Zach McElrath <zach@skuidify.com>
Co-authored-by: Zach McElrath <zach@skuid.com>
Co-authored-by: Danial Malik <danialmalik321@gmail.com>
Co-authored-by: Rico Kahler <ricokahler@me.com>
Co-authored-by: Eli Geller <elitree@gmail.com>
Co-authored-by: Mathieu DARTIGUES <mathieu@dartic.fr>
Co-authored-by: Ludovic HOCHET <lhochet@gmail.com>
Co-authored-by: Tizian Adam <tizian.adam@mailbox.org>
Co-authored-by: Ivan Zhuravlev <intech@users.noreply.github.com>
Co-authored-by: Arturs Vonda <github@artursvonda.lv>
Co-authored-by: Nico Burns <nico@nicoburns.com>
Co-authored-by: Jess Martin <jessmartin@gmail.com>
Co-authored-by: Mark Boyd <markdavidboyd@gmail.com>
Co-authored-by: Kkmatt11 <kaleb.matthews@withone.vision>
Co-authored-by: Ben Lu <ayroblu@gmail.com>
Co-authored-by: CorvusCorrax <renaud.cayol@gmail.com>
Co-authored-by: martinmacko47 <martinmacko47@users.noreply.github.com>
Co-authored-by: George Petrov <george@dmxzone.com>
Co-authored-by: Matt <mpgoodson1@gmail.com>
Co-authored-by: Matt Goodson <matt.goodson.business@gmail.com>
Co-authored-by: Joshua Weiss <jtw@joshuatweiss.com>
Co-authored-by: Daniel Ferenc Balogh <danielferencortel@gmail.com>
Co-authored-by: Daniel Hensby <dhensby@users.noreply.github.com>
Co-authored-by: Jeremy W. Sherman <jeremyw.sherman@gmail.com>
Co-authored-by: Isaac Batista <isaacbatst@gmail.com>
Co-authored-by: Jérémy Lal <kapouer@melix.org>
Co-authored-by: Benedict Tesha <benedict.tesha@jamaatech.com>
Co-authored-by: Wigger Boelens <me@wiggerboelens.com>
Co-authored-by: Jonathan <barroudjo@gmail.com>
Co-authored-by: Huseyin ELMAS <hsynlms47@gmail.com>
Co-authored-by: Bruno P. Kinoshita <kinow@users.noreply.github.com>
Co-authored-by: zeotuan <48720253+zeotuan@users.noreply.github.com>
Co-authored-by: wolfcomp <magnus1997.MHO@gmail.com>
Co-authored-by: Mathias Lundell <luddd3@users.noreply.github.com>
Co-authored-by: Ahacad <51874356+Ahacad@users.noreply.github.com>
Co-authored-by: Alan Andrade <alan.andradec@gmail.com>
Co-authored-by: Matt Machuga <machuga@users.noreply.github.com>
Co-authored-by: Dustin Wheeler <mdwheele@gmail.com>
Co-authored-by: Orhan Toy <toyorhan@gmail.com>
Co-authored-by: Olivier Cavadenti <olivier.cavadenti@gmail.com>
Co-authored-by: Flleeppyy <18307183+flleeppyy@users.noreply.github.com>
Co-authored-by: Adam Burgess <adamburgess@users.noreply.github.com>
Co-authored-by: Olivier CAVADENTI <ocavadenti@cirilgroup.com>
Co-authored-by: Dominik Krejcik <dominik.krejcik@gmail.com>
Co-authored-by: Daniel Black <daniel@mariadb.org>
Co-authored-by: Jiří Hofman <jiri.hofman@gmail.com>
Co-authored-by: Seth Holladay <me@seth-holladay.com>
Co-authored-by: Jeremy Walker <machineghost@gmail.com>
Co-authored-by: Ben Lambert <blam@spotify.com>
Co-authored-by: Shane A. Stillwell <shane@northernv.com>
Co-authored-by: Marat Levit <mlevit@gmail.com>
Co-authored-by: Manda Putra <mandaputra8@gmail.com>
Co-authored-by: Richard <github@naddiseo.ca>
Co-authored-by: Tim Griesser <tgriesser10@gmail.com>
Co-authored-by: Alex Pavlovich <alexpimt1917@gmail.com>
Co-authored-by: Owen Allen <owenallenaz@gmail.com>
Co-authored-by: Sacha STAFYNIAK <sacha.stafyniak@gmail.com>
Co-authored-by: Benicio Cardozo <beniciocardozomdp@gmail.com>
Co-authored-by: Peiman Nourani <nourani.peiman@gmail.com>
Co-authored-by: Andres Kalle <mjomble@gmail.com>
Co-authored-by: 찰스 <osairis100@gmail.com>
Co-authored-by: Lucas Bickel <116588+hairmare@users.noreply.github.com>
Co-authored-by: Felix Wehnert <flashspys@gmail.com>
Co-authored-by: Phạm Thành Trung <adamward459@gmail.com>
Co-authored-by: Bruno Enten <bruno@enten.me>
Co-authored-by: Tobias Jäger <Tobias.Jaeger@slidetex.de>
Co-authored-by: Jakob Joonas <97440054+JakobJoonas@users.noreply.github.com>
Co-authored-by: Simon Plenderleith <simon@simonplend.co.uk>
Co-authored-by: Kelly Bourg <75750051+kellyrbourg@users.noreply.github.com>
Co-authored-by: Hasnae <viqueen@users.noreply.github.com>
Co-authored-by: Woosik Kim <iam.woosik.kim@gmail.com>
Co-authored-by: abal <github@abal.moe>
Co-authored-by: Tejas Dhamecha <90629399+notanmay@users.noreply.github.com>
Co-authored-by: Arthur Tabatchnic <arthur.tabatchnic+github@gmail.com>
Co-authored-by: TheUntraceable <73362400+TheUntraceable@users.noreply.github.com>
Co-authored-by: Maurice Doepke <mauricedoepke@outlook.de>
Co-authored-by: Keyu Ubi <65344874+Keyukemi@users.noreply.github.com>
Co-authored-by: Tom <1955774+tdelmas@users.noreply.github.com>
Co-authored-by: François de Metz <francois@2metz.fr>
Co-authored-by: Erin Dees <undees@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: duckboy81 <duckboy81@users.noreply.github.com>
Co-authored-by: Arpit Pandey <arpit.pandey05@gmail.com>
Co-authored-by: will ye <williamyeny@gmail.com>
Co-authored-by: Craig Blackburn <craig.r.blackburn@gmail.com>
Co-authored-by: aiven715 <44402489+aiven715@users.noreply.github.com>
Co-authored-by: Justin Schoen <j23schoen@gmail.com>
Co-authored-by: Mohamed Emad <73320969+Hulxv@users.noreply.github.com>
Co-authored-by: Benjamin Chodoroff <ben@falafelcopter.com>
Co-authored-by: Garrit Franke <32395585+garritfra@users.noreply.github.com>
Co-authored-by: Alpha Vylly <65187737+AlphaLawless@users.noreply.github.com>
Co-authored-by: Erin Dees <edees@briza.com>
Co-authored-by: Omar Abdelkader <omikader@gmail.com>
Co-authored-by: Warren Seymour <warren@fountainhead.tech>
Co-authored-by: André Ricardo <arbezerra@gmail.com>
Co-authored-by: Liran Tal <liran.tal@gmail.com>
Co-authored-by: Ashot Nazaryan <contact@hego.co>
Co-authored-by: Aleix Morgadas <hello@aleixmorgadas.dev>
Co-authored-by: Salvatore Garbesi <sal@dolox.com>
Co-authored-by: Kévin Berthommier <bertho-zero@users.noreply.github.com>
Co-authored-by: Deirdre Sweeney <dvsweeney9@gmail.com>
Co-authored-by: StefanAvra <stefan.avra@gmail.com>
Co-authored-by: Dominic Vonk <info@dovocode.com>
Co-authored-by: Calvin <clavin@users.noreply.github.com>
2024-03-02 22:16:47 +02:00
|
|
|
<script setup>
|
|
|
|
|
import { onMounted, ref, computed, watch } from 'vue';
|
|
|
|
|
|
|
|
|
|
const prefersDark = ref(false);
|
|
|
|
|
const setting = ref('auto');
|
|
|
|
|
const isDark = computed(
|
|
|
|
|
() =>
|
|
|
|
|
setting.value === 'dark' || (prefersDark.value && setting.value !== 'light')
|
|
|
|
|
);
|
|
|
|
|
const toggleDark = () => {
|
|
|
|
|
setting.value = setting.value === 'dark' ? 'light' : 'dark';
|
|
|
|
|
localStorage.setItem('color-scheme', setting.value);
|
|
|
|
|
};
|
|
|
|
|
watch(isDark, () => {
|
|
|
|
|
document.documentElement.classList.toggle('dark', isDark.value);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
onMounted(() => {
|
|
|
|
|
prefersDark.value =
|
|
|
|
|
window.matchMedia &&
|
|
|
|
|
window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
|
|
|
setting.value = localStorage.getItem('color-scheme') || 'auto';
|
|
|
|
|
document.documentElement.classList.toggle('dark', isDark.value);
|
|
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<template>
|
|
|
|
|
<a
|
|
|
|
|
class="toggle-dark"
|
|
|
|
|
tabindex="0"
|
|
|
|
|
role="button"
|
|
|
|
|
@click.prevent="toggleDark"
|
|
|
|
|
@keydown.enter.prevent="toggleDark"
|
|
|
|
|
>
|
|
|
|
|
<transition name="fade" mode="out-in">
|
|
|
|
|
<svg
|
|
|
|
|
v-if="isDark"
|
|
|
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
|
|
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
|
|
|
aria-hidden="true"
|
|
|
|
|
role="img"
|
|
|
|
|
class="iconify iconify--ph"
|
|
|
|
|
width="32"
|
|
|
|
|
height="32"
|
|
|
|
|
preserveAspectRatio="xMidYMid meet"
|
|
|
|
|
viewBox="0 0 256 256"
|
|
|
|
|
>
|
|
|
|
|
<path
|
|
|
|
|
fill="currentColor"
|
|
|
|
|
d="M216.7 152.6A91.9 91.9 0 0 1 103.4 39.3a92 92 0 1 0 113.3 113.3Z"
|
|
|
|
|
opacity=".2"
|
|
|
|
|
></path>
|
|
|
|
|
<path
|
|
|
|
|
fill="currentColor"
|
|
|
|
|
d="M224.3 150.3a8.1 8.1 0 0 0-7.8-5.7l-2.2.4A84 84 0 0 1 111 41.6a5.7 5.7 0 0 0 .3-1.8a7.9 7.9 0 0 0-10.3-8.1a100 100 0 1 0 123.3 123.2a7.2 7.2 0 0 0 0-4.6ZM128 212A84 84 0 0 1 92.8 51.7a99.9 99.9 0 0 0 111.5 111.5A84.4 84.4 0 0 1 128 212Z"
|
|
|
|
|
></path>
|
|
|
|
|
</svg>
|
|
|
|
|
<svg
|
|
|
|
|
v-else
|
|
|
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
|
|
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
|
|
|
aria-hidden="true"
|
|
|
|
|
role="img"
|
|
|
|
|
class="iconify iconify--ph"
|
|
|
|
|
width="32"
|
|
|
|
|
height="32"
|
|
|
|
|
preserveAspectRatio="xMidYMid meet"
|
|
|
|
|
viewBox="0 0 256 256"
|
|
|
|
|
>
|
|
|
|
|
<circle
|
|
|
|
|
cx="128"
|
|
|
|
|
cy="128"
|
|
|
|
|
r="60"
|
|
|
|
|
fill="currentColor"
|
|
|
|
|
opacity=".2"
|
|
|
|
|
></circle>
|
|
|
|
|
<path
|
|
|
|
|
fill="currentColor"
|
|
|
|
|
d="M128 60a68 68 0 1 0 68 68a68.1 68.1 0 0 0-68-68Zm0 120a52 52 0 1 1 52-52a52 52 0 0 1-52 52Zm-8-144V16a8 8 0 0 1 16 0v20a8 8 0 0 1-16 0ZM43.1 54.5a8.1 8.1 0 1 1 11.4-11.4l14.1 14.2a8 8 0 0 1 0 11.3a8.1 8.1 0 0 1-11.3 0ZM36 136H16a8 8 0 0 1 0-16h20a8 8 0 0 1 0 16Zm32.6 51.4a8 8 0 0 1 0 11.3l-14.1 14.2a8.3 8.3 0 0 1-5.7 2.3a8.5 8.5 0 0 1-5.7-2.3a8.1 8.1 0 0 1 0-11.4l14.2-14.1a8 8 0 0 1 11.3 0ZM136 220v20a8 8 0 0 1-16 0v-20a8 8 0 0 1 16 0Zm76.9-18.5a8.1 8.1 0 0 1 0 11.4a8.5 8.5 0 0 1-5.7 2.3a8.3 8.3 0 0 1-5.7-2.3l-14.1-14.2a8 8 0 0 1 11.3-11.3ZM248 128a8 8 0 0 1-8 8h-20a8 8 0 0 1 0-16h20a8 8 0 0 1 8 8Zm-60.6-59.4a8 8 0 0 1 0-11.3l14.1-14.2a8.1 8.1 0 0 1 11.4 11.4l-14.2 14.1a8.1 8.1 0 0 1-11.3 0Z"
|
|
|
|
|
></path>
|
|
|
|
|
</svg>
|
|
|
|
|
</transition>
|
|
|
|
|
</a>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<style scoped>
|
|
|
|
|
.toggle-dark {
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
width: 2rem;
|
|
|
|
|
height: 2rem;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
margin-left: 0.5rem;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
color: var(--c-text);
|
|
|
|
|
transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
|
|
|
|
|
}
|
|
|
|
|
.toggle-dark:hover {
|
|
|
|
|
color: var(--c-brand);
|
|
|
|
|
}
|
|
|
|
|
.toggle-dark svg {
|
|
|
|
|
width: 1.3rem;
|
|
|
|
|
vertical-align: middle;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fade-enter-active,
|
|
|
|
|
.fade-leave-active {
|
|
|
|
|
transition: opacity 0.2s ease;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fade-enter-from,
|
|
|
|
|
.fade-leave-to {
|
|
|
|
|
opacity: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
|
|
|
.fade-enter-active,
|
|
|
|
|
.fade-leave-active {
|
|
|
|
|
transition: none;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|