mirror of
https://github.com/typst/typst
synced 2025-05-14 04:56:26 +08:00
Move everything into crates/
directory
This commit is contained in:
parent
3ab1918509
commit
ebfdb1dafa
1
.gitignore
vendored
1
.gitignore
vendored
@ -13,7 +13,6 @@ tarpaulin-report.html
|
||||
|
||||
# Rust
|
||||
/target
|
||||
bench/target
|
||||
**/*.rs.bk
|
||||
|
||||
# Node
|
||||
|
@ -13,7 +13,7 @@ land your contribution below.
|
||||
2. Fork the Typst repository and start with your contribution. If you, at any
|
||||
point in this process, are unsure about how to do something in the Typst
|
||||
codebase, reach out to a maintainer or a more experienced contributor. Also
|
||||
have a look at the [`ARCHITECTURE.md`][architecture] file. It explains how
|
||||
have a look at the [`architecture.md`][architecture] file. It explains how
|
||||
the compiler works.
|
||||
3. Create a pull request (PR) in the Typst repository, outlining your
|
||||
contribution, the technical rationale behind it, and, if it includes a new
|
||||
@ -69,5 +69,5 @@ Typst!
|
||||
[issue]: https://github.com/typst/typst/issues
|
||||
[testing]: https://github.com/typst/typst/blob/main/tests/README.md
|
||||
[#contributors]: https://discord.com/channels/1054443721975922748/1088371867913572452
|
||||
[architecture]: https://github.com/typst/typst/blob/main/ARCHITECTURE.md
|
||||
[architecture]: https://github.com/typst/typst/blob/main/docs/dev/architecture.md
|
||||
[changelog]: https://typst.app/docs/changelog/
|
||||
|
32
Cargo.lock
generated
32
Cargo.lock
generated
@ -425,9 +425,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-epoch"
|
||||
version = "0.9.14"
|
||||
version = "0.9.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695"
|
||||
checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"cfg-if",
|
||||
@ -751,15 +751,6 @@ dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hermit-abi"
|
||||
version = "0.2.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hermit-abi"
|
||||
version = "0.3.1"
|
||||
@ -1245,9 +1236,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "memoffset"
|
||||
version = "0.8.0"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
|
||||
checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
@ -1356,11 +1347,11 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "num_cpus"
|
||||
version = "1.15.0"
|
||||
version = "1.16.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
|
||||
checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
|
||||
dependencies = [
|
||||
"hermit-abi 0.2.6",
|
||||
"hermit-abi 0.3.1",
|
||||
"libc",
|
||||
]
|
||||
|
||||
@ -1394,9 +1385,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
|
||||
|
||||
[[package]]
|
||||
name = "os_str_bytes"
|
||||
version = "6.5.0"
|
||||
version = "6.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267"
|
||||
checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac"
|
||||
|
||||
[[package]]
|
||||
name = "overload"
|
||||
@ -3218,11 +3209,10 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "zopfli"
|
||||
version = "0.7.2"
|
||||
version = "0.7.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a5b2bed49d3f0af28729a2338ee8c3a48eba2133a78ebc560779be161ebaaad8"
|
||||
checksum = "4e0650ae6a051326d798eb099b632f1afb0d323d25ee4ec82ffb0779512084d5"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
"crc32fast",
|
||||
"log",
|
||||
"simd-adler32",
|
||||
|
61
Cargo.toml
61
Cargo.toml
@ -1,6 +1,6 @@
|
||||
[workspace]
|
||||
members = ["cli", "docs", "library", "macros", "tests"]
|
||||
default-members = ["cli"]
|
||||
members = ["crates/*", "tests"]
|
||||
default-members = ["crates/typst-cli"]
|
||||
|
||||
[workspace.package]
|
||||
version = "0.6.0"
|
||||
@ -12,63 +12,6 @@ repository = "https://github.com/typst/typst"
|
||||
readme = "README.md"
|
||||
license = "Apache-2.0"
|
||||
|
||||
[package]
|
||||
name = "typst"
|
||||
description = "A new markup-based typesetting system that is powerful and easy to learn."
|
||||
categories = ["compilers", "science"]
|
||||
keywords = ["markup", "typesetting"]
|
||||
version.workspace = true
|
||||
rust-version.workspace = true
|
||||
authors.workspace = true
|
||||
edition.workspace = true
|
||||
homepage.workspace = true
|
||||
repository.workspace = true
|
||||
license.workspace = true
|
||||
|
||||
[lib]
|
||||
doctest = false
|
||||
bench = false
|
||||
|
||||
[dependencies]
|
||||
typst-macros = { path = "macros" }
|
||||
bitflags = { version = "2", features = ["serde"] }
|
||||
bytemuck = "1"
|
||||
comemo = "0.3"
|
||||
ecow = { version = "0.1.1", features = ["serde"] }
|
||||
flate2 = "1"
|
||||
fontdb = "0.13"
|
||||
if_chain = "1"
|
||||
image = { version = "0.24", default-features = false, features = ["png", "jpeg", "gif"] }
|
||||
indexmap = "1.9.3"
|
||||
log = "0.4"
|
||||
miniz_oxide = "0.7"
|
||||
once_cell = "1"
|
||||
pdf-writer = "0.7.1"
|
||||
pixglyph = "0.1"
|
||||
regex = "1"
|
||||
resvg = { version = "0.32", default-features = false }
|
||||
roxmltree = "0.18"
|
||||
rustybuzz = "0.7"
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
siphasher = "0.3"
|
||||
subsetter = "0.1.1"
|
||||
svg2pdf = { git = "https://github.com/typst/svg2pdf" }
|
||||
tiny-skia = "0.9.0"
|
||||
toml = { version = "0.7.3", default-features = false, features = ["parse"] }
|
||||
tracing = "0.1.37"
|
||||
ttf-parser = "0.18.1"
|
||||
unicode-general-category = "0.6"
|
||||
unicode-ident = "1.0"
|
||||
unicode-math-class = "0.1"
|
||||
unicode-segmentation = "1"
|
||||
unscanny = "0.1"
|
||||
usvg = { version = "0.32", default-features = false, features = ["text"] }
|
||||
xmp-writer = "0.1"
|
||||
time = { version = "0.3.20", features = ["std", "formatting"] }
|
||||
|
||||
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
||||
stacker = "0.1.15"
|
||||
|
||||
[profile.dev.package."*"]
|
||||
opt-level = 2
|
||||
|
||||
|
13
NOTICE
13
NOTICE
@ -3,8 +3,8 @@ Licenses for third party components used by this project can be found below.
|
||||
================================================================================
|
||||
The MIT License applies to:
|
||||
|
||||
* The default color set defined in `src/geom/color.rs` which is adapted from
|
||||
the colors.css project
|
||||
* The default color set defined in `crates/typst/src/geom/color.rs` which is
|
||||
adapted from the colors.css project
|
||||
(https://clrs.cc/)
|
||||
|
||||
The MIT License (MIT)
|
||||
@ -29,8 +29,9 @@ THE SOFTWARE.
|
||||
================================================================================
|
||||
|
||||
================================================================================
|
||||
Alpha multiplication and source-over blending in `src/export/render.rs` are
|
||||
ported from Skia code which can be found here:
|
||||
Alpha multiplication and source-over blending in
|
||||
`crates/typst/src/export/render.rs` are ported from Skia code which can be found
|
||||
here:
|
||||
https://skia.googlesource.com/skia/+/refs/heads/main/include/core/SkColorPriv.h
|
||||
|
||||
Copyright (c) 2011 Google Inc. All rights reserved.
|
||||
@ -63,8 +64,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
================================================================================
|
||||
|
||||
================================================================================
|
||||
Syntaxes in `library/assets/syntect.bin` are generated from syntax definitions
|
||||
which can be found here:
|
||||
Syntaxes in `crates/typst-library/assets/syntect.bin` are generated from syntax
|
||||
definitions which can be found here:
|
||||
https://github.com/sharkdp/bat/tree/master/assets/syntaxes
|
||||
|
||||
The syntax definitions are used under their respective licenses.
|
||||
|
@ -220,7 +220,7 @@ instant preview. To achieve these goals, we follow three core design principles:
|
||||
[scripting]: https://typst.app/docs/reference/scripting/
|
||||
[rust]: https://rustup.rs/
|
||||
[releases]: https://github.com/typst/typst/releases/
|
||||
[architecture]: https://github.com/typst/typst/blob/main/ARCHITECTURE.md
|
||||
[architecture]: https://github.com/typst/typst/blob/main/docs/dev/architecture.md
|
||||
[contributing]: https://github.com/typst/typst/blob/main/CONTRIBUTING.md
|
||||
[packages]: https://github.com/typst/packages/
|
||||
[`comemo`]: https://github.com/typst/comemo/
|
||||
|
@ -20,8 +20,8 @@ bench = false
|
||||
doc = false
|
||||
|
||||
[dependencies]
|
||||
typst = { path = ".." }
|
||||
typst-library = { path = "../library" }
|
||||
typst = { path = "../typst" }
|
||||
typst-library = { path = "../typst-library" }
|
||||
chrono = { version = "0.4.24", default-features = false, features = ["clock", "std"] }
|
||||
clap = { version = "4.2.4", features = ["derive", "env"] }
|
||||
codespan-reporting = "0.11"
|
@ -95,7 +95,7 @@ impl FontSearcher {
|
||||
|
||||
macro_rules! add {
|
||||
($filename:literal) => {
|
||||
process(include_bytes!(concat!("../../assets/fonts/", $filename,)));
|
||||
process(include_bytes!(concat!("../../../assets/fonts/", $filename)));
|
||||
};
|
||||
}
|
||||
|
@ -11,8 +11,8 @@ doctest = false
|
||||
bench = false
|
||||
|
||||
[dependencies]
|
||||
typst = { path = ".." }
|
||||
typst-library = { path = "../library" }
|
||||
typst = { path = "../typst" }
|
||||
typst-library = { path = "../typst-library" }
|
||||
comemo = "0.3"
|
||||
heck = "0.4"
|
||||
include_dir = "0.7"
|
@ -23,13 +23,13 @@ use typst::geom::{Abs, Smart};
|
||||
use typst_library::layout::{Margin, PageElem};
|
||||
use unscanny::Scanner;
|
||||
|
||||
static SRC: Dir<'_> = include_dir!("$CARGO_MANIFEST_DIR/src");
|
||||
static FILES: Dir<'_> = include_dir!("$CARGO_MANIFEST_DIR/../assets/files");
|
||||
static DOCS: Dir<'_> = include_dir!("$CARGO_MANIFEST_DIR/../../docs");
|
||||
static FILES: Dir<'_> = include_dir!("$CARGO_MANIFEST_DIR/../../assets/files");
|
||||
static DETAILS: Lazy<yaml::Mapping> = Lazy::new(|| yaml("reference/details.yml"));
|
||||
static GROUPS: Lazy<Vec<GroupData>> = Lazy::new(|| yaml("reference/groups.yml"));
|
||||
|
||||
static FONTS: Lazy<(Prehashed<FontBook>, Vec<Font>)> = Lazy::new(|| {
|
||||
static DIR: Dir<'_> = include_dir!("$CARGO_MANIFEST_DIR/../assets/fonts");
|
||||
static DIR: Dir<'_> = include_dir!("$CARGO_MANIFEST_DIR/../../assets/fonts");
|
||||
let fonts: Vec<_> = DIR
|
||||
.files()
|
||||
.flat_map(|file| Font::iter(file.contents().into()))
|
||||
@ -53,13 +53,13 @@ static LIBRARY: Lazy<Prehashed<Library>> = Lazy::new(|| {
|
||||
/// Build documentation pages.
|
||||
pub fn provide(resolver: &dyn Resolver) -> Vec<PageModel> {
|
||||
vec![
|
||||
markdown_page(resolver, "/docs/", "general/overview.md").with_route("/docs/"),
|
||||
markdown_page(resolver, "/docs/", "overview.md").with_route("/docs/"),
|
||||
tutorial_pages(resolver),
|
||||
reference_pages(resolver),
|
||||
guides_pages(resolver),
|
||||
packages_page(resolver),
|
||||
markdown_page(resolver, "/docs/", "general/changelog.md"),
|
||||
markdown_page(resolver, "/docs/", "general/community.md"),
|
||||
markdown_page(resolver, "/docs/", "changelog.md"),
|
||||
markdown_page(resolver, "/docs/", "community.md"),
|
||||
]
|
||||
}
|
||||
|
||||
@ -125,7 +125,7 @@ pub enum BodyModel {
|
||||
/// Build the tutorial.
|
||||
fn tutorial_pages(resolver: &dyn Resolver) -> PageModel {
|
||||
let mut page = markdown_page(resolver, "/docs/", "tutorial/welcome.md");
|
||||
page.children = SRC
|
||||
page.children = DOCS
|
||||
.get_dir("tutorial")
|
||||
.unwrap()
|
||||
.files()
|
||||
@ -187,7 +187,7 @@ fn markdown_page(
|
||||
path: impl AsRef<Path>,
|
||||
) -> PageModel {
|
||||
assert!(parent.starts_with('/') && parent.ends_with('/'));
|
||||
let md = SRC.get_file(path).unwrap().contents_utf8().unwrap();
|
||||
let md = DOCS.get_file(path).unwrap().contents_utf8().unwrap();
|
||||
let html = Html::markdown(resolver, md);
|
||||
let title = html.title().expect("chapter lacks a title").to_string();
|
||||
PageModel {
|
||||
@ -652,7 +652,7 @@ fn types_page(resolver: &dyn Resolver, parent: &str) -> PageModel {
|
||||
|
||||
/// Produce the types' models.
|
||||
fn type_models(resolver: &dyn Resolver) -> Vec<TypeModel> {
|
||||
let file = SRC.get_file("reference/types.md").unwrap();
|
||||
let file = DOCS.get_file("reference/types.md").unwrap();
|
||||
let text = file.contents_utf8().unwrap();
|
||||
|
||||
let mut s = unscanny::Scanner::new(text);
|
||||
@ -906,7 +906,7 @@ fn module<'a>(parent: &'a Module, name: &str) -> Result<&'a Module, String> {
|
||||
/// Load YAML from a path.
|
||||
#[track_caller]
|
||||
fn yaml<T: DeserializeOwned>(path: &str) -> T {
|
||||
let file = SRC.get_file(path).unwrap();
|
||||
let file = DOCS.get_file(path).unwrap();
|
||||
yaml::from_slice(file.contents()).unwrap()
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ doctest = false
|
||||
bench = false
|
||||
|
||||
[dependencies]
|
||||
typst = { path = ".." }
|
||||
typst = { path = "../typst" }
|
||||
az = "1.2"
|
||||
chinese-number = { version = "0.7.2", default-features = false, features = ["number-to-chinese"] }
|
||||
comemo = "0.3"
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user