GithubHelp home page GithubHelp logo

zineland / zine Goto Github PK

View Code? Open in Web Editor NEW
871.0 871.0 37.0 2.29 MB

Zine - a simple and opinionated tool to build your own magazine.

Home Page: https://zineland.github.io

License: Apache License 2.0

Rust 65.92% Jinja 25.42% JavaScript 6.86% CSS 1.13% Fluent 0.51% HTML 0.16%
magazine rust rust-lang ssg static-site-generator zine

zine's People

Contributors

bas-man avatar dingdean avatar folyd avatar kernelerr avatar kiyov09 avatar l1ch40 avatar plule avatar shwin0901 avatar silenteag avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

zine's Issues

Article TOML / publish_date

I have been looking at issue #130 and have actually spent a little time working on the Article TOML.

But as I looked at it. I had a question.

If this is mostly for Magazine style sites. Each Article does not really have a publish_date. It is the Issue that has a publish date.
An article could have a contributed_date and possibly a updated_date

Some code that I am toying with at the moment as is included.

use tera::{Context};
use time::{OffsetDateTime, format_description};

static NEW_ARTICLE_TEMPLATE: &str = r#"

[[article]]
file = "{{file_name}}.md"
title = "{{article_title"
author = "{{ author | lower }}"
cover = ""
pub_date = "{{ pub_date }}"
publish = false
featured = false
"#;

#[derive(Debug)]
struct ArticleScaffold {
    file_name: String,
    title: String,
    author: Option<String>,
    cover: Option<String>,
    publish_date: String,
    publish: bool,
    featured: bool,
}

impl Default for ArticleScaffold {
    fn default() -> Self {
        Self {
            file_name: "Give-this-file-a-name".into(),
            title: "Give me a Title.".into(),
            author: None,
            cover: None,
            publish_date: "yyyy-mm-dd".into(),
            publish: false,
            featured: false,
        }
    }
}

impl std::fmt::Display for ArticleScaffold {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        write!(f, "{}", self.build_article_toml())
    }
}

impl ArticleScaffold {
    fn new(title: impl Into<String>) -> Self {

        let mut context = Context::new();
        let title: String = title.into();
        let mut file_name = title.clone().to_lowercase().replace(" ", "-");
        // This format is trusted to always be successful.
        // This is also really const str that should never change. It is also not effected by internationalisation.
        // Could be stored as a const and then only compiled once.
        let format = format_description::parse("[year]-[month]-[day]").unwrap();
        let today = OffsetDateTime::now_utc().format(&format);

        Self { title,
               file_name,
               publish_date: today.unwrap_or("yyyy-mm-dd".into()),
                ..Self::default()
        }
    }
    fn build_article_toml(&self) -> String {

        let mut article_toml_entry = String::new();
        article_toml_entry.push_str(&format!("file = \"{}\"\n", self.file_name));
        article_toml_entry.push_str(&format!("title = \"{}\"\n", self.title));
        article_toml_entry.push_str(&format!("author = \"{}\"\n",
            if let Some(author) = &self.author {
                author } else {
                ""
            }));
        article_toml_entry.push_str(&format!("cover = \"{}\"\n",
            if let Some(cover) = &self.cover {
                cover
            } else {
                ""
            }));
        article_toml_entry.push_str(&format!("publish_date = {}", self.publish_date));
        article_toml_entry.push_str(&format!("publish = {}\n",
            match self.publish {
                true => "true",
                false => "false"}
        ));
        toml.push_str(&format!("featured = {}\n",
            match self.featured {
                true => "true",
                false => "false"}
        ));

        toml
    }
}

#[cfg(test)]
mod article_scaffolding {

    use crate::article::ArticleScaffold;

    #[test]
    fn test_article_scaffold_default() {
        let article_default = ArticleScaffold::default();

        assert_eq!(article_default.file_name, "Give-this-file-a-name");
        assert_eq!(article_default.title, "Give me a Title.");
        assert_eq!(article_default.author, None);
        assert_eq!(article_default.cover, None);
        assert_eq!(article_default.publish_date, "yyyy-mm-dd");
        assert_eq!(article_default.publish, false);
        debug_assert_eq!(article_default.featured, false);
       // assert_eq!(article_default.to_string(), "test");
    }
}

Difference to other static site generator?

The project looks quite like a static site generator, such as hugo and hexo, though used to build "magazine"s.

I'd like to use rust-written software to replace the backend of my blog.

Discussion: zine.toml for [Site] logo data field

According the the documentation. The [Site] data has a logo field which is the path to the favicon

  1. I think it might be better and more clear to have this actually named favicon. However I think this can be further improved upon with the next comment.
  2. Today most sites provide multiple favicon images. This would suggest that providing a custom_header file that can be injected between the <head></head> tags would be the best place for site owner to manage favicons.

Thoughts?

Add gallery code block

The gallery code blocks are supposed to render multiple pictures in markdown in an easy way.

The basic syntax is:

```gallery, mode: thumbnail|grid|...
https://image-1.png
https://image-2.png
https://image-3.png
```

Here are some modes we can support (depending on the difficulty):

https://www.lightgalleryjs.com/ is a powerful gallery library, however, we should investigate their license more.

Article slug empty bug if not specified in toml

If no slug is specified in toml, we should fall back to the filename without extension.

[[article]]
- slug = "first"
file = "first.md"
title = "First article"
author = "zine-team"
pub_date = "2022-03-25"
publish = true
featured = true

`zine serve` or `zine build` after `zine new` panicked

❯ zine serve


███████╗██╗███╗   ██╗███████╗
╚══███╔╝██║████╗  ██║██╔════╝
  ███╔╝ ██║██╔██╗ ██║█████╗
 ███╔╝  ██║██║╚██╗██║██╔══╝
███████╗██║██║ ╚████║███████╗
╚══════╝╚═╝╚═╝  ╚═══╝╚══════╝


listening on http://127.0.0.1:3000
thread 'tokio-runtime-worker' panicked at 'called `Result::unwrap()` on an `Err` value: No such file or directory (os error 2)', /Users/wangxingbin/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/zine-0.3.0/src/serve.rs:47:14
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

How to reproduce

Follow the Get stared, run zine serve step.

Relative issue

2d2d lastest ci action failed.

Urlpreview parse a wrong title

```urlpreview
https://www.fermyon.com/
```

turn to this:

{
  "urlPreviews": {
    "https://www.fermyon.com": [
      "chat",
      "",
      "https://www.fermyon.com/static/image/twc-fermyon-default.png"
    ],
  }
}

Support find zine folder recursively

Static site generators like hexo support find config files and base dir recursively. That would allow users to execute commands in any subdirectory. If we could also support this feature?

Question: How do you read the string from the issue.toml file?

I have in the process of writing new tests for my code.

    #[test]
    fn test_append_to_file() {
        let meta = MetaArticle::new()
            .set_title("This is a great Article")
            .finalize();
        let mut article = Article::new();

        article.set_meta(meta);

        let temp_dir = tempdir().unwrap();
        let temp_path = temp_dir.path().join("dummy.toml");
        assert!(std::fs::write(&temp_path, "\n").is_ok());
        assert!(article.append_article_to_toml(&temp_path).is_ok());

        let contents = std::fs::read_to_string(&temp_path).unwrap();
        println!("{:?}", contents);
       // let data: Article = toml::from_str(&contents).unwrap();

        //assert_eq!(data.meta.slug, "This is a great Article");
        //assert_eq!(data.meta.title, "This is a great Article");
        //assert_eq!(data.featured, false);

        drop(temp_path);
        assert!(temp_dir.close().is_ok());
    }

Current with the test disabled I am getting the following string output. Which I think is correct.

test entity::article::meta_article_tests::test_meta_article_new ... ok
"\n[[article]]\nfile = \"this-is-a-great-article\"\nslug = \"1\"\ntitle = \"This is a great Article\"\npub_date = \"-9999-01-01\"\ntopics = []\npublish = false\n"

But when I try to read the toml string back into the struct I get the following error.

---- entity::article::tests_artile_impl::test_append_to_file stdout ----
thread 'entity::article::tests_artile_impl::test_append_to_file' panicked at 'called `Result::unwrap()` on an `Err` value: Error { inner: ErrorInner { kind: Custom, line: Some(1), col: 0, at: Some(1), message: "missing field `file`", key: [] } }', src/entity/article.rs:368:55
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

I think this is because I am using the Article struct to read the toml, so it doesn't know about file which is a MetaArticle attribute.

Any guidance?

If I can get this test working. I can move on to updating new.rs and fixing issues that this might cause.

Add `zine-version` meta tag

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
+   <meta name="zine-version" content="0.7.0"/>
  </head>
</html>

add "canonical" link in header with support for specifying alternate for articles.

Currently there does not appear to be a canonical link in the <head>..</head> section.

<link rel=canonical href=https://some.urk.link/page>

This link would generally be the same as the actual page.

However when republishing an article it would be best to allow the author to reference their original site. This is done by serveral other sites such as https://dev.to
See example here

It would be good to have a way to override this on a per article bases when republishing an existing article from another source. Of course this needs to be done with the original authors permission. The information for this could be stored in the article TOML
data.

[[article]]
path = "/announcing"
file = "announcing.md"
title = "Announcing Rust Magazine"
author = "rust-magazine"
topic = ["announcement"]
pub_date = "2022-12-10"
canonical = "https://original.url/refernce"
publish = true
featured = true
i18n.zh = { path = "/announcing-zh", file = "announcing-zh.md", title = "宣布 Rust 杂志", author = ["folyd", "rust-magazine"] }

The canonical will help with google search results and allow the author to reference their original article link.

Improve code for toml file handling and remove code duplication from new.rs file

I have been looking at code regarding issue #130 and which was referenced by pull request number #142.
I have some comments and ideas on how to improve this.

Issues

  • File new.rs contains a lot of information regarding how Site and Issue struct data is to be written to their toml files. I think this can be removed by making struct Site{} and struct Issue{} directly responsible for writing their related data to file using the the toml crate.
  • When creating a new Issue there currently does not appear to be any protection to prevent a user from intentionally overwrite an exiting Issue.

Ideas

  • Have struct Site{} manage its own zine.toml file directly. Work in progress with pr #151
  • Have struct Issue{} manage its own zine.toml file directly. Work in progress with pr #150
  • Have struct Article manage its own data and append it to the Issue zine.toml. This may have the added benefit of being able to remove an article programatically in the future. This is a work in progress with pr #153. It will require author.rs to have the Trait FromStr implemented based on my current thinking.

zine build fails if `dest/static` directory not exists

Which version am I using?

zine 0.3.0 on Mac mini (M1, 2020)

What's the problem?

Zine fails to build a newly-generated project, reporting a panic:
Error: No such file or directory (os error 2)

How to reproduce?

  1. install zine 0.3.0
  2. zine new testproject
  3. cd testproject
  4. zine build
    The build should fail by now.

What might cause the issue?

After digging around in the source code, I believe the problem results from include_dir crate.

In 0.3.0, Zine copies the builtin static files into output directory's static folder by using include_dir. When include_dir extracting a file, it simply uses fs::write(TAEGET_PATH), which will panic if TARGET_PATH includes non-existence directory.

Because testproject/build/static directory does not exists when include_dir tries to extract zine's buildin static file, it simply panics.

In version 0.2.1, zine would create the output static directory first before copying static files, so the problem did not exist.
截屏2022-04-02 下午9 40 03

If we create mkdir testproject/build/static manually, then zine build successfully.

[build] : Linking Error on apple silicon chip

Hi folks,

cargo install zine the installation of zine fails on m1 apple silicon chip.

cargo install zine


    Updating crates.io index
  Downloaded zine v0.3.1
  Downloaded 1 crate (55.8 KB) in 0.99s
  Installing zine v0.3.1
  Downloaded block-padding v0.1.5
  Downloaded cc v1.0.73
  Downloaded core-foundation v0.9.3
  Downloaded crossbeam-channel v0.5.4
  Downloaded crossbeam-epoch v0.9.8
  Downloaded tempfile v3.3.0
  Downloaded digest v0.8.1
  Downloaded crossbeam-utils v0.8.8
  Downloaded derive_more v0.99.17
  Downloaded rand_core v0.5.1
  Downloaded cssparser v0.27.2
  Downloaded semver v1.0.7
  Downloaded sha-1 v0.8.2
  Downloaded fake-simd v0.1.2
  Downloaded fluent-bundle v0.15.2
  Downloaded siphasher v0.3.10
  Downloaded dtoa-short v0.3.3
  Downloaded clap v3.1.8
  Downloaded string_cache_codegen v0.5.2
  Downloaded string_cache v0.8.4
  Downloaded clap_derive v3.1.7
  Downloaded chrono-tz-build v0.0.2
  Downloaded textwrap v0.15.0
  Downloaded time v0.3.9
  Downloaded tokio v1.17.0
  Downloaded tokio-native-tls v0.3.0
  Downloaded tokio-util v0.7.1
  Downloaded security-framework-sys v2.6.1
  Downloaded fluent v0.16.0
  Downloaded futures-core v0.3.21
  Downloaded fluent-syntax v0.11.0
  Downloaded futures-util v0.3.21
  Downloaded futures-task v0.3.21
  Downloaded getopts v0.2.21
  Downloaded syn v1.0.91
  Downloaded tokio-macros v1.7.0
  Downloaded stable_deref_trait v1.2.0
  Downloaded generic-array v0.12.4
  Downloaded toml v0.5.8
  Downloaded getrandom v0.2.6
  Downloaded tower-service v0.3.1
  Downloaded getrandom v0.1.16
  Downloaded tracing-core v0.1.24
  Downloaded tower v0.4.12
  Downloaded globset v0.4.8
  Downloaded unic-langid v0.9.0
  Downloaded unic-char-property v0.9.0
  Downloaded typenum v1.15.0
  Downloaded utf-8 v0.7.6
  Downloaded unic-langid-impl v0.9.0
  Downloaded want v0.3.0
  Downloaded version_check v0.9.4
  Downloaded globwalk v0.8.1
  Downloaded hashbrown v0.11.2
  Downloaded xml5ever v0.16.2
  Downloaded hashbrown v0.12.0
  Downloaded heck v0.4.0
  Downloaded type-map v0.4.0
  Downloaded try-lock v0.2.3
  Downloaded tower-layer v0.3.1
  Downloaded tracing v0.1.33
  Downloaded http-body v0.4.4
  Downloaded http v0.2.6
  Downloaded socket2 v0.4.4
  Downloaded httparse v1.7.0
  Downloaded httpdate v1.0.2
  Downloaded humansize v1.1.1
  Downloaded unic-char-range v0.9.0
  Downloaded thin-slice v0.1.1
  Downloaded servo_arc v0.1.1
  Downloaded html5ever v0.25.2
  Downloaded unic-ucd-segment v0.9.0
  Downloaded http-range-header v0.3.0
  Downloaded opaque-debug v0.2.3
  Downloaded maplit v1.0.2
  Downloaded pest_meta v2.1.3
  Downloaded hyper v0.14.18
  Downloaded unic-segment v0.9.0
  Downloaded phf_generator v0.10.0
  Downloaded intl-memoizer v0.5.1
  Downloaded include_dir v0.7.2
  Downloaded ignore v0.4.18
  Downloaded lazycell v1.3.0
  Downloaded include_dir_macros v0.7.2
  Downloaded pin-project-lite v0.2.8
  Downloaded proc-macro2 v1.0.37
  Downloaded safemem v0.3.3
  Downloaded pulldown-cmark v0.9.1
  Downloaded thread_local v1.1.4
  Downloaded intl_pluralrules v7.0.1
  Downloaded matches v0.1.9
  Downloaded log v0.4.16
  Downloaded mime v0.3.16
  Downloaded tendril v0.4.3
  Downloaded tinystr v0.3.4
  Downloaded mime_guess v2.0.4
  Downloaded mio v0.8.2
  Downloaded tera v1.15.0
  Downloaded native-tls v0.2.10
  Downloaded markup5ever v0.10.1
  Downloaded unic-common v0.9.0
  Downloaded parking_lot_core v0.9.2
  Downloaded nodrop v0.1.14
  Downloaded new_debug_unreachable v1.0.4
  Downloaded self_cell v0.10.2
  Downloaded rand_chacha v0.2.2
  Downloaded indexmap v1.8.1
  Downloaded rustc-hash v1.1.0
  Downloaded unic-ucd-version v0.9.0
  Downloaded mac v0.1.1
  Downloaded slug v0.1.4
  Downloaded remove_dir_all v0.5.3
  Downloaded hyper-tls v0.5.0
  Downloaded num_cpus v1.13.1
  Downloaded lock_api v0.4.7
  Downloaded num_threads v0.1.5
  Downloaded cssparser-macros v0.6.0
  Downloaded deunicode v0.4.3
  Downloaded os_str_bytes v6.0.0
  Downloaded percent-encoding v2.1.0
  Downloaded parking_lot v0.12.0
  Downloaded pest_derive v2.1.0
  Downloaded phf v0.8.0
  Downloaded pest_generator v2.1.3
  Downloaded phf_generator v0.8.0
  Downloaded phf_codegen v0.10.0
  Downloaded phf v0.10.1
  Downloaded phf_shared v0.10.0
  Downloaded addr2line v0.17.0
  Downloaded ahash v0.7.6
  Downloaded phf_shared v0.8.0
  Downloaded once_cell v1.10.0
  Downloaded parse-zoneinfo v0.3.0
  Downloaded phf_codegen v0.8.0
  Downloaded anyhow v1.0.56
  Downloaded pin-project v1.0.10
  Downloaded block-buffer v0.7.3
  Downloaded autocfg v1.1.0
  Downloaded byte-tools v0.3.1
  Downloaded backtrace v0.3.64
  Downloaded fluent-langneg v0.13.0
  Downloaded fastrand v1.7.0
  Downloaded futures-sink v0.3.21
  Downloaded futf v0.1.5
  Downloaded rand v0.7.3
  Downloaded rand_pcg v0.2.1
  Downloaded quote v1.0.18
  Downloaded pin-project-internal v1.0.10
  Downloaded selectors v0.22.0
  Downloaded security-framework v2.6.1
  Downloaded futures-channel v0.3.21
  Downloaded regex v1.5.5
  Downloaded phf_macros v0.8.0
  Downloaded dtoa v0.4.8
  Downloaded markup5ever_rcdom v0.1.0
  Downloaded precomputed-hash v0.1.1
  Downloaded tower-http v0.2.5
  Downloaded unicase v2.6.0
  Downloaded uncased v0.9.6
  Downloaded encoding_rs v0.8.31
  Downloaded gimli v0.26.1
  Downloaded libc v0.2.122
  Downloaded lol_html v0.3.1
  Downloaded chrono-tz v0.6.1
  Downloaded 164 crates (9.6 MB) in 3.51s (largest was `encoding_rs` at 1.4 MB)
   Compiling proc-macro2 v1.0.37
   Compiling unicode-xid v0.2.2
   Compiling version_check v0.9.4
   Compiling libc v0.2.122
   Compiling syn v1.0.91
   Compiling cfg-if v1.0.0
   Compiling autocfg v1.1.0
   Compiling ppv-lite86 v0.2.16
   Compiling siphasher v0.3.10
   Compiling memchr v2.4.1
error: linking with `cc` failed: exit status: 1

error message looks like the following:

 note: "cc" "-arch" "arm64" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/syn-7ba82db0f4252fca/build_script_build-7ba82db0f4252fca.build_script_build.cb7b371f-cgu.0.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/syn-7ba82db0f4252fca/build_script_build-7ba82db0f4252fca.build_script_build.cb7b371f-cgu.1.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/syn-7ba82db0f4252fca/build_script_build-7ba82db0f4252fca.build_script_build.cb7b371f-cgu.10.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/syn-7ba82db0f4252fca/build_script_build-7ba82db0f4252fca.build_script_build.cb7b371f-cgu.11.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/syn-7ba82db0f4252fca/build_script_build-7ba82db0f4252fca.build_script_build.cb7b371f-cgu.12.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/syn-7ba82db0f4252fca/build_script_build-7ba82db0f4252fca.build_script_build.cb7b371f-cgu.13.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/syn-7ba82db0f4252fca/build_script_build-7ba82db0f4252fca.build_script_build.cb7b371f-cgu.14.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/syn-7ba82db0f4252fca/build_script_build-7ba82db0f4252fca.build_script_build.cb7b371f-cgu.15.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/syn-7ba82db0f4252fca/build_script_build-7ba82db0f4252fca.build_script_build.cb7b371f-cgu.2.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/syn-7ba82db0f4252fca/build_script_build-7ba82db0f4252fca.build_script_build.cb7b371f-cgu.3.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/syn-7ba82db0f4252fca/build_script_build-7ba82db0f4252fca.build_script_build.cb7b371f-cgu.4.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/syn-7ba82db0f4252fca/build_script_build-7ba82db0f4252fca.build_script_build.cb7b371f-cgu.5.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/syn-7ba82db0f4252fca/build_script_build-7ba82db0f4252fca.build_script_build.cb7b371f-cgu.6.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/syn-7ba82db0f4252fca/build_script_build-7ba82db0f4252fca.build_script_build.cb7b371f-cgu.7.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/syn-7ba82db0f4252fca/build_script_build-7ba82db0f4252fca.build_script_build.cb7b371f-cgu.8.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/syn-7ba82db0f4252fca/build_script_build-7ba82db0f4252fca.build_script_build.cb7b371f-cgu.9.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/syn-7ba82db0f4252fca/build_script_build-7ba82db0f4252fca.2u4oqfcv7l81ssna.rcgu.o" "-L" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/deps" "-L" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libstd-eb660d415c354e23.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libpanic_unwind-7de8b29ddb7a4fdf.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libobject-e8c2a79e494852bc.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libmemchr-c89ae08c96207cd8.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libaddr2line-020771383c7b28b2.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libgimli-868a41d5005b1b1e.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libstd_detect-86bb526dcb1bbaf0.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/librustc_demangle-65708c20a659c74c.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libhashbrown-ed2eeaa7b42ab93f.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/librustc_std_workspace_alloc-17e21080b73e52ac.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libunwind-6a4b349b118a2bef.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libcfg_if-4a7bfb52e2f3bcac.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/liblibc-0e34d750a2a5ea4f.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/liballoc-7e50779556d46264.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/librustc_std_workspace_core-91635fcf4ade01cc.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libcore-88566b8a8dea6ac4.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libcompiler_builtins-4d2eba102ddf9fce.rlib" "-lSystem" "-lresolv" "-lc" "-lm" "-liconv" "-L" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib" "-o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/syn-7ba82db0f4252fca/build_script_build-7ba82db0f4252fca" "-Wl,-dead_strip" "-nodefaultlibs"
  = note: cc: error: arm64: No such file or directory
          cc: error: unrecognized command-line option '-arch'; did you mean '-march='?


error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-arch" "arm64" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-569cc95ca4e24bae/build_script_build-569cc95ca4e24bae.build_script_build.0670c953-cgu.0.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-569cc95ca4e24bae/build_script_build-569cc95ca4e24bae.build_script_build.0670c953-cgu.1.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-569cc95ca4e24bae/build_script_build-569cc95ca4e24bae.build_script_build.0670c953-cgu.10.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-569cc95ca4e24bae/build_script_build-569cc95ca4e24bae.build_script_build.0670c953-cgu.11.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-569cc95ca4e24bae/build_script_build-569cc95ca4e24bae.build_script_build.0670c953-cgu.12.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-569cc95ca4e24bae/build_script_build-569cc95ca4e24bae.build_script_build.0670c953-cgu.13.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-569cc95ca4e24bae/build_script_build-569cc95ca4e24bae.build_script_build.0670c953-cgu.14.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-569cc95ca4e24bae/build_script_build-569cc95ca4e24bae.build_script_build.0670c953-cgu.15.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-569cc95ca4e24bae/build_script_build-569cc95ca4e24bae.build_script_build.0670c953-cgu.2.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-569cc95ca4e24bae/build_script_build-569cc95ca4e24bae.build_script_build.0670c953-cgu.3.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-569cc95ca4e24bae/build_script_build-569cc95ca4e24bae.build_script_build.0670c953-cgu.4.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-569cc95ca4e24bae/build_script_build-569cc95ca4e24bae.build_script_build.0670c953-cgu.5.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-569cc95ca4e24bae/build_script_build-569cc95ca4e24bae.build_script_build.0670c953-cgu.6.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-569cc95ca4e24bae/build_script_build-569cc95ca4e24bae.build_script_build.0670c953-cgu.7.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-569cc95ca4e24bae/build_script_build-569cc95ca4e24bae.build_script_build.0670c953-cgu.8.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-569cc95ca4e24bae/build_script_build-569cc95ca4e24bae.build_script_build.0670c953-cgu.9.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-569cc95ca4e24bae/build_script_build-569cc95ca4e24bae.3aocxr1bclqs6pbe.rcgu.o" "-L" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/deps" "-L" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libstd-eb660d415c354e23.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libpanic_unwind-7de8b29ddb7a4fdf.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libobject-e8c2a79e494852bc.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libmemchr-c89ae08c96207cd8.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libaddr2line-020771383c7b28b2.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libgimli-868a41d5005b1b1e.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libstd_detect-86bb526dcb1bbaf0.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/librustc_demangle-65708c20a659c74c.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libhashbrown-ed2eeaa7b42ab93f.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/librustc_std_workspace_alloc-17e21080b73e52ac.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libunwind-6a4b349b118a2bef.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libcfg_if-4a7bfb52e2f3bcac.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/liblibc-0e34d750a2a5ea4f.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/liballoc-7e50779556d46264.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/librustc_std_workspace_core-91635fcf4ade01cc.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libcore-88566b8a8dea6ac4.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libcompiler_builtins-4d2eba102ddf9fce.rlib" "-lSystem" "-lresolv" "-lc" "-lm" "-liconv" "-L" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib" "-o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-569cc95ca4e24bae/build_script_build-569cc95ca4e24bae" "-Wl,-dead_strip" "-nodefaultlibs"
  = note: cc: error: arm64: No such file or directory
          cc: error: unrecognized command-line option '-arch'; did you mean '-march='?


error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-arch" "arm64" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/proc-macro2-0010549b0f3b10bf/build_script_build-0010549b0f3b10bf.build_script_build.c83fcb11-cgu.0.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/proc-macro2-0010549b0f3b10bf/build_script_build-0010549b0f3b10bf.build_script_build.c83fcb11-cgu.1.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/proc-macro2-0010549b0f3b10bf/build_script_build-0010549b0f3b10bf.build_script_build.c83fcb11-cgu.10.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/proc-macro2-0010549b0f3b10bf/build_script_build-0010549b0f3b10bf.build_script_build.c83fcb11-cgu.11.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/proc-macro2-0010549b0f3b10bf/build_script_build-0010549b0f3b10bf.build_script_build.c83fcb11-cgu.12.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/proc-macro2-0010549b0f3b10bf/build_script_build-0010549b0f3b10bf.build_script_build.c83fcb11-cgu.13.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/proc-macro2-0010549b0f3b10bf/build_script_build-0010549b0f3b10bf.build_script_build.c83fcb11-cgu.14.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/proc-macro2-0010549b0f3b10bf/build_script_build-0010549b0f3b10bf.build_script_build.c83fcb11-cgu.15.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/proc-macro2-0010549b0f3b10bf/build_script_build-0010549b0f3b10bf.build_script_build.c83fcb11-cgu.2.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/proc-macro2-0010549b0f3b10bf/build_script_build-0010549b0f3b10bf.build_script_build.c83fcb11-cgu.3.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/proc-macro2-0010549b0f3b10bf/build_script_build-0010549b0f3b10bf.build_script_build.c83fcb11-cgu.4.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/proc-macro2-0010549b0f3b10bf/build_script_build-0010549b0f3b10bf.build_script_build.c83fcb11-cgu.5.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/proc-macro2-0010549b0f3b10bf/build_script_build-0010549b0f3b10bf.build_script_build.c83fcb11-cgu.6.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/proc-macro2-0010549b0f3b10bf/build_script_build-0010549b0f3b10bf.build_script_build.c83fcb11-cgu.7.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/proc-macro2-0010549b0f3b10bf/build_script_build-0010549b0f3b10bf.build_script_build.c83fcb11-cgu.8.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/proc-macro2-0010549b0f3b10bf/build_script_build-0010549b0f3b10bf.build_script_build.c83fcb11-cgu.9.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/proc-macro2-0010549b0f3b10bf/build_script_build-0010549b0f3b10bf.2fk5tzbb7nulmnzi.rcgu.o" "-L" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/deps" "-L" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libstd-eb660d415c354e23.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libpanic_unwind-7de8b29ddb7a4fdf.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libobject-e8c2a79e494852bc.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libmemchr-c89ae08c96207cd8.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libaddr2line-020771383c7b28b2.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libgimli-868a41d5005b1b1e.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libstd_detect-86bb526dcb1bbaf0.rlib" "/Users/ivan/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/librustc_demangle-65708c20a659c74c.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libhashbrown-ed2eeaa7b42ab93f.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/librustc_std_workspace_alloc-17e21080b73e52ac.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libunwind-6a4b349b118a2bef.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libcfg_if-4a7bfb52e2f3bcac.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/liblibc-0e34d750a2a5ea4f.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/liballoc-7e50779556d46264.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/librustc_std_workspace_core-91635fcf4ade01cc.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libcore-88566b8a8dea6ac4.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libcompiler_builtins-4d2eba102ddf9fce.rlib" "-lSystem" "-lresolv" "-lc" "-lm" "-liconv" "-L" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib" "-o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/proc-macro2-0010549b0f3b10bf/build_script_build-0010549b0f3b10bf" "-Wl,-dead_strip" "-nodefaultlibs"
  = note: cc: error: arm64: No such file or directory
          cc: error: unrecognized command-line option '-arch'; did you mean '-march='?


error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-arch" "arm64" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-efbb406e3d14489e/build_script_build-efbb406e3d14489e.build_script_build.29c2b518-cgu.0.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-efbb406e3d14489e/build_script_build-efbb406e3d14489e.build_script_build.29c2b518-cgu.1.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-efbb406e3d14489e/build_script_build-efbb406e3d14489e.build_script_build.29c2b518-cgu.10.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-efbb406e3d14489e/build_script_build-efbb406e3d14489e.build_script_build.29c2b518-cgu.11.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-efbb406e3d14489e/build_script_build-efbb406e3d14489e.build_script_build.29c2b518-cgu.12.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-efbb406e3d14489e/build_script_build-efbb406e3d14489e.build_script_build.29c2b518-cgu.13.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-efbb406e3d14489e/build_script_build-efbb406e3d14489e.build_script_build.29c2b518-cgu.14.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-efbb406e3d14489e/build_script_build-efbb406e3d14489e.build_script_build.29c2b518-cgu.15.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-efbb406e3d14489e/build_script_build-efbb406e3d14489e.build_script_build.29c2b518-cgu.2.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-efbb406e3d14489e/build_script_build-efbb406e3d14489e.build_script_build.29c2b518-cgu.3.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-efbb406e3d14489e/build_script_build-efbb406e3d14489e.build_script_build.29c2b518-cgu.4.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-efbb406e3d14489e/build_script_build-efbb406e3d14489e.build_script_build.29c2b518-cgu.5.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-efbb406e3d14489e/build_script_build-efbb406e3d14489e.build_script_build.29c2b518-cgu.6.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-efbb406e3d14489e/build_script_build-efbb406e3d14489e.build_script_build.29c2b518-cgu.7.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-efbb406e3d14489e/build_script_build-efbb406e3d14489e.build_script_build.29c2b518-cgu.8.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-efbb406e3d14489e/build_script_build-efbb406e3d14489e.build_script_build.29c2b518-cgu.9.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-efbb406e3d14489e/build_script_build-efbb406e3d14489e.5d4z37u641p1il40.rcgu.o" "-L" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/deps" "-L" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libstd-eb660d415c354e23.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libpanic_unwind-7de8b29ddb7a4fdf.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libobject-e8c2a79e494852bc.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libmemchr-c89ae08c96207cd8.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libaddr2line-020771383c7b28b2.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libgimli-868a41d5005b1b1e.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libstd_detect-86bb526dcb1bbaf0.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/librustc_demangle-65708c20a659c74c.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libhashbrown-ed2eeaa7b42ab93f.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/librustc_std_workspace_alloc-17e21080b73e52ac.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libunwind-6a4b349b118a2bef.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libcfg_if-4a7bfb52e2f3bcac.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/liblibc-0e34d750a2a5ea4f.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/liballoc-7e50779556d46264.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/librustc_std_workspace_core-91635fcf4ade01cc.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libcore-88566b8a8dea6ac4.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libcompiler_builtins-4d2eba102ddf9fce.rlib" "-lSystem" "-lresolv" "-lc" "-lm" "-liconv" "-L" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib" "-o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/libc-efbb406e3d14489e/build_script_build-efbb406e3d14489e" "-Wl,-dead_strip" "-nodefaultlibs"
  = note: cc: error: arm64: No such file or directory
          cc: error: unrecognized command-line option '-arch'; did you mean '-march='?


error: could not compile `libc` due to previous error
warning: build failed, waiting for other jobs to finish...
error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-arch" "arm64" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/memchr-10e762304d1133bf/build_script_build-10e762304d1133bf.build_script_build.17a14c4a-cgu.0.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/memchr-10e762304d1133bf/build_script_build-10e762304d1133bf.build_script_build.17a14c4a-cgu.1.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/memchr-10e762304d1133bf/build_script_build-10e762304d1133bf.build_script_build.17a14c4a-cgu.10.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/memchr-10e762304d1133bf/build_script_build-10e762304d1133bf.build_script_build.17a14c4a-cgu.11.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/memchr-10e762304d1133bf/build_script_build-10e762304d1133bf.build_script_build.17a14c4a-cgu.12.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/memchr-10e762304d1133bf/build_script_build-10e762304d1133bf.build_script_build.17a14c4a-cgu.13.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/memchr-10e762304d1133bf/build_script_build-10e762304d1133bf.build_script_build.17a14c4a-cgu.14.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/memchr-10e762304d1133bf/build_script_build-10e762304d1133bf.build_script_build.17a14c4a-cgu.15.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/memchr-10e762304d1133bf/build_script_build-10e762304d1133bf.build_script_build.17a14c4a-cgu.2.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/memchr-10e762304d1133bf/build_script_build-10e762304d1133bf.build_script_build.17a14c4a-cgu.3.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/memchr-10e762304d1133bf/build_script_build-10e762304d1133bf.build_script_build.17a14c4a-cgu.4.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/memchr-10e762304d1133bf/build_script_build-10e762304d1133bf.build_script_build.17a14c4a-cgu.5.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/memchr-10e762304d1133bf/build_script_build-10e762304d1133bf.build_script_build.17a14c4a-cgu.6.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/memchr-10e762304d1133bf/build_script_build-10e762304d1133bf.build_script_build.17a14c4a-cgu.7.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/memchr-10e762304d1133bf/build_script_build-10e762304d1133bf.build_script_build.17a14c4a-cgu.8.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/memchr-10e762304d1133bf/build_script_build-10e762304d1133bf.build_script_build.17a14c4a-cgu.9.rcgu.o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/memchr-10e762304d1133bf/build_script_build-10e762304d1133bf.377jslczlr4ktvrw.rcgu.o" "-L" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/deps" "-L" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libstd-eb660d415c354e23.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libpanic_unwind-7de8b29ddb7a4fdf.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libobject-e8c2a79e494852bc.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libmemchr-c89ae08c96207cd8.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libaddr2line-020771383c7b28b2.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libgimli-868a41d5005b1b1e.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libstd_detect-86bb526dcb1bbaf0.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/librustc_demangle-65708c20a659c74c.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libhashbrown-ed2eeaa7b42ab93f.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/librustc_std_workspace_alloc-17e21080b73e52ac.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libunwind-6a4b349b118a2bef.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libcfg_if-4a7bfb52e2f3bcac.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/liblibc-0e34d750a2a5ea4f.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/liballoc-7e50779556d46264.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/librustc_std_workspace_core-91635fcf4ade01cc.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libcore-88566b8a8dea6ac4.rlib" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/libcompiler_builtins-4d2eba102ddf9fce.rlib" "-lSystem" "-lresolv" "-lc" "-lm" "-liconv" "-L" "/Users/jabbar/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib" "-o" "/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX/release/build/memchr-10e762304d1133bf/build_script_build-10e762304d1133bf" "-Wl,-dead_strip" "-nodefaultlibs"
  = note: cc: error: arm64: No such file or directory
          cc: error: unrecognized command-line option '-arch'; did you mean '-march='?


error: failed to compile `zine v0.3.1`, intermediate artifacts can be found at `/var/folders/4n/qzn2l11j5fxd9q4n7cxgrp140000gn/T/cargo-installUWD1wX`

Caused by:
  build failed

Add issue article to RSS feed

The issue article did not come into the RSS inbox since we never put this article into the RSS feed.
img_v2_b294d30e-9ee1-4ae5-95b2-9dee6244ff5g

Also, we should add pub_date to the issue entity. See #145.

Add callout code block

A callout code block like Lark Docs.

```callout, bg_color: #123456, border_color: #abcdef
```

Support cdn domain

If the user uploaded the static directory to CDN, then they can specify the
CDN domain to speed up static assets request.

[site]
url = "xxx.tld"
cdn = "cdn.xxx.tld"

Zine will rewrite the CDN domain during the build stage.

Thanks @KernelErr 's suggestion.

Add makefile

we can add a makefile in this project like this:

.PHONY: help
help:
	@cat $(MAKEFILE_LIST) | grep -E '^[a-zA-Z_-]+:.*?## .*$$' | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'

.PHONY: build
build: ## Build the zine
	cargo build --release -vv

.PHONY: install
install: ## Build the zine and place it on PATH
	cargo install --path . --force --locked -vv

the install command is very useful when develop in local.

Wrongly formatted dates in the Atom feed

Visiting https://rustmagazine.github.io/feed.xml, we can see;

<published>2022-12-10</published>
<updated>2022-12-10</updated>

According to the RFC,

MUST conform to the "date-time" production in [RFC3339]

In short, the date should look something like 1996-12-19T16:39:57-08:00.

Fix invalid date panic

If we set the pub_date to 2023-1-31, it would cause panic. This should be a warning.

thread 'tokio-runtime-worker' panicked at 'The date value 2023-1-31 is invalid', src/helpers.rs:155:37

Add `zine lint` command

Add zine lint command to help detect some common misbehavior,
such as broken links, path typos in the config file, etc.
Especially, it is a good tool to auto-find broken links in the urlPreviews list of zine-data.json.

`zine serve`: Error recovery

Hello, when running zine serve and an error occurs, it would be nice if Zine would continue serving the last successful build, and display the new one once the issue is fixed.

Current behavior:

  • On missing md file: Error: Failed to read markdown file of \?\D:\dev\rust\test-zine\content\issue-1\1-first.md``, then exits
  • On invalid toml: error: invalid xx then exits
  • On invalid date formatting, like pub_date = "2022--11-28": tokio-runtime-worker' panicked at 'called `Result::unwrap()` on an `Err` value: Failed to find the root zine.toml file',<snip>\src\serve.rs:39:14, then does not recover: This one is likely the most annoying, as an automatic process restart would not happen

Support for public_url when building

What's the problem?

I'm using Zine version 0.2.1. I can't publish the build to Github Pages because the link to assets files are wrong.

When deploying to Github Pages, it's required that our assets url should be prefixed by the project name of our project.

How to reproduce the issue?

What's to be expected?

Can Zine provides a configuration public_url when building our magazine so that all the assets can be rightly prefixed?

Unexpected behaviour when running build command in build directory

When running build command in the existed build directory, a new build directory is created rather than reuse the current working directory. Maybe it's related to #25, we should change the current working directory to where the config file is rather than try to get it and parse it.

Favicon support

This issue is used to trace the support of the favicon(website icon). Currently, we have the flowing things need to pay attention to:

  • Duplicate icon definition:
    {% if site.logo -%}
    <link rel="shortcut icon" href="{{ site.logo }}">
    {% endif -%}

    {% block favicon -%}
    <link rel="icon" type="image/png" href="/favicon.ico">
    {% endblock favicon -%}

    By the way, shortcut seems to be a mistake as MDN suggests not to use it anymore.
  • The path of icons is not written.

Markdown heading render bug

I found that this might be rendering with mistakes:
Write md file like:

Test0

# `any content`

Test1

Test2

And it will render envent iters after it all to Heading.
zine

May be it connects to this question?

// Not a code block inside text, or the code block's fenced is unsupported.
// We still need record this text event.

Originally posted by @silentEAG in #100 (comment)

Support article inline link

Article inline link is a markdown shortcode to render another article link on the current page.

The syntax is like this:

`&/{issue_slug}/{article_slug}`.

Support adding topic for an article

  • Support adding tags for an article, the number of tags can be zero or more than one.
[[article]]
slug = "first"
file = "1-first.md"
title = "First Article"
author = "Zine"
pub_date = "2022-08-15"
featured = true
publish = false
+topic = ["startup", "devops"]
  • Add dedicated page for each tag to list all articles tagged with this tag.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.