0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-27 20:23:08 +00:00

Compare commits

...

138 Commits

Author SHA1 Message Date
Trevor Buckner
c74c2c8efe Merge branch 'master' into v3.19.0 2025-05-22 14:31:02 -04:00
Trevor Buckner
1efe570dae Up version to 3.19.0 2025-05-22 14:30:15 -04:00
Trevor Buckner
2571460f42 Merge pull request #4199 from naturalcrit/dependabot/npm_and_yarn/eslint-9.27.0
Bump eslint from 9.26.0 to 9.27.0
2025-05-22 11:49:48 -04:00
dependabot[bot]
dbb67113b9 Bump eslint from 9.26.0 to 9.27.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.26.0 to 9.27.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.26.0...v9.27.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.27.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-22 00:18:55 +00:00
Trevor Buckner
33e3e018f3 Merge pull request #4202 from naturalcrit/dependabot/npm_and_yarn/googleapis/drive-12.1.0
Bump @googleapis/drive from 12.0.0 to 12.1.0
2025-05-21 20:17:36 -04:00
dependabot[bot]
07adf0342d Bump @googleapis/drive from 12.0.0 to 12.1.0
Bumps [@googleapis/drive](https://github.com/googleapis/google-api-nodejs-client) from 12.0.0 to 12.1.0.
- [Release notes](https://github.com/googleapis/google-api-nodejs-client/releases)
- [Changelog](https://github.com/googleapis/google-api-nodejs-client/blob/main/release-please-config.json)
- [Commits](https://github.com/googleapis/google-api-nodejs-client/compare/12.0.0...iam-v12.1.0)

---
updated-dependencies:
- dependency-name: "@googleapis/drive"
  dependency-version: 12.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-21 19:56:20 +00:00
Trevor Buckner
b2b1cb4985 Merge pull request #4203 from naturalcrit/dependabot/npm_and_yarn/marked-15.0.12
Bump marked from 15.0.11 to 15.0.12
2025-05-21 15:55:01 -04:00
dependabot[bot]
c4d6cc4579 Bump marked from 15.0.11 to 15.0.12
Bumps [marked](https://github.com/markedjs/marked) from 15.0.11 to 15.0.12.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json)
- [Commits](https://github.com/markedjs/marked/compare/v15.0.11...v15.0.12)

---
updated-dependencies:
- dependency-name: marked
  dependency-version: 15.0.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-21 03:25:36 +00:00
Trevor Buckner
01fbb4439e Merge pull request #4197 from naturalcrit/dependabot/npm_and_yarn/supertest-7.1.1
Bump supertest from 7.1.0 to 7.1.1
2025-05-20 13:52:29 -04:00
dependabot[bot]
eb48d981d6 Bump supertest from 7.1.0 to 7.1.1
Bumps [supertest](https://github.com/ladjs/supertest) from 7.1.0 to 7.1.1.
- [Release notes](https://github.com/ladjs/supertest/releases)
- [Commits](https://github.com/ladjs/supertest/compare/v7.1.0...v7.1.1)

---
updated-dependencies:
- dependency-name: supertest
  dependency-version: 7.1.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-14 14:13:10 +00:00
Trevor Buckner
3624fcef0f Merge pull request #4198 from naturalcrit/dependabot/npm_and_yarn/mongoose-8.14.3
Bump mongoose from 8.14.2 to 8.14.3
2025-05-14 10:11:50 -04:00
dependabot[bot]
ab62f0fcf9 Bump mongoose from 8.14.2 to 8.14.3
Bumps [mongoose](https://github.com/Automattic/mongoose) from 8.14.2 to 8.14.3.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Automattic/mongoose/compare/8.14.2...8.14.3)

---
updated-dependencies:
- dependency-name: mongoose
  dependency-version: 8.14.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-14 03:13:55 +00:00
Víctor Losada Hernández
9e78671e4f Merge pull request #4195 from dbolack-ab/F5_to_F6
Correct missed Font Awesome version number references
2025-05-11 22:18:56 +02:00
Víctor Losada Hernández
f64a7b38ae Merge branch 'master' into F5_to_F6 2025-05-11 22:14:02 +02:00
David Bolack
3fdedd8861 Correct missed Font Awesome Reference versions 2025-05-11 15:08:20 -05:00
Víctor Losada Hernández
1d4ebbb689 Merge pull request #4191 from naturalcrit/fix-darkbrewery
Fix-darkbrewery
2025-05-11 16:00:53 +02:00
Víctor Losada Hernández
c4f148a3a1 Merge branch 'master' into fix-darkbrewery 2025-05-11 15:56:46 +02:00
David Bolack
5bde870586 Merge branch 'master' of github.com:naturalcrit/homebrewery 2025-05-10 18:37:45 -05:00
Trevor Buckner
7ea78870bf Merge pull request #4186 from naturalcrit/dependabot/npm_and_yarn/babel/preset-env-7.27.2
Bump @babel/preset-env from 7.26.9 to 7.27.2
2025-05-10 17:50:08 -04:00
Trevor Buckner
393caa86eb add babel/runtime 2025-05-10 17:41:39 -04:00
dependabot[bot]
9b7a3c5c70 Bump @babel/preset-env from 7.26.9 to 7.27.2
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.26.9 to 7.27.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.27.2/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-version: 7.27.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-10 17:32:41 +00:00
Trevor Buckner
fe69bd50b5 Merge pull request #4190 from naturalcrit/dependabot/npm_and_yarn/idb-keyval-6.2.2
Bump idb-keyval from 6.2.1 to 6.2.2
2025-05-10 13:31:24 -04:00
Trevor Buckner
a2c4f604b3 Merge pull request #4193 from dbolack-ab/issue_4192
Resolve Issue 4192
2025-05-10 13:31:08 -04:00
Trevor Buckner
083e8c9b52 remove duplicate comment 2025-05-10 13:30:38 -04:00
David Bolack
d2a025ca41 Merge branch 'master' of github.com:naturalcrit/homebrewery 2025-05-10 12:27:33 -05:00
Trevor Buckner
181d6b7e0a Merge branch 'master' into pr/4193 2025-05-10 13:24:48 -04:00
Trevor Buckner
dd20fc8475 Revert "Revert debris"
This reverts commit ab400b82d6.
2025-05-10 13:21:35 -04:00
David Bolack
33ea397915 Restore removed line and warn.
Yeah, it's a bit extra.
2025-05-10 09:50:19 -05:00
Víctor Losada Hernández
320fb02543 remove empty lines in css 2025-05-09 20:44:59 +02:00
Víctor Losada Hernández
e127a6a557 refactor the theme 2025-05-09 20:42:23 +02:00
Víctor Losada Hernández
e774dfd97d change darkbrewery's name 2025-05-09 20:42:16 +02:00
Víctor Losada Hernández
1dcea0fe6a fix snippet editor button tooltip 2025-05-09 20:42:01 +02:00
dependabot[bot]
5395a759ed Bump idb-keyval from 6.2.1 to 6.2.2
Bumps [idb-keyval](https://github.com/jakearchibald/idb-keyval) from 6.2.1 to 6.2.2.
- [Changelog](https://github.com/jakearchibald/idb-keyval/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jakearchibald/idb-keyval/compare/v6.2.1...v6.2.2)

---
updated-dependencies:
- dependency-name: idb-keyval
  dependency-version: 6.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-09 13:32:48 +00:00
Trevor Buckner
8f470fb000 Merge pull request #4188 from naturalcrit/dependabot/npm_and_yarn/react-router-7.6.0
Bump react-router from 7.5.3 to 7.6.0
2025-05-09 09:31:27 -04:00
Trevor Buckner
90c375a5c8 Merge pull request #4184 from dbolack-ab/GMB_Compats_1
Allow \pagebreak and \columnbreak compatibility for GMB users
2025-05-09 09:31:17 -04:00
Trevor Buckner
e8cc4a0c58 Merge branch 'master' into GMB_Compats_1 2025-05-09 09:29:12 -04:00
dependabot[bot]
cf68cc46ad Bump react-router from 7.5.3 to 7.6.0
Bumps [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) from 7.5.3 to 7.6.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router@7.6.0/packages/react-router)

---
updated-dependencies:
- dependency-name: react-router
  dependency-version: 7.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-09 13:24:37 +00:00
Trevor Buckner
653e20b4e4 Merge pull request #4189 from naturalcrit/dependabot/npm_and_yarn/mongoose-8.14.2
Bump mongoose from 8.14.1 to 8.14.2
2025-05-09 09:23:15 -04:00
dependabot[bot]
e97d45e5b5 Bump mongoose from 8.14.1 to 8.14.2
Bumps [mongoose](https://github.com/Automattic/mongoose) from 8.14.1 to 8.14.2.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Automattic/mongoose/compare/8.14.1...8.14.2)

---
updated-dependencies:
- dependency-name: mongoose
  dependency-version: 8.14.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-09 03:28:37 +00:00
Trevor Buckner
691cd048e2 Merge pull request #4161 from naturalcrit/dependabot/npm_and_yarn/googleapis/drive-12.0.0
Bump @googleapis/drive from 11.0.0 to 12.0.0
2025-05-08 11:25:10 -04:00
Trevor Buckner
5071105f8c Merge pull request #4187 from naturalcrit/dependabot/npm_and_yarn/globals-16.1.0
Bump globals from 16.0.0 to 16.1.0
2025-05-08 00:12:04 -04:00
dependabot[bot]
9cd009e89b Bump globals from 16.0.0 to 16.1.0
Bumps [globals](https://github.com/sindresorhus/globals) from 16.0.0 to 16.1.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v16.0.0...v16.1.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 16.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-08 04:00:08 +00:00
Trevor Buckner
acaf293c7c Merge branch 'master' into dependabot/npm_and_yarn/googleapis/drive-12.0.0 2025-05-07 16:57:30 -04:00
Trevor Buckner
79503dd17f Merge pull request #4156 from 5e-Cleric/toolbar-few-fixes
toolbar, small fixes
2025-05-07 16:34:08 -04:00
dependabot[bot]
485b6a0041 Bump @googleapis/drive from 11.0.0 to 12.0.0
Bumps [@googleapis/drive](https://github.com/googleapis/google-api-nodejs-client) from 11.0.0 to 12.0.0.
- [Release notes](https://github.com/googleapis/google-api-nodejs-client/releases)
- [Changelog](https://github.com/googleapis/google-api-nodejs-client/blob/12.0.0/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-api-nodejs-client/compare/11.0.0...12.0.0)

---
updated-dependencies:
- dependency-name: "@googleapis/drive"
  dependency-version: 12.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 20:27:44 +00:00
Trevor Buckner
983781303b Merge branch 'master' into toolbar-few-fixes 2025-05-07 16:27:29 -04:00
Trevor Buckner
9c8e03f961 Merge pull request #4181 from naturalcrit/dependabot/npm_and_yarn/react-router-7.5.3
Bump react-router from 7.5.1 to 7.5.3
2025-05-07 16:26:28 -04:00
Víctor Losada Hernández
a298288888 Merge branch 'master' into toolbar-few-fixes 2025-05-07 21:38:46 +02:00
dependabot[bot]
c48703aed5 Bump react-router from 7.5.1 to 7.5.3
Bumps [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) from 7.5.1 to 7.5.3.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router@7.5.3/packages/react-router)

---
updated-dependencies:
- dependency-name: react-router
  dependency-version: 7.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 19:05:23 +00:00
Trevor Buckner
09000bd20f Merge pull request #4173 from naturalcrit/dependabot/npm_and_yarn/babel/plugin-transform-runtime-7.27.1
Bump @babel/plugin-transform-runtime from 7.26.10 to 7.27.1
2025-05-07 15:03:59 -04:00
Trevor Buckner
237caa84f7 Merge branch 'master' into dependabot/npm_and_yarn/babel/plugin-transform-runtime-7.27.1 2025-05-07 15:00:43 -04:00
Trevor Buckner
d292d60ee9 Merge pull request #4172 from naturalcrit/dependabot/npm_and_yarn/core-js-3.42.0
Bump core-js from 3.41.0 to 3.42.0
2025-05-07 15:00:27 -04:00
dependabot[bot]
395e406d65 Bump @babel/plugin-transform-runtime from 7.26.10 to 7.27.1
Bumps [@babel/plugin-transform-runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-runtime) from 7.26.10 to 7.27.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.27.1/packages/babel-plugin-transform-runtime)

---
updated-dependencies:
- dependency-name: "@babel/plugin-transform-runtime"
  dependency-version: 7.27.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 18:52:34 +00:00
Trevor Buckner
806c3f63bb Merge branch 'master' into dependabot/npm_and_yarn/core-js-3.42.0 2025-05-07 14:51:56 -04:00
Trevor Buckner
4a296809a0 Merge pull request #4175 from naturalcrit/dependabot/npm_and_yarn/babel/preset-react-7.27.1
Bump @babel/preset-react from 7.26.3 to 7.27.1
2025-05-07 14:51:18 -04:00
dependabot[bot]
f8361fa141 Bump core-js from 3.41.0 to 3.42.0
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.41.0 to 3.42.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.42.0/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-version: 3.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 18:43:22 +00:00
Trevor Buckner
8542056d6e Merge branch 'master' into dependabot/npm_and_yarn/babel/preset-react-7.27.1 2025-05-07 14:42:30 -04:00
Trevor Buckner
f23be91b6d Merge pull request #4174 from naturalcrit/dependabot/npm_and_yarn/babel/core-7.27.1
Bump @babel/core from 7.26.10 to 7.27.1
2025-05-07 14:41:59 -04:00
dependabot[bot]
f810bea4c8 Bump @babel/preset-react from 7.26.3 to 7.27.1
Bumps [@babel/preset-react](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-react) from 7.26.3 to 7.27.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.27.1/packages/babel-preset-react)

---
updated-dependencies:
- dependency-name: "@babel/preset-react"
  dependency-version: 7.27.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 18:37:10 +00:00
dependabot[bot]
42136b89fd Bump @babel/core from 7.26.10 to 7.27.1
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.26.10 to 7.27.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.27.1/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-version: 7.27.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 18:37:04 +00:00
Trevor Buckner
eb604d9201 Merge pull request #4182 from naturalcrit/dependabot/npm_and_yarn/eslint-9.26.0
Bump eslint from 9.25.1 to 9.26.0
2025-05-07 14:35:43 -04:00
dependabot[bot]
e341069196 Bump eslint from 9.25.1 to 9.26.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.25.1 to 9.26.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.25.1...v9.26.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.26.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 18:32:37 +00:00
Trevor Buckner
3a54ac9d7d Merge pull request #4164 from naturalcrit/dependabot/npm_and_yarn/marked-15.0.11
Bump marked from 15.0.9 to 15.0.11
2025-05-07 14:31:10 -04:00
Trevor Buckner
42d8c1b33f Merge branch 'master' into dependabot/npm_and_yarn/marked-15.0.11 2025-05-07 14:27:58 -04:00
Trevor Buckner
f700620373 Merge pull request #4167 from naturalcrit/dependabot/npm_and_yarn/stylelint-16.19.1
Bump stylelint from 16.18.0 to 16.19.1
2025-05-07 14:27:46 -04:00
dependabot[bot]
0f059bce66 Bump stylelint from 16.18.0 to 16.19.1
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.18.0 to 16.19.1.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.18.0...16.19.1)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-version: 16.19.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 17:21:48 +00:00
Trevor Buckner
0eb68aaf72 Merge pull request #4183 from naturalcrit/dependabot/npm_and_yarn/superagent-10.2.1
Bump superagent from 10.2.0 to 10.2.1
2025-05-07 13:20:24 -04:00
Trevor Buckner
b9f825c168 Merge branch 'master' into dependabot/npm_and_yarn/marked-15.0.11 2025-05-07 13:20:10 -04:00
Víctor Losada Hernández
58c2504394 Merge branch 'toolbar-few-fixes' of https://github.com/5e-Cleric/homebrewery into toolbar-few-fixes 2025-05-07 12:01:16 +02:00
Víctor Losada Hernández
a9aadbfef9 Merge branch 'master' of https://github.com/naturalcrit/homebrewery into toolbar-few-fixes 2025-05-07 12:01:09 +02:00
Víctor Losada Hernández
dae5922fd0 Merge branch 'master' into toolbar-few-fixes 2025-05-07 12:00:46 +02:00
Víctor Losada Hernández
5fb20991bb fix ttolbar visibility storage 2025-05-07 11:57:51 +02:00
Víctor Losada Hernández
75fe7b2c67 increase visibility of toolbar toggle 2025-05-07 11:57:41 +02:00
David Bolack
ab400b82d6 Revert debris 2025-05-06 16:36:19 -05:00
David Bolack
6867cb5a4a Clear up debris that was on the wrong branch 2025-05-06 16:35:53 -05:00
David Bolack
742de8582c Allow pagebreak and columnbreak compatibility 2025-05-06 16:27:55 -05:00
David Bolack
600ff5f367 Merge branch 'master' of github.com:naturalcrit/homebrewery 2025-05-06 16:14:02 -05:00
dependabot[bot]
e751facf32 Bump superagent from 10.2.0 to 10.2.1
Bumps [superagent](https://github.com/ladjs/superagent) from 10.2.0 to 10.2.1.
- [Release notes](https://github.com/ladjs/superagent/releases)
- [Changelog](https://github.com/ladjs/superagent/blob/master/HISTORY.md)
- [Commits](https://github.com/ladjs/superagent/compare/v10.2.0...v10.2.1)

---
updated-dependencies:
- dependency-name: superagent
  dependency-version: 10.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-06 03:36:49 +00:00
Víctor Losada Hernández
959d5fb6c9 Merge pull request #4169 from dbolack-ab/self-host-fa
Localise out Fontawesome use.
2025-05-06 00:28:26 +02:00
Víctor Losada Hernández
3456d503b2 Merge branch 'master' into self-host-fa 2025-05-06 00:25:16 +02:00
David Bolack
9ef291a8ae Verbage change 2025-05-05 08:53:47 -05:00
David Bolack
ff174870e2 Merge branch 'master' of github.com:naturalcrit/homebrewery 2025-05-05 08:52:23 -05:00
Víctor Losada Hernández
a015714d5e Merge pull request #4178 from naturalcrit/template-metadata-brew
Add author as metadata for link unfurling
2025-05-03 00:32:01 +02:00
Víctor Losada Hernández
9bcab7b82b Merge branch 'master' into template-metadata-brew 2025-05-02 21:28:59 +02:00
dependabot[bot]
bc0cb0d0be Bump marked from 15.0.9 to 15.0.11
Bumps [marked](https://github.com/markedjs/marked) from 15.0.9 to 15.0.11.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json)
- [Commits](https://github.com/markedjs/marked/compare/v15.0.9...v15.0.11)

---
updated-dependencies:
- dependency-name: marked
  dependency-version: 15.0.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-02 18:51:01 +00:00
Víctor Losada Hernández
ce4299a1f0 Merge pull request #4158 from G-Ambatte/fixNavigationScrollError-#4157
Change page overflow from hidden to clip
2025-05-02 20:50:27 +02:00
Víctor Losada Hernández
398e985e65 Merge branch 'master' into fixNavigationScrollError-#4157 2025-05-02 20:50:13 +02:00
Trevor Buckner
a5f597f598 Merge pull request #4149 from naturalcrit/dependabot/npm_and_yarn/react-router-7.5.1
Bump react-router from 7.5.0 to 7.5.1
2025-05-02 14:49:43 -04:00
Víctor Losada Hernández
beb7ecd0a9 Merge branch 'master' into fixNavigationScrollError-#4157 2025-05-02 20:46:34 +02:00
Trevor Buckner
ea625a0fbc Merge branch 'master' into dependabot/npm_and_yarn/react-router-7.5.1 2025-05-02 14:41:50 -04:00
Trevor Buckner
932120883b Merge pull request #4171 from naturalcrit/dependabot/npm_and_yarn/mongoose-8.14.1
Bump mongoose from 8.13.2 to 8.14.1
2025-05-02 14:41:07 -04:00
Víctor Losada Hernández
b29406da8b Merge branch 'master' into fixNavigationScrollError-#4157 2025-05-02 20:34:09 +02:00
Víctor Losada Hernández
4cc2d429c5 try to pass it as title 2025-05-02 17:15:24 +02:00
Víctor Losada Hernández
77563d12a6 Merge branch 'master' of https://github.com/naturalcrit/homebrewery into template-metadata-brew 2025-05-02 17:11:02 +02:00
Víctor Losada Hernández
b914bf3bf5 simple as cake 2025-05-02 17:09:09 +02:00
David Bolack
44713eda4e Might work? 2025-04-29 23:20:06 -05:00
dependabot[bot]
e552282299 Bump mongoose from 8.13.2 to 8.14.1
Bumps [mongoose](https://github.com/Automattic/mongoose) from 8.13.2 to 8.14.1.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Automattic/mongoose/compare/8.13.2...8.14.1)

---
updated-dependencies:
- dependency-name: mongoose
  dependency-version: 8.14.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-30 03:28:34 +00:00
David Bolack
5ee1cf6aa5 Localise out Fontawesome use. 2025-04-29 19:17:40 -05:00
Trevor Buckner
1295f635dc Merge branch 'master' into dependabot/npm_and_yarn/react-router-7.5.1 2025-04-22 14:00:53 -04:00
Trevor Buckner
60142d9467 Merge pull request #4159 from naturalcrit/dependabot/npm_and_yarn/marked-15.0.9
Bump marked from 15.0.8 to 15.0.9
2025-04-22 13:57:56 -04:00
dependabot[bot]
6dc4355972 Bump marked from 15.0.8 to 15.0.9
Bumps [marked](https://github.com/markedjs/marked) from 15.0.8 to 15.0.9.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json)
- [Commits](https://github.com/markedjs/marked/compare/v15.0.8...v15.0.9)

---
updated-dependencies:
- dependency-name: marked
  dependency-version: 15.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-22 13:46:13 +00:00
Trevor Buckner
555a26f0d6 Merge pull request #4160 from naturalcrit/dependabot/npm_and_yarn/eslint-9.25.1
Bump eslint from 9.25.0 to 9.25.1
2025-04-22 09:44:51 -04:00
dependabot[bot]
abce7d8531 Bump eslint from 9.25.0 to 9.25.1
Bumps [eslint](https://github.com/eslint/eslint) from 9.25.0 to 9.25.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.25.0...v9.25.1)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.25.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-22 03:31:44 +00:00
Víctor Losada Hernández
678d981121 Merge branch 'master' of https://github.com/naturalcrit/homebrewery into toolbar-few-fixes 2025-04-22 00:45:52 +02:00
Víctor Losada Hernández
32f8c18adc Merge branch 'store-toolbar-state-in-storage' of https://github.com/naturalcrit/homebrewery into toolbar-few-fixes 2025-04-22 00:43:09 +02:00
Víctor Losada Hernández
0aead96dcf fix columnGap 2025-04-22 00:42:48 +02:00
G.Ambatte
c238094e4c Change page overflow from hidden to clip 2025-04-22 10:28:35 +12:00
Trevor Buckner
657eeea4d5 Merge pull request #4155 from naturalcrit/dependabot/npm_and_yarn/eslint-9.25.0
Bump eslint from 9.24.0 to 9.25.0
2025-04-21 16:51:46 -04:00
Víctor Losada Hernández
1e34e85aab actually fix it 2025-04-21 22:23:55 +02:00
Víctor Losada Hernández
b747968e74 fixing toFit to actually fit in any mode 2025-04-21 22:17:52 +02:00
Víctor Losada Hernández
25629173c9 Merge branch 'store-toolbar-state-in-storage' of https://github.com/naturalcrit/homebrewery into toolbar-few-fixes 2025-04-21 20:45:54 +02:00
Víctor Losada Hernández
96642c07d3 initial attempt at facing width button 2025-04-21 20:45:48 +02:00
Víctor Losada Hernández
2bd0f909f3 fix snippetbar being eaten 2025-04-21 20:45:36 +02:00
Víctor Losada Hernández
9b4047f3f9 small css changes 2025-04-21 20:12:42 +02:00
dependabot[bot]
91e2916199 Bump eslint from 9.24.0 to 9.25.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.24.0 to 9.25.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.24.0...v9.25.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.25.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 03:46:54 +00:00
Trevor Buckner
3fcc677f96 Merge branch 'master' into dependabot/npm_and_yarn/react-router-7.5.1 2025-04-19 21:32:21 -04:00
Trevor Buckner
3f77e32550 Merge pull request #4147 from G-Ambatte/fixFacingFlowPrintIssues
Add print-specific styling for facing and flow page layouts
2025-04-18 07:50:27 -04:00
dependabot[bot]
c4903c4993 Bump react-router from 7.5.0 to 7.5.1
Bumps [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) from 7.5.0 to 7.5.1.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router@7.5.1/packages/react-router)

---
updated-dependencies:
- dependency-name: react-router
  dependency-version: 7.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-18 03:47:56 +00:00
Trevor Buckner
630f9002aa Merge branch 'master' into fixFacingFlowPrintIssues 2025-04-17 15:40:13 -04:00
Trevor Buckner
aea7809fbd Merge pull request #4049 from dbolack-ab/marked-definition-lists
Move Definition Lists extensions to NPM
2025-04-17 15:38:46 -04:00
Trevor Buckner
30e644d5e0 Merge branch 'marked-definition-lists' of https://github.com/dbolack-ab/homebrewery into pr/4049 2025-04-17 15:35:01 -04:00
Trevor Buckner
fe2f5a405c Update package-lock.json 2025-04-17 15:31:25 -04:00
Trevor Buckner
07a1890ed9 Merge branch 'master' into pr/4049 2025-04-17 15:18:40 -04:00
G.Ambatte
fc400c226c Merge branch 'master' into fixFacingFlowPrintIssues 2025-04-16 10:31:45 +12:00
Trevor Buckner
8e3ccec855 Remove old references to extensions 2025-04-15 15:29:53 -04:00
Trevor Buckner
25c09bc241 Merge branch 'master' into marked-definition-lists 2025-04-15 13:57:57 -04:00
Trevor Buckner
0eaba3de01 Merge pull request #4145 from naturalcrit/dependabot/npm_and_yarn/nconf-0.13.0
Bump nconf from 0.12.1 to 0.13.0
2025-04-15 13:01:23 -04:00
Trevor Buckner
ece1a7e9a7 Merge branch 'master' into dependabot/npm_and_yarn/nconf-0.13.0 2025-04-15 11:47:33 -04:00
Trevor Buckner
2ef7a1521b Merge pull request #4148 from naturalcrit/rebuildPackageLock
Rebuild package-lock
2025-04-15 11:47:20 -04:00
G.Ambatte
8f4c74d0ce Add print-specific styling for facing and flow page layouts 2025-04-15 19:36:35 +12:00
dependabot[bot]
2589e6d919 Bump nconf from 0.12.1 to 0.13.0
Bumps [nconf](https://github.com/flatiron/nconf) from 0.12.1 to 0.13.0.
- [Release notes](https://github.com/flatiron/nconf/releases)
- [Changelog](https://github.com/indexzero/nconf/blob/v0.13.0/CHANGELOG.md)
- [Commits](https://github.com/flatiron/nconf/compare/v0.12.1...v0.13.0)

---
updated-dependencies:
- dependency-name: nconf
  dependency-version: 0.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 21:36:06 +00:00
David Bolack
b7a7446f75 Merge branch 'master' into marked-definition-lists 2025-04-08 21:43:14 -05:00
Víctor Losada Hernández
551763fecb initial commit 2025-03-19 14:04:29 +01:00
David Bolack
4b9b1ec9ac Merge branch 'master' into marked-definition-lists 2025-03-05 10:36:50 -06:00
David Bolack
01f075d3f5 Merge branch 'master' into marked-definition-lists 2025-02-28 17:06:44 -06:00
David Bolack
de18a53efe Update markd-definition-lists 2025-02-28 17:03:51 -06:00
David Bolack
caca578709 Merge branch 'master' into marked-definition-lists 2025-02-28 00:00:47 -06:00
David Bolack
09ac8b8a32 Move definition list tokens to an extension 2025-02-12 22:57:53 -06:00
32 changed files with 8953 additions and 972 deletions

View File

@@ -64,9 +64,6 @@ jobs:
- run: - run:
name: Test - Mustache Spans name: Test - Mustache Spans
command: npm run test:mustache-syntax command: npm run test:mustache-syntax
- run:
name: Test - Definition Lists
command: npm run test:definition-lists
- run: - run:
name: Test - Hard Breaks name: Test - Hard Breaks
command: npm run test:hard-breaks command: npm run test:hard-breaks

View File

@@ -88,24 +88,70 @@ pre {
## changelog ## changelog
For a full record of development, visit our [Github Page](https://github.com/naturalcrit/homebrewery). For a full record of development, visit our [Github Page](https://github.com/naturalcrit/homebrewery).
### Tuesday 03/18/2025 - v3.18.1 ### Thursday 05/22/2025 - v3.19.0
{{taskList {{taskList
##### abquintic
* [x] Fix crash due to colons after `\page`
Fixes issue [#4105](https://github.com/naturalcrit/homebrewery/issues/4105)
* [x] Fix images with spaces in alt text not rendering
Fixes issue [#3659](https://github.com/naturalcrit/homebrewery/issues/3659)
* [x] Custom snippets! Open the new {{openSans **:fas_table_list: SNIPPETS**}} tab (next to the {{openSans **:fas_paintbrush: STYLE**}} tab). Custom snippets will appear in a new snippet dropdown, and will be included when imported as a custom theme.
* [x] Move several generic styles/snippets from PHB to the Blank theme; generic snippets like image masks no longer require the PHB theme.
* [x] Extract several Markdown+ syntax extensions into their own NPM packages, for use by the wider community.
* [x] Allow `\pagebreak` and `\columnbreak` as alternatives to `\page` and `\column`
Partially fixes issue [#4035](https://github.com/naturalcrit/homebrewery/issues/4035)
* [x] Fix misbehaving column breaks on old Chrome
Fixes issue [#4192](https://github.com/naturalcrit/homebrewery/issues/4192)
* [x] Self-host font-awesome icons; fix missing icons on local installs
Fixes issue [#1965](https://github.com/naturalcrit/homebrewery/issues/1965)
Fixes issue [#1548](https://github.com/naturalcrit/homebrewery/issues/1548)
##### G-Ambatte ##### G-Ambatte
* [x] Revert colon rendering from br elements to blank divs * [x] Fix CORS issue on local installs
* [x] Fix print size issues when using the Facing and Flow view options.
Fixes issue [#4146](https://github.com/naturalcrit/homebrewery/issues/4146)
* [x] New built-in `$[HB_pageNumber]` variable. Works with math operations or can be reassigned like any other variable for more customization over the old `{{pageNumber,auto}}` snippet.\
New snippet found at {{openSans **:fas_pencil: TEXT EDITOR :fas_arrow_right: :fas_bookmark: PAGE NUMBERING :fas_arrow_right: :fas_arrow_down_1_9: VARIABLE AUTO PAGE NUMBER**}}
##### 5e-Cleric ##### 5e-Cleric
* [x] Allow for local connections within a same network when running a local version * [x] Fix search bar covering up snippet bar
Fixes issue [#4094](https://github.com/naturalcrit/homebrewery/issues/4094)
Fixes issue [#4098](https://github.com/naturalcrit/homebrewery/issues/4098)
* [x] Save view toolbar settings across sessions
Fixes issue [#3835](https://github.com/naturalcrit/homebrewery/issues/3835)
* [x] Fix styling issues on the view toolbar
* [x] Update the Darkbrewery editor theme
Fixes issue [#3312](https://github.com/naturalcrit/homebrewery/issues/3312)
* [x] Add US Letter size page snippet
Fixes issue [#3893](https://github.com/naturalcrit/homebrewery/issues/3893)
}} }}
\page
### Monday 03/10/2025 - v3.18.0 ### Monday 03/10/2025 - v3.18.0
{{taskList {{taskList
##### dbolack ##### abquintic
* [x] Add ability to paste in any Share ID/URL into a brew's {{openSans :fas_circle_info: **Properties** :fas_arrow_right: **THEMES**}} selection, as long as that brew has been tagged as `meta:theme`. You can now share your custom brew themes without needing to make a personal copy. * [x] Add ability to paste in any Share ID/URL into a brew's {{openSans :fas_circle_info: **Properties** :fas_arrow_right: **THEMES**}} selection, as long as that brew has been tagged as `meta:theme`. You can now share your custom brew themes without needing to make a personal copy.
* [x] Begin migration of custom Markdown extensions into their own NPM packages, for easier adoption by other users or projects * [x] Begin migration of custom Markdown extensions into their own NPM packages, for easier adoption by other users or projects
* [x] Fix external HTML appearing in open codeblocks * [x] Fix external HTML appearing in open codeblocks
@@ -167,7 +213,7 @@ Fixes issue [#4073](https://github.com/naturalcrit/homebrewery/issues/4073)
* [x] Fix Reddit link crash when title has non-latin chars * [x] Fix Reddit link crash when title has non-latin chars
##### dbolack ##### abquintic
* [x] Fix page shadows toolbar option * [x] Fix page shadows toolbar option

View File

@@ -19,12 +19,11 @@ const { printCurrentBrew } = require('../../../shared/helpers.js');
import HeaderNav from './headerNav/headerNav.jsx'; import HeaderNav from './headerNav/headerNav.jsx';
import { safeHTML } from './safeHTML.js'; import { safeHTML } from './safeHTML.js';
const PAGEBREAK_REGEX_V3 = /^(?=\\page(?: *{[^\n{}]*})?$)/m; const PAGEBREAK_REGEX_V3 = /^(?=\\page(?:break)?(?: *{[^\n{}]*})?$)/m;
const PAGE_HEIGHT = 1056; const PAGE_HEIGHT = 1056;
const INITIAL_CONTENT = dedent` const INITIAL_CONTENT = dedent`
<!DOCTYPE html><html><head> <!DOCTYPE html><html><head>
<link href="//use.fontawesome.com/releases/v6.5.1/css/all.css" rel="stylesheet" type="text/css" />
<link href="//fonts.googleapis.com/css?family=Open+Sans:400,300,600,700" rel="stylesheet" type="text/css" /> <link href="//fonts.googleapis.com/css?family=Open+Sans:400,300,600,700" rel="stylesheet" type="text/css" />
<link href='/homebrew/bundle.css' type="text/css" rel='stylesheet' /> <link href='/homebrew/bundle.css' type="text/css" rel='stylesheet' />
<base target=_blank> <base target=_blank>
@@ -117,6 +116,13 @@ const BrewRenderer = (props)=>{
pageShadows : true pageShadows : true
}); });
//useEffect to store or gather toolbar state from storage
useEffect(()=>{
const toolbarState = JSON.parse(window.localStorage.getItem('hb_toolbarState'));
console.log('toolbar state:', toolbarState);
toolbarState && setDisplayOptions(toolbarState);
}, []);
const [headerState, setHeaderState] = useState(false); const [headerState, setHeaderState] = useState(false);
const mainRef = useRef(null); const mainRef = useRef(null);
@@ -196,6 +202,9 @@ const BrewRenderer = (props)=>{
pageText = pageText.includes('\n') ? pageText.substring(pageText.indexOf('\n') + 1) : ''; // Remove the \page line pageText = pageText.includes('\n') ? pageText.substring(pageText.indexOf('\n') + 1) : ''; // Remove the \page line
} }
// DO NOT REMOVE!!! REQUIRED FOR BACKWARDS COMPATIBILITY WITH NON-UPGRADABLE VERSIONS OF CHROME.
pageText += `\n\n&nbsp;\n\\column\n&nbsp;`; //Artificial column break at page end to emulate column-fill:auto (until `wide` is used, when column-fill:balance will reappear)
const html = Markdown.render(pageText, index); const html = Markdown.render(pageText, index);
return <BrewPage className={classes} index={index} key={index} contents={html} style={styles} attributes={attributes} onVisibilityChange={handlePageVisibilityChange} />; return <BrewPage className={classes} index={index} key={index} contents={html} style={styles} attributes={attributes} onVisibilityChange={handlePageVisibilityChange} />;
@@ -271,6 +280,7 @@ const BrewRenderer = (props)=>{
const handleDisplayOptionsChange = (newDisplayOptions)=>{ const handleDisplayOptionsChange = (newDisplayOptions)=>{
setDisplayOptions(newDisplayOptions); setDisplayOptions(newDisplayOptions);
localStorage.setItem('hb_toolbarState', JSON.stringify(newDisplayOptions));
}; };
const pagesStyle = { const pagesStyle = {

View File

@@ -68,12 +68,16 @@
@media print { @media print {
.toolBar { display : none; } .toolBar { display : none; }
.brewRenderer { .brewRenderer {
height : 100%; height : 100%;
padding-top : unset; padding : unset;
overflow-y : unset; overflow-y : unset;
&:has(.facing, .flow) {
padding : unset;
}
.pages { .pages {
margin : 0px; margin : 0px;
zoom : 100% !important; zoom : 100% !important;
display : block;
& > .page { box-shadow : unset; } & > .page { box-shadow : unset; }
} }
} }

View File

@@ -20,6 +20,11 @@ const ToolBar = ({ displayOptions, onDisplayOptionsChange, visiblePages, totalPa
setPageNum(pageRange); setPageNum(pageRange);
}, [visiblePages]); }, [visiblePages]);
useEffect(()=>{
const visibility = localStorage.getItem('hb_toolbarVisibility') === 'true';
setToolsVisible(visibility);
}, []);
const handleZoomButton = (zoom)=>{ const handleZoomButton = (zoom)=>{
handleOptionChange('zoomLevel', _.round(_.clamp(zoom, MIN_ZOOM, MAX_ZOOM))); handleOptionChange('zoomLevel', _.round(_.clamp(zoom, MIN_ZOOM, MAX_ZOOM)));
}; };
@@ -55,15 +60,30 @@ const ToolBar = ({ displayOptions, onDisplayOptionsChange, visiblePages, totalPa
// find widest page, in case pages are different widths, so that the zoom is adapted to not cut the widest page off screen. // find widest page, in case pages are different widths, so that the zoom is adapted to not cut the widest page off screen.
const widestPage = _.maxBy([...pages], 'offsetWidth').offsetWidth; const widestPage = _.maxBy([...pages], 'offsetWidth').offsetWidth;
desiredZoom = (iframeWidth / widestPage) * 100; if(displayOptions.spread === 'facing')
desiredZoom = (iframeWidth / ((widestPage * 2) + parseInt(displayOptions.columnGap))) * 100;
else
desiredZoom = (iframeWidth / (widestPage + 20)) * 100;
} else if(mode == 'fit'){ } else if(mode == 'fit'){
let minDimRatio;
// find the page with the largest single dim (height or width) so that zoom can be adapted to fit it. // find the page with the largest single dim (height or width) so that zoom can be adapted to fit it.
if(displayOptions.spread === 'facing') let minDimRatio;
minDimRatio = [...pages].reduce((minRatio, page)=>Math.min(minRatio, iframeWidth / page.offsetWidth / 2), Infinity); // if 'facing' spread, fit two pages in view if(displayOptions.spread === 'active')
minDimRatio = [...pages].reduce(
(minRatio, page)=>Math.min(minRatio,
iframeWidth / page.offsetWidth,
iframeHeight / page.offsetHeight
),
Infinity
);
else else
minDimRatio = [...pages].reduce((minRatio, page)=>Math.min(minRatio, iframeWidth / page.offsetWidth, iframeHeight / page.offsetHeight), Infinity); minDimRatio = [...pages].reduce(
(minRatio, page)=>Math.min(minRatio,
iframeWidth / ((page.offsetWidth * 2) + parseInt(displayOptions.columnGap)),
iframeHeight / page.offsetHeight
),
Infinity
);
desiredZoom = minDimRatio * 100; desiredZoom = minDimRatio * 100;
} }
@@ -77,7 +97,10 @@ const ToolBar = ({ displayOptions, onDisplayOptionsChange, visiblePages, totalPa
return ( return (
<div id='preview-toolbar' className={`toolBar ${toolsVisible ? 'visible' : 'hidden'}`} role='toolbar'> <div id='preview-toolbar' className={`toolBar ${toolsVisible ? 'visible' : 'hidden'}`} role='toolbar'>
<div className='toggleButton'> <div className='toggleButton'>
<button title={`${toolsVisible ? 'Hide' : 'Show'} Preview Toolbar`} onClick={()=>{setToolsVisible(!toolsVisible);}}><i className='fas fa-glasses' /></button> <button title={`${toolsVisible ? 'Hide' : 'Show'} Preview Toolbar`} onClick={()=>{
setToolsVisible(!toolsVisible);
localStorage.setItem('hb_toolbarVisibility', !toolsVisible);
}}><i className='fas fa-glasses' /></button>
<button title={`${headerState ? 'Hide' : 'Show'} Header Navigation`} onClick={()=>{setHeaderState(!headerState);}}><i className='fas fa-rectangle-list' /></button> <button title={`${headerState ? 'Hide' : 'Show'} Header Navigation`} onClick={()=>{setHeaderState(!headerState);}}><i className='fas fa-rectangle-list' /></button>
</div> </div>
{/*v=====----------------------< Zoom Controls >---------------------=====v*/} {/*v=====----------------------< Zoom Controls >---------------------=====v*/}
@@ -167,11 +190,11 @@ const ToolBar = ({ displayOptions, onDisplayOptionsChange, visiblePages, totalPa
<h1>Options</h1> <h1>Options</h1>
<label title='Modify the horizontal space between pages.'> <label title='Modify the horizontal space between pages.'>
Column gap Column gap
<input type='range' min={0} max={200} defaultValue={10} className='range-input' onChange={(evt)=>handleOptionChange('columnGap', evt.target.value)} /> <input type='range' min={0} max={200} defaultValue={displayOptions.columnGap || 10} className='range-input' onChange={(evt)=>handleOptionChange('columnGap', evt.target.value)} />
</label> </label>
<label title='Modify the vertical space between rows of pages.'> <label title='Modify the vertical space between rows of pages.'>
Row gap Row gap
<input type='range' min={0} max={200} defaultValue={10} className='range-input' onChange={(evt)=>handleOptionChange('rowGap', evt.target.value)} /> <input type='range' min={0} max={200} defaultValue={displayOptions.rowGap || 10} className='range-input' onChange={(evt)=>handleOptionChange('rowGap', evt.target.value)} />
</label> </label>
<label title='Start 1st page on the right side, such as if you have cover page.'> <label title='Start 1st page on the right side, such as if you have cover page.'>
Start on right Start on right

View File

@@ -6,12 +6,12 @@
box-sizing : border-box; box-sizing : border-box;
display : flex; display : flex;
flex-wrap : wrap; flex-wrap : wrap;
gap : 8px 30px; gap : 8px 20px;
align-items : center; align-items : center;
justify-content : center; justify-content : center;
width : 100%; width : 100%;
height : auto; height : auto;
padding : 2px 0; padding : 2px 10px 2px 90px;
font-family : 'Open Sans', sans-serif; font-family : 'Open Sans', sans-serif;
font-size : 13px; font-size : 13px;
color : #CCCCCC; color : #CCCCCC;
@@ -153,7 +153,7 @@
align-items : center; align-items : center;
justify-content : center; justify-content : center;
width : auto; width : auto;
min-width : 46px; min-width : 40px;
height : 100%; height : 100%;
&:hover { background-color : #444444; } &:hover { background-color : #444444; }
&:focus {outline : none; border : 1px solid #D3D3D3;} &:focus {outline : none; border : 1px solid #D3D3D3;}
@@ -169,7 +169,7 @@
width : 92px; width : 92px;
overflow : hidden; overflow : hidden;
background-color : unset; background-color : unset;
opacity : 0.5; opacity : 0.7;
transition : all 0.3s ease; transition : all 0.3s ease;
& > *:not(.toggleButton) { & > *:not(.toggleButton) {
opacity : 0; opacity : 0;
@@ -183,7 +183,10 @@
left : 0; left : 0;
z-index : 5; z-index : 5;
display : flex; display : flex;
width : 32px;
min-width : unset;
height : 100%; height : 100%;
button i {
filter: drop-shadow(0 0 2px black) drop-shadow(0 0 1px black);
}
} }

View File

@@ -12,7 +12,7 @@ const MetadataEditor = require('./metadataEditor/metadataEditor.jsx');
const EDITOR_THEME_KEY = 'HOMEBREWERY-EDITOR-THEME'; const EDITOR_THEME_KEY = 'HOMEBREWERY-EDITOR-THEME';
const PAGEBREAK_REGEX_V3 = /^(?=\\page(?: *{[^\n{}]*})?$)/m; const PAGEBREAK_REGEX_V3 = /^(?=\\page(?:break)?(?: *{[^\n{}]*})?$)/m;
const SNIPPETBREAK_REGEX_V3 = /^\\snippet\ .*$/; const SNIPPETBREAK_REGEX_V3 = /^\\snippet\ .*$/;
const SNIPPETBAR_HEIGHT = 25; const SNIPPETBAR_HEIGHT = 25;
const DEFAULT_STYLE_TEXT = dedent` const DEFAULT_STYLE_TEXT = dedent`
@@ -211,7 +211,7 @@ const Editor = createClass({
// New Codemirror styling for V3 renderer // New Codemirror styling for V3 renderer
if(this.props.renderer === 'V3') { if(this.props.renderer === 'V3') {
if(line.match(/^\\column$/)){ if(line.match(/^\\column(?:break)?$/)){
codeMirror.addLineClass(lineNumber, 'text', 'columnSplit'); codeMirror.addLineClass(lineNumber, 'text', 'columnSplit');
} }

View File

@@ -110,6 +110,7 @@
} }
@container editor (width < 553px) { @container editor (width < 683px) {
.editor .codeEditor .CodeMirror { height : calc(100% - 51px);} .editor .codeEditor .CodeMirror { height : calc(100% - 51px);}
.homePage .editor .codeEditor .CodeMirror { height : calc(100% - 25px);}
} }

View File

@@ -51,7 +51,7 @@
&.meta { &.meta {
.tooltipLeft('Properties'); .tooltipLeft('Properties');
} }
&.snip { &.snippet {
.tooltipLeft('Snippets'); .tooltipLeft('Snippets');
} }
&.undo { &.undo {
@@ -93,7 +93,7 @@
&.editorTheme { &.editorTheme {
.tooltipLeft('Editor Themes'); .tooltipLeft('Editor Themes');
font-size : 0.75em; font-size : 0.75em;
color : black; color : inherit;
&.active { &.active {
position : relative; position : relative;
background-color : #999999; background-color : #999999;

View File

@@ -64,7 +64,7 @@
border-radius : 4px; border-radius : 4px;
&::before { &::before {
margin-right : 3px; margin-right : 3px;
font-family : 'Font Awesome 5 Free'; font-family : 'Font Awesome 6 Free';
font-size : 12px; font-size : 12px;
} }
&.type { &.type {

View File

@@ -30,7 +30,7 @@
h1:hover { cursor : pointer; } h1:hover { cursor : pointer; }
.active::before, .inactive::before { .active::before, .inactive::before {
padding-right : 0.5em; padding-right : 0.5em;
font-family : 'Font Awesome 5 Free'; font-family : 'Font Awesome 6 Free';
font-size : 0.6cm; font-size : 0.6cm;
font-weight : 900; font-weight : 900;
} }
@@ -130,12 +130,12 @@
border-radius : 3px; border-radius : 3px;
&::before { &::before {
margin-right : 3px; margin-right : 3px;
font-family : 'Font Awesome 5 Free'; font-family : 'Font Awesome 6 Free';
font-size : 12px; font-size : 12px;
} }
&::after { &::after {
margin-left : 3px; margin-left : 3px;
font-family : 'Font Awesome 5 Free'; font-family : 'Font Awesome 6 Free';
font-size : 12px; font-size : 12px;
content : '\f00d'; content : '\f00d';
} }

View File

@@ -28,7 +28,7 @@
background-color : #00000077; background-color : #00000077;
&::before { &::before {
margin-right : 5px; margin-right : 5px;
font-family : 'FONT AWESOME 5 FREE'; font-family : 'Font Awesome 6 Free';
content : '\f00c'; content : '\f00c';
} }
} }

View File

@@ -14,7 +14,6 @@ const template = async function(name, title='', props = {}){
<html> <html>
<head> <head>
<meta name="viewport" content="width=device-width, initial-scale=1, height=device-height, interactive-widget=resizes-visual" /> <meta name="viewport" content="width=device-width, initial-scale=1, height=device-height, interactive-widget=resizes-visual" />
<link href="//use.fontawesome.com/releases/v6.5.1/css/all.css" rel="stylesheet" type="text/css" />
<link href="//fonts.googleapis.com/css?family=Open+Sans:400,300,600,700" rel="stylesheet" type="text/css" /> <link href="//fonts.googleapis.com/css?family=Open+Sans:400,300,600,700" rel="stylesheet" type="text/css" />
<link href=${`/${name}/bundle.css`} type="text/css" rel='stylesheet' /> <link href=${`/${name}/bundle.css`} type="text/css" rel='stylesheet' />
<link rel="icon" href="/assets/favicon.ico" type="image/x-icon" /> <link rel="icon" href="/assets/favicon.ico" type="image/x-icon" />

View File

@@ -0,0 +1,3 @@
# About
Run `deploy.bash` to download, extract, and deploy the font awesome files into place for building. Should only be needed when Font Awesome version changes and we want the new version.

View File

@@ -0,0 +1,42 @@
#!/bin/bash
# Deploys the Font Awesome files for HB self-hosting to settle various issues.
THEURL=https://use.fontawesome.com/releases/v6.7.2/fontawesome-free-6.7.2-web.zip
THEFILE=fontawesome-free-6.7.2-web.zip
if [ ! "$(which wget)" ]; then
echo "Please manually download ${THEURL}"
exit -1
fi
wget ${THEURL}
if [ $? -ne 0 ]; then
echo "Error downloading ${THEURL}"
exit -2
fi
if [ ! "$(which unzip)" ]; then
echo "Please unzip the file with your tool of choice."
exit -3
fi
unzip fontawesome-free-6.7.2-web.zip
if [ $? -ne 0 ]; then
echo "Error extracting ${THEFILE}"
fi
echo "Copying fonts"
cp -rv fontawesome-free-*-web/webfonts/*.woff2 ../themes/fonts/iconFonts
echo "Copying and updating css"
echo "fontawesome-free.less"
sed 's/..\/webfonts/\/fonts\/iconFonts/g' fontawesome-free-*-web/css/fontawesome.css > ../themes/fonts/iconFonts/fontawesome-free.less
echo "fontawesome-solid.less"
sed 's/..\/webfonts/\/fonts\/iconFonts/g' fontawesome-free-*-web/css/solid.css > ../themes/fonts/iconFonts/fontawesome-solid.less
echo "fontawesome-brands.less"
sed 's/..\/webfonts/\/fonts\/iconFonts/g' fontawesome-free-*-web/css/brands.css > ../themes/fonts/iconFonts/fontawesome-brands.less
echo "fontawesome-regular.less"
sed 's/..\/webfonts/\/fonts\/iconFonts/g' fontawesome-free-*-web/css/regular.css > ../themes/fonts/iconFonts/fontawesome-regular.less

1403
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
{ {
"name": "homebrewery", "name": "homebrewery",
"description": "Create authentic looking D&D homebrews using only markdown", "description": "Create authentic looking D&D homebrews using only markdown",
"version": "3.18.1", "version": "3.19.0",
"type": "module", "type": "module",
"engines": { "engines": {
"npm": "^10.8.x", "npm": "^10.8.x",
@@ -36,7 +36,6 @@
"test:mustache-syntax:inline": "jest \".*(mustache-syntax).*\" -t '^Inline:.*' --verbose --noStackTrace", "test:mustache-syntax:inline": "jest \".*(mustache-syntax).*\" -t '^Inline:.*' --verbose --noStackTrace",
"test:mustache-syntax:block": "jest \".*(mustache-syntax).*\" -t '^Block:.*' --verbose --noStackTrace", "test:mustache-syntax:block": "jest \".*(mustache-syntax).*\" -t '^Block:.*' --verbose --noStackTrace",
"test:mustache-syntax:injection": "jest \".*(mustache-syntax).*\" -t '^Injection:.*' --verbose --noStackTrace", "test:mustache-syntax:injection": "jest \".*(mustache-syntax).*\" -t '^Injection:.*' --verbose --noStackTrace",
"test:definition-lists": "jest tests/markdown/definition-lists.test.js --verbose --noStackTrace",
"test:hard-breaks": "jest tests/markdown/hard-breaks.test.js --verbose --noStackTrace", "test:hard-breaks": "jest tests/markdown/hard-breaks.test.js --verbose --noStackTrace",
"test:non-breaking-spaces": "jest tests/markdown/non-breaking-spaces.test.js --verbose --noStackTrace", "test:non-breaking-spaces": "jest tests/markdown/non-breaking-spaces.test.js --verbose --noStackTrace",
"test:emojis": "jest tests/markdown/emojis.test.js --verbose --noStackTrace", "test:emojis": "jest tests/markdown/emojis.test.js --verbose --noStackTrace",
@@ -84,16 +83,17 @@
] ]
}, },
"dependencies": { "dependencies": {
"@babel/core": "^7.26.10", "@babel/core": "^7.27.1",
"@babel/plugin-transform-runtime": "^7.26.10", "@babel/plugin-transform-runtime": "^7.27.1",
"@babel/preset-env": "^7.26.9", "@babel/preset-env": "^7.27.2",
"@babel/preset-react": "^7.26.3", "@babel/preset-react": "^7.27.1",
"@googleapis/drive": "^11.0.0", "@babel/runtime": "^7.27.1",
"@googleapis/drive": "^12.1.0",
"body-parser": "^2.2.0", "body-parser": "^2.2.0",
"classnames": "^2.5.1", "classnames": "^2.5.1",
"codemirror": "^5.65.6", "codemirror": "^5.65.6",
"cookie-parser": "^1.4.7", "cookie-parser": "^1.4.7",
"core-js": "^3.41.0", "core-js": "^3.42.0",
"cors": "^2.8.5", "cors": "^2.8.5",
"create-react-class": "^15.7.0", "create-react-class": "^15.7.0",
"dedent-tabs": "^0.10.3", "dedent-tabs": "^0.10.3",
@@ -102,48 +102,49 @@
"express-async-handler": "^1.2.0", "express-async-handler": "^1.2.0",
"express-static-gzip": "2.2.0", "express-static-gzip": "2.2.0",
"fs-extra": "11.3.0", "fs-extra": "11.3.0",
"idb-keyval": "^6.2.1", "idb-keyval": "^6.2.2",
"js-yaml": "^4.1.0", "js-yaml": "^4.1.0",
"jwt-simple": "^0.5.6", "jwt-simple": "^0.5.6",
"less": "^3.13.1", "less": "^3.13.1",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"marked": "15.0.8", "marked": "15.0.12",
"marked-alignment-paragraphs": "^1.0.0",
"marked-definition-lists": "^1.0.1",
"marked-emoji": "^2.0.0", "marked-emoji": "^2.0.0",
"marked-extended-tables": "^2.0.1", "marked-extended-tables": "^2.0.1",
"marked-gfm-heading-id": "^4.0.1", "marked-gfm-heading-id": "^4.0.1",
"marked-alignment-paragraphs": "^1.0.0",
"marked-nonbreaking-spaces": "^1.0.1", "marked-nonbreaking-spaces": "^1.0.1",
"marked-smartypants-lite": "^1.0.3", "marked-smartypants-lite": "^1.0.3",
"marked-subsuper-text": "^1.0.3", "marked-subsuper-text": "^1.0.3",
"markedLegacy": "npm:marked@^0.3.19", "markedLegacy": "npm:marked@^0.3.19",
"moment": "^2.30.1", "moment": "^2.30.1",
"mongoose": "^8.13.2", "mongoose": "^8.14.3",
"nanoid": "5.1.5", "nanoid": "5.1.5",
"nconf": "^0.12.1", "nconf": "^0.13.0",
"react": "^18.3.1", "react": "^18.3.1",
"react-dom": "^18.3.1", "react-dom": "^18.3.1",
"react-frame-component": "^4.1.3", "react-frame-component": "^4.1.3",
"react-router": "^7.5.0", "react-router": "^7.6.0",
"romans": "^3.0.0", "romans": "^3.0.0",
"sanitize-filename": "1.6.3", "sanitize-filename": "1.6.3",
"superagent": "^10.2.0", "superagent": "^10.2.1",
"vitreum": "git+https://git@github.com/calculuschild/vitreum.git", "vitreum": "git+https://git@github.com/calculuschild/vitreum.git",
"written-number": "^0.11.1" "written-number": "^0.11.1"
}, },
"devDependencies": { "devDependencies": {
"@stylistic/stylelint-plugin": "^3.1.2", "@stylistic/stylelint-plugin": "^3.1.2",
"babel-plugin-transform-import-meta": "^2.3.2", "babel-plugin-transform-import-meta": "^2.3.2",
"eslint": "^9.24.0", "eslint": "^9.27.0",
"eslint-plugin-jest": "^28.11.0", "eslint-plugin-jest": "^28.11.0",
"eslint-plugin-react": "^7.37.5", "eslint-plugin-react": "^7.37.5",
"globals": "^16.0.0", "globals": "^16.1.0",
"jest": "^29.7.0", "jest": "^29.7.0",
"jest-expect-message": "^1.1.3", "jest-expect-message": "^1.1.3",
"jsdom-global": "^3.0.2", "jsdom-global": "^3.0.2",
"postcss-less": "^6.0.0", "postcss-less": "^6.0.0",
"stylelint": "^16.18.0", "stylelint": "^16.19.1",
"stylelint-config-recess-order": "^6.0.0", "stylelint-config-recess-order": "^6.0.0",
"stylelint-config-recommended": "^16.0.0", "stylelint-config-recommended": "^16.0.0",
"supertest": "^7.1.0" "supertest": "^7.1.1"
} }
} }

View File

@@ -433,7 +433,7 @@ app.get('/new', asyncHandler(async(req, res, next)=>{
app.get('/share/:id', asyncHandler(getBrew('share')), asyncHandler(async (req, res, next)=>{ app.get('/share/:id', asyncHandler(getBrew('share')), asyncHandler(async (req, res, next)=>{
const { brew } = req; const { brew } = req;
req.ogMeta = { ...defaultMetaTags, req.ogMeta = { ...defaultMetaTags,
title : req.brew.title || 'Untitled Brew', title : `${req.brew.title || 'Untitled Brew'} - ${req.brew.authors[0] || 'No author.'}`,
description : req.brew.description || 'No description.', description : req.brew.description || 'No description.',
image : req.brew.thumbnail || defaultMetaTags.image, image : req.brew.thumbnail || defaultMetaTags.image,
type : 'article' type : 'article'

View File

@@ -4,12 +4,13 @@ import _ from 'lodash';
import { Parser as MathParser } from 'expr-eval'; import { Parser as MathParser } from 'expr-eval';
import { marked as Marked } from 'marked'; import { marked as Marked } from 'marked';
import MarkedExtendedTables from 'marked-extended-tables'; import MarkedExtendedTables from 'marked-extended-tables';
import MarkedDefinitionLists from 'marked-definition-lists';
import MarkedAlignedParagraphs from 'marked-alignment-paragraphs';
import MarkedNonbreakingSpaces from 'marked-nonbreaking-spaces';
import MarkedSubSuperText from 'marked-subsuper-text';
import { markedSmartypantsLite as MarkedSmartypantsLite } from 'marked-smartypants-lite'; import { markedSmartypantsLite as MarkedSmartypantsLite } from 'marked-smartypants-lite';
import { gfmHeadingId as MarkedGFMHeadingId, resetHeadings as MarkedGFMResetHeadingIDs } from 'marked-gfm-heading-id'; import { gfmHeadingId as MarkedGFMHeadingId, resetHeadings as MarkedGFMResetHeadingIDs } from 'marked-gfm-heading-id';
import { markedEmoji as MarkedEmojis } from 'marked-emoji'; import { markedEmoji as MarkedEmojis } from 'marked-emoji';
import MarkedAlignedParagraphs from 'marked-alignment-paragraphs';
import MarkedNonbreakingSpaces from 'marked-nonbreaking-spaces';
import MarkedSubSuperText from 'marked-subsuper-text';
import { romanize } from 'romans'; import { romanize } from 'romans';
import writtenNumber from 'written-number'; import writtenNumber from 'written-number';
@@ -410,93 +411,6 @@ const forcedParagraphBreaks = {
} }
}; };
const definitionListsSingleLine = {
name : 'definitionListsSingleLine',
level : 'block',
start(src) { return src.match(/\n[^\n]*?::[^\n]*/m)?.index; }, // Hint to Marked.js to stop and check for a match
tokenizer(src, tokens) {
const regex = /^([^\n]*?)::([^\n]*)(?:\n|$)/ym;
let match;
let endIndex = 0;
const definitions = [];
while (match = regex.exec(src)) {
const originalLine = match[0]; // This line and below to handle conflict with emojis
let firstLine = originalLine; // Remove in V4 when definitionListsInline updated to
this.lexer.inlineTokens(firstLine.trim()) // require spaces around `::`
.filter((t)=>t.type == 'emoji')
.map((emoji)=>firstLine = firstLine.replace(emoji.raw, 'x'.repeat(emoji.raw.length)));
const newMatch = /^([^\n]*?)::([^\n]*)(?:\n|$)/ym.exec(firstLine);
if(newMatch) {
definitions.push({
dt : this.lexer.inlineTokens(originalLine.slice(0, newMatch[1].length).trim()),
dd : this.lexer.inlineTokens(originalLine.slice(newMatch[1].length + 2).trim())
});
} // End of emoji hack.
endIndex = regex.lastIndex;
}
if(definitions.length) {
return {
type : 'definitionListsSingleLine',
raw : src.slice(0, endIndex),
definitions
};
}
},
renderer(token) {
return `<dl>${token.definitions.reduce((html, def)=>{
return `${html}<dt>${this.parser.parseInline(def.dt)}</dt>`
+ `<dd>${this.parser.parseInline(def.dd)}</dd>\n`;
}, '')}</dl>`;
}
};
const definitionListsMultiLine = {
name : 'definitionListsMultiLine',
level : 'block',
start(src) { return src.match(/\n[^\n]*\n::[^:\n]/m)?.index; }, // Hint to Marked.js to stop and check for a match
tokenizer(src, tokens) {
const regex = /(\n?\n?(?!::)[^\n]+?(?=\n::[^:\n]))|\n::([^:\n](?:.|\n)*?(?=(?:\n::)|(?:\n\n)|$))/y;
let match;
let endIndex = 0;
const definitions = [];
while (match = regex.exec(src)) {
if(match[1]) {
if(this.lexer.blockTokens(match[1].trim())[0]?.type !== 'paragraph') // DT must not be another block-level token besides <p>
break;
definitions.push({
dt : this.lexer.inlineTokens(match[1].trim()),
dds : []
});
}
if(match[2] && definitions.length) {
definitions[definitions.length - 1].dds.push(
this.lexer.inlineTokens(match[2].trim().replace(/\s/g, ' '))
);
}
endIndex = regex.lastIndex;
}
if(definitions.length) {
return {
type : 'definitionListsMultiLine',
raw : src.slice(0, endIndex),
definitions
};
}
},
renderer(token) {
let returnVal = `<dl>`;
token.definitions.forEach((def)=>{
const dds = def.dds.map((s)=>{
return `\n<dd>${this.parser.parseInline(s).trim()}</dd>`;
}).join('');
returnVal += `<dt>${this.parser.parseInline(def.dt)}</dt>${dds}\n`;
});
returnVal = returnVal.trim();
return `${returnVal}</dl>`;
}
};
//v=====--------------------< Variable Handling >-------------------=====v// 242 lines //v=====--------------------< Variable Handling >-------------------=====v// 242 lines
const replaceVar = function(input, hoist=false, allowUnresolved=false) { const replaceVar = function(input, hoist=false, allowUnresolved=false) {
const regex = /([!$]?)\[((?!\s*\])(?:\\.|[^\[\]\\])+)\]/g; const regex = /([!$]?)\[((?!\s*\])(?:\\.|[^\[\]\\])+)\]/g;
@@ -765,8 +679,8 @@ const tableTerminators = [
]; ];
Marked.use(MarkedVariables()); Marked.use(MarkedVariables());
Marked.use({ extensions : [definitionListsMultiLine, definitionListsSingleLine, forcedParagraphBreaks, Marked.use(MarkedDefinitionLists());
mustacheSpans, mustacheDivs, mustacheInjectInline] }); Marked.use({ extensions : [forcedParagraphBreaks, mustacheSpans, mustacheDivs, mustacheInjectInline] });
Marked.use(mustacheInjectBlock); Marked.use(mustacheInjectBlock);
Marked.use(MarkedAlignedParagraphs()); Marked.use(MarkedAlignedParagraphs());
Marked.use(MarkedSubSuperText()); Marked.use(MarkedSubSuperText());
@@ -911,7 +825,7 @@ const Markdown = {
MarkedGFMResetHeadingIDs(); MarkedGFMResetHeadingIDs();
} }
rawBrewText = rawBrewText.replace(/^\\column$/gm, `\n<div class='columnSplit'></div>\n`); rawBrewText = rawBrewText.replace(/^\\column(?:break)?$/gm, `\n<div class='columnSplit'></div>\n`);
const opts = Marked.defaults; const opts = Marked.defaults;

View File

@@ -52,7 +52,7 @@ body { counter-reset : page-numbers 0; }
width : 215.9mm; width : 215.9mm;
height : 279.4mm; height : 279.4mm;
padding : 1.4cm 1.9cm 1.7cm; padding : 1.4cm 1.9cm 1.7cm;
overflow : hidden; overflow : clip;
background-color : var(--HB_Color_Background); background-color : var(--HB_Color_Background);
text-rendering : optimizeLegibility; text-rendering : optimizeLegibility;
contain : strict; contain : strict;

View File

@@ -1,129 +0,0 @@
/* Main BG color and normal text color */
.CodeMirror {
background: #293134;
color: #91A6AA;
}
/* Brew BG */
.brewRenderer {
background-color: #293134;
}
/* Blinking cursor */
.CodeMirror-cursor {
border-left: 1px solid #e0e2e4;
}
/* HB DARK NAV START*/
/* Bars at the top */
.snippetBar {
background-color: #2F393C;
color: white;
}
nav {
background-color: #293134;
}
nav .navItem {
background-color: #293134;
}
/* Fix for Homebrewery custom Snippet icons */
.snippetBar .fac {
filter: invert(1);
}
.snippetBar .snippetGroup .dropdown {
background-color: #2F393C;
}
/* HB DARK NAV END */
/* Line number stuff */
.CodeMirror-gutter-elt {
color: #81969A;
}
.CodeMirror-linenumber {
background-color: #293134;
}
.CodeMirror-gutter {
background-color: #293134;
}
/* column splits */
.editor .codeEditor .columnSplit {
font-style: italic;
color: inherit;
background-color:#1f5763;
border-bottom: #299 solid 1px;
}
/* Colors for headings and such */
/* ###Headings */
.cm-s-default .cm-header {
color: #c51b1b;
-webkit-text-stroke-width: 0.1px;
-webkit-text-stroke-color: #000;
}
/* bold points */
.cm-header, .cm-strong {
font-weight: bold;
color: #309dd2;
}
/* Link headings */
.cm-s-default .cm-link {
color: #dd6300;
}
/* links */
.cm-s-default .cm-string {
color: #aa8261;
}
/*@import*/
.cm-s-default .cm-def {
color:#2986cc;
}
/* Bullets and such */
.cm-s-default .cm-variable-2 {
color: #3cbf30;
}
/* blocks */
.editor .codeEditor .block:not(.cm-comment) {
color: #e3e3e3;
}
/* inline blocks */
.editor .codeEditor .inline-block {
color: #e3e3e3;
}
/* Tags (divs) */
.cm-s-default .cm-tag {
color: #e3ff00;
}
.cm-s-default .cm-attribute {
color: #e3ff00;
}
.cm-s-default .cm-atom {
color:#000;
}
.cm-s-default .cm-qualifier{
color:#ee1919;
}
.cm-s-default .cm-comment{
color:#bbc700;
}
.cm-s-default .cm-keyword {
color:#c302df;
background-color:#b1b1b1;
}
.cm-s-default .cm-property.cm-error {
color:#c50202;
}
.CodeMirror-foldmarker {
color:#f0ff00;
}
/* New page */
.editor .codeEditor .pageLine {
background: #000;
color:#000;
border-bottom: 1px solid #fff;
}
.cm-s-default .cm-builtin {
color:#fff;
}

View File

@@ -0,0 +1,134 @@
/*stylelint-disable*/
.editor .snippetBar {
color: white;
background-color: #2F393C;
.dropdown {
background-color: #2F393C;
}
.editors {
border-color: #ccc;
}
}
/* Main BG color and normal text color */
.CodeMirror {
--bg: #293134;
--highlight: #bcbcbc;
color: #91A6AA;
background: var(--bg);
.CodeMirror-scroll {
.CodeMirror-gutters {
border-right: 1px solid #555;
background: var(--bg);
.CodeMirror-gutter {
background-color: var(--bg);
&.CodeMirror-foldgutter {
cursor: pointer;
border-left: 1px solid #555;
transition: background 0.1s;
&:hover {
background: #555;
}
}
}
}
.CodeMirror-lines {
/* Line numbers*/
.CodeMirror-linenumber.CodeMirror-gutter-elt {
background-color: var(--bg);
color: #81969A;
}
/* Blinking cursor */
.CodeMirror-cursor {
border-left: 1px solid #E0E2E4;
}
.pageLine {
color: #000000;
background: #000000;
border-bottom: 1px solid #FFFFFF;
}
.CodeMirror-code .CodeMirror-line {
&.columnSplit {
font-style: italic;
color: inherit;
background-color: #1F5763;
border-bottom: #229999 solid 1px;
}
/*syntax*/
.cm-header {
font-weight: bold;
color: #C51B1B;
-webkit-text-stroke-width: 0.1px;
-webkit-text-stroke-color: #000000;
}
.cm-strong {
color: #309DD2;
}
.cm-em {
/*italics*/
}
.cm-link {
color: #DD6300;
}
.cm-string {
color: #AA8261;
}
/* @import */
.cm-def {
color: #2986CC;
}
/* Bullets and such */
.cm-variable-2 {
color: #3CBF30;
}
.block:not(.cm-comment) {
color: #E3E3E3;
}
.inline-block {
color: #E3E3E3;
}
.cm-tag {
color: #E3FF00;
}
.cm-attribute {
color: #E3FF00;
}
.cm-atom {
color: #c1939a;
}
.cm-number {
color: #2986CC;
}
.cm-property:not(.cm-error) ~ .cm-variable {
color:#9e1f9e;
}
.cm-qualifier {
color: #EE1919;
}
.cm-comment {
color: #BBC700;
}
.cm-keyword {
color: white;
}
.cm-error {
color: #C50202;
}
.CodeMirror-foldmarker {
color: #F0FF00;
}
.cm-builtin {
color: #FFFFFF;
}
.dt-highlight {
background: #ffffff14;
}
.dl-colon-highlight {
background: #ccc;
}
.dl-highlight.dd-highlight {
color: #b5858d;
}
}
}
}
}

View File

@@ -15,7 +15,7 @@
"cobalt", "cobalt",
"colorforth", "colorforth",
"darcula", "darcula",
"darkbrewery-v301", "darkbrewery",
"darkvision", "darkvision",
"dracula", "dracula",
"duotone-dark", "duotone-dark",

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,2 +1,10 @@
@import (less) "./themes/fonts/iconFonts/fontawesome-free.less";
@import (less) "./themes/fonts/iconFonts/fontawesome-solid.less";
@import (less) "./themes/fonts/iconFonts/fontawesome-brands.less";
@import (less) "./themes/fonts/iconFonts/fontawesome-regular.less";
/* Icon Font: Font Awesome */ /* Icon Font: Font Awesome */
.far,.fas,.fab { display : inline; } .far,.fas,.fab { display : inline; }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,19 @@
/*!
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2024 Fonticons, Inc.
*/
:root, :host {
--fa-style-family-classic: 'Font Awesome 6 Free';
--fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free'; }
@font-face {
font-family: 'Font Awesome 6 Free';
font-style: normal;
font-weight: 400;
font-display: block;
src: url("/fonts/iconFonts/fa-regular-400.woff2") format("woff2"), url("/fonts/iconFonts/fa-regular-400.ttf") format("truetype"); }
.far,
.fa-regular {
font-weight: 400; }

View File

@@ -0,0 +1,19 @@
/*!
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2024 Fonticons, Inc.
*/
:root, :host {
--fa-style-family-classic: 'Font Awesome 6 Free';
--fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free'; }
@font-face {
font-family: 'Font Awesome 6 Free';
font-style: normal;
font-weight: 900;
font-display: block;
src: url("/fonts/iconFonts/fa-solid-900.woff2") format("woff2"), url("/fonts/iconFonts/fa-solid-900.ttf") format("truetype"); }
.fas,
.fa-solid {
font-weight: 900; }