60d4fca0ba
This PR also remove supports for: 1. merge pages when renaming a page to existing page 2. namespaces such as a/b/c 3. nested page such as [[a [[nested page]]]] Pages merge might be added back depends on RTC, but it should be decoupled from renaming, otherwise it's too complex. Namespaces and nested pages have been contributed some critical bugs that lead data-loss, they're so complex together with page alias, it's just impossible to have a good test coverage and ensure the app is stable, especially when page rename and RTC. |
||
---|---|---|
.. | ||
.carve | ||
.clj-kondo | ||
src/logseq | ||
test/logseq/publishing | ||
.gitignore | ||
README.md | ||
bb.edn | ||
deps.edn | ||
nbb.edn | ||
package.json | ||
yarn.lock |
README.md
Description
This library handles exporting the frontend.publishing
single page
application. This library is compatible with ClojureScript and with
node/nbb-logseq to respectively provide
frontend and Electron/commandline functionality.
API
This library is under the parent namespace logseq.publishing
. This library
provides two namespaces for node/CLI contexts, logseq.publishing
and
logseq.publishing.export
and two namespaces for the frontend,
logseq.publishing.html
and logseq.publishing.db
.
Usage
See logseq.tasks.dev.publishing
for a CLI example. See the frontend for cljs usage.
Dev
This follows the practices that the Logseq frontend follows. Most of the same linters are used, with configurations that are specific to this library. See this library's CI file for linting examples.
Setup
To run linters and tests, you'll want to install yarn dependencies once:
yarn install
This step is not needed if you're just running the frontend application.
Testing
Testing is done with nbb-logseq and nbb-test-runner. Some basic usage:
# Run all tests
$ yarn test
# List available options
$ yarn test -H
# Run tests with :focus metadata flag
$ yarn test -i focus