Git Product home page Git Product logo

y2z / monolith Goto Github PK

View Code? Open in Web Editor NEW
10.0K 62.0 284.0 4.04 MB

⬛️ CLI tool for saving complete web pages as a single HTML file

Home Page: https://crates.io/crates/monolith

License: Creative Commons Zero v1.0 Universal

Rust 98.72% Makefile 0.12% Dockerfile 0.19% HTML 0.86% JavaScript 0.04% CSS 0.06%
save-the-internet procrastination its-mine no-more-404 tab-rehab e-hoarding make-the-internet-great-again come-and-take-it

monolith's People

Contributors

alch-emi avatar cbluth avatar chenrui333 avatar dependabot[bot] avatar fredxfred avatar herbygillot avatar jirutka avatar knidarkness avatar kraego avatar liamwarfield avatar matildepark avatar oliver-hanikel avatar rhysd avatar robatipoor avatar siscia avatar snshn avatar szepeviktor avatar thomasmerz avatar timoteostewart avatar vladdoster avatar voila avatar waldyrious avatar zfhrp6 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  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

monolith's Issues

Install / Build failure for openssl-sys - Included Resolution

When following the install instructions, I received the following error during the cargo install:

johnbelisle@JOHN-SURFACEP3:~/tools/monolith$ cargo install --path .                                                                                                             Installing monolith v2.0.8 (/home/johnbelisle/tools/monolith)                                                                                                                   Updating crates.io index                                                                                                                                                     Compiling openssl-sys v0.9.49                                                                                                                                                 Compiling rand_pcg v0.1.2                                                                                                                                                     Compiling rand_chacha v0.1.1                                                                                                                                                  Compiling memoffset v0.5.1                                                                                                                                                 error: failed to run custom build command for `openssl-sys v0.9.49`                                                                                                                                                                                                                                                                                         Caused by:                                                                                                                                                                      process didn't exit successfully: `/home/johnbelisle/tools/monolith/target/release/build/openssl-sys-acc6cf0f5e926ccc/build-script-main` (exit code: 101)                   --- stdout                                                                                                                                                                    cargo:rustc-cfg=const_fn                                                                                                                                                      cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR                                                                                                           X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR unset                                                                                                                                cargo:rerun-if-env-changed=OPENSSL_LIB_DIR                                                                                                                                    OPENSSL_LIB_DIR unset                                                                                                                                                         cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR                                                                                                       X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR unset                                                                                                                            cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR                                                                                                                                OPENSSL_INCLUDE_DIR unset                                                                                                                                                     cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR
X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR unset
cargo:rerun-if-env-changed=OPENSSL_DIR
OPENSSL_DIR unset
run pkg_config fail: "`\"pkg-config\" \"--libs\" \"--cflags\" \"openssl\"` did not exit successfully: exit code: 1\n--- stderr\nPackage openssl was not found in the pkg-config search path.\nPerhaps you should add the directory containing `openssl.pc\'\nto the PKG_CONFIG_PATH environment variable\nNo package \'openssl\' found\n"

--- stderr
thread 'main' panicked at '

Could not find directory of OpenSSL installation, and this `-sys` crate cannot
                                                                                                                                                                              Caused by:                                                                                                                                                                      build failed                                                                                                                                                               

I was able to resolve by installing libssl-dev on my Ubuntu env (Win10 WSL Ubuntu 18 LTS to be exact):

sudo apt install libssl-dev 

Install was successful after this. I'm a newb with respect to Rust and the ecosystem, but this documentation may help others experiencing the same issue. Maybe it would be a good idea to consider including this as a pre-requisite or part of some install step? Ideally it would be a pre-check during cargo install time?

Thanks!

Build failed on Linux

I followed the instructions in the README file and I got the followting error:

(...)
   Compiling monolith v2.0.14 (/home/bingen/Downloads/monolith)
error[E0502]: cannot borrow `response` as mutable because it is also borrowed as immutable
  --> src/http.rs:64:13
   |
51 |         let final_url = response.url().as_str();
   |                         -------- immutable borrow occurs here
...
64 |             response.copy_to(&mut data)?;
   |             ^^^^^^^^ mutable borrow occurs here
...
81 |     }
   |     - immutable borrow ends here

error[E0502]: cannot borrow `response` as mutable because it is also borrowed as immutable
  --> src/http.rs:79:16
   |
51 |         let final_url = response.url().as_str();
   |                         -------- immutable borrow occurs here
...
79 |             Ok(response.text().unwrap())
   |                ^^^^^^^^ mutable borrow occurs here
80 |         }
81 |     }
   |     - immutable borrow ends here

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0502`.
error: failed to compile `monolith v2.0.14 (/home/bingen/Downloads/monolith)`, intermediate artifacts can be found at `/home/bingen/Downloads/monolith/target`

Caused by:
  Could not compile `monolith`.

I'm on a Debian based distro, using cargo 1.35.0 and using current master branch (commit fada788).

Specifying User Agent: required & appropriate string syntax

Hi,

I tried monlith with the following:

monolith https://www.nytimes.com/2019/08/25/world/europe/g7-iran-trump-biarritz.html > test.html

I got the following error message:

error: The following required arguments were not provided: --user-agent <Iceweasel>

I thought this was optional.

If not, what is an example of the proper syntax for providing this argument ?

Thanks,

Howard

Timeout causing panic

With a slow/unreliable internet connection then keep getting this error:

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error(Io(Custom { kind: TimedOut, error: "timed out" }), 
"https://www.kinesisbikes.co.uk/Catalogue/Models/Adventure/Tripster-AT")', src/libcore/result.rs:999:5

Cannot build for raspbian (Raspberry Pi 3B+)

Following the instructions to build this myself and I'm seeing:

cargo install --path .                                                                                                                          master
    Updating registry `https://github.com/rust-lang/crates.io-index`
    Updating registry `https://github.com/rust-lang/crates.io-index`
error: failed to compile `monolith v2.1.2 (file:///home/pi/monolith)`, intermediate artifacts can be found at `/home/pi/monolith/target`

Caused by:
  no matching package named `native-tls-crate` found (required by `reqwest`)
location searched: registry https://github.com/rust-lang/crates.io-index
version required: ^0.2

Apologies if I've missed something obvious, this is my first time using cargo.

[ADR-Proposal] Architectural Redisgn, move towards OOP & isolation of responsibilities

ADR-XXXX: Use OOP for parsing framework

Date: 2020-01-07

Status

Proposed

Context

Currently, monolith's architecture is a bit, well, monolithic. The vast majority of functionality is all packed together in very few functions. On top of this, these functions are the same functions responsible for making HTTP requests, which makes them very difficult to test. Most functions are also recursive, which means that asynchronous behavior is not a simple thing to implement. And of course, the wide scope of functions makes documentation not super useful and a bit of a chore. If anyone were to use monolith as a library in its current state, they'd basically be forced to use the whole program exactly like it's used here.

On top of this, as the functionality monolith grows, the current architecture is rather averse to extension. For instance, take the recent addition of CSS parsing: Instead of conforming to any generalizable frameworks, this addition requires calling an ad-hoc method that's kinda sloppily joined with the main HTML parser (with no bridge in-between to allow for testability). If monolith ever adds SVG parsing, or a custom processor for images (#89), this process will be repeated, leaving a tangled mess of methods with no clear organization, masturbating all the other problems mentioned.

Current Flow

This diagram is a simplified representation of the call graph. Functions in grey call (either directly or indirectly) a method of reqwest that makes an external HTTP request, and are thus difficult to test and isolate.

TLDR:

  • Monolithic API
  • HTTP requests make testing near-impossible
  • Recursion makes async difficult
  • Wide scope of functions makes documentation rough
  • rigid, ad hoc methods make extension difficult
  • Growth requires making all of the above worse

Decision

I propose a complete architectural overhaul.

What we need is a comprehensive framework that can be used to fit multiple purposes, and provides a way for many parsers (and potentially end-user-added parsers) to co-operate without direct knowledge of each other. This framework needs to be able to provide all the logic needed for HTTP requests, without requiring parsing code to get mixed up in those details, leaving it completely testable. Finally, the framework should support the new async functionality in Rust, which means that recursion should be avoided where async code is involved.

In short, we need a framework that is:

  • Generalizable
  • Modular
  • Asynchronous
  • Capable of isolating IO logic

Specifically, I propose the following architecture:

The framework shall consist of two key components, Resource and Asset.

Resource shall be a trait that denotes a parser for a certain type of resource. Resources shall receive some data, produce a list of needed remote assets, and once those assets have been provided, shall render the completed document.

Asset shall be a structure wrapping some potentially undownloaded Resource. Assets will store the location and type of a resource. When given an empty Resource (that is, a specific instance that has yet to be fed any data), Assets will offer methods for downloading data and feeding it into the Resource.

Instead of recursive calls to fetch child assets, when a Resource has requisite child assets, it shall internally create Assets to represent them. It will then offer mutable references to these Assets such that the user or method working with the resource can download them in the same way (and stack level) as the original resource was downloaded.

In order to enable the modularity of parsers, Assets do not necessarily present a specific implementation of Resource that must be used to parse that Asset, as this would prevent end users from swapping in and out Resources without re-writing all parsing code. Instead, Assets provide a partial or complete MIME type, and allow the user to decide based on that MIME type what kind of Resource to use to parse the data.

By making all of this customization possible, however, we risk making basic use over complicated. In order to avert this, we shall include several methods that generalize or provide default behavior. Importantly, the Asset::auto_select_resource_type method shall provide a default logic for the selection of Resources, and the Asset::download_complete method shall provide the logic for downloading an Asset and all child Assets.

Proposed Flow

Consequences

  • The implementation of this will require a considerable amount of review, and the reconciliation of this design with the current architecture will likely take a sizable amount of work.
  • Such a large change opens up lots of opportunity for the development of bugs and other problems.
  • If this design is unsatisfactory, or we end up wanting a different architecture, or even just a change in this architecture, it will be even more work to develop that change after (and if) this is finalized.
  • This implementation, (and pretty much all async implementations) requires putting resources on the heap instead of on the stack, which may have consiquences

Notes

  • I've put the ADR for this change in an issue rather than a PR adding it to the collection for now, since ADRs aren't finalized for use on master yet.
  • I've already created a functioning proof-of-concept for this design, with a complete framework, currently branch Alch_Emi/redesign on commit 27534a. This implementation doesn't have any complex parsers or options implemented yet, and requires a significant amount more work to reconcile with the current code, but does demonstrate the functionality of this approach. The docs for this code (and thus this design) are located temporarily at https://alchemi.dev/doc/monolith. That said, I'm open to making any changes to the design, or throwing it away completely if necessary.
  • Sorry these graphs aren't hosted on GitHub (GH didn't like the SVGs), but the dot source code used to render them is available in the above repository.
  • I'd be willing to but in the work to merge this in, but I want to make sure it's definitely something we'd want and to make any needed changes before I continue.
  • This issue affects:
    • Issue #20 / #72: This change exposes a less monolithic API that is more suitable for documentation and export.
    • Issue #4 (even though it's closed): This change is already asynchronous
    • Issue #89: Having a framework for handling assets by MIME type makes this task a lot easier

certificate verify failed

monolith https://lyrics.github.io/db/p/portishead/dummy/roads/ > portishead-roads-lyrics.html
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error(Hyper(Error(Connect, Custom { kind: Other, error: Ssl(Error { code: ErrorCode(1), cause: Some(Ssl(ErrorStack([Error { code: 337047686, library: "SSL routines", function: "tls_process_server_certificate", reason: "certificate verify failed", file: "../ssl/statem/statem_clnt.c", line: 1924 }]))) }, X509VerifyResult { code: 19, error: "self signed certificate in certificate chain" }) })), "https://lyrics.github.io/db/p/portishead/dummy/roads/")', src/libcore/result.rs:997:5
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

add option to ignore CA authority. eg) --insecure option

> Aside from being a CLI tool, monolith has potential to be used as a library and published on crates.io. For this feature to be implemented we first need to design API for monolith, for the most part how we provide options (instead of parameters via CLI).

Aside from being a CLI tool, monolith has potential to be used as a library and published on crates.io. For this feature to be implemented we first need to design API for monolith, for the most part how we provide options (instead of parameters via CLI).

Originally posted by @jirayutza1 in #72 (comment)

Minimize images

Are you planning to add an option to minimize/optimize images in addition to turning them off completely?

Thanks for creating this, by the way, it's super useful!

Put pre-built executables in releases page

Hi,

This tool requires building from source to install. However, it requires Rust toolchain and it is sometimes hard for people. For example, those who are not familiar with Rust need to know Rust toolchain such as cargo only for installing this tool. And for another example, Windows user may need to prepare entire build toolchain for installing this tool because Visual Studio is not installed by default.

I want to suggest to put pre-built executables in releases page. Since we already have set CI, Travis CI and Appveyor can build executables and put them on the release page when making a new Git tag.

Fortunately I have experience to setup CI to deploy executables at git-brws so I can work on this. Only thing I cannot do is generating an encrypted deploy keys for both services due to permission:

How to generate them is described in below docs:

Support cookies.txt

wget and httrack allow use of a file called cookies.txt to facilitate things like authentication -- this would be really useful for a variety of circumstances.

add option to send headers/cookies

It would be great to use this as a final step in a selenium scrape or other browser driver which may require session state. Then this could pick up the final step (session included) and dump the desired result.

Add option to isolate pages

Injecting <meta http-equiv="Content-Security-Policy" content="default-src 'unsafe-inline' data:;"> as the first node within <head> should prevent browsers from requesting any remote resources from within saved pages.

error: linker `link.exe` not found

error: linker link.exe not found
|
= note: 系统找不到指定的文件。 (os error 2)

note: the msvc targets depend on the msvc linker but link.exe was not found

note: please ensure that VS 2013, VS 2015, VS 2017 or VS 2019 was installed with the Visual C++ option

error: aborting due to previous error

error: could not compile log.
warning: build failed, waiting for other jobs to finish...
error: linker link.exe not found
|
= note: 系统找不到指定的文件。 (os error 2)

note: the msvc targets depend on the msvc linker but link.exe was not found

note: please ensure that VS 2013, VS 2015, VS 2017 or VS 2019 was installed with the Visual C++ option

error: aborting due to previous error

error: linker link.exe not found
|
= note: 系统找不到指定的文件。 (os error 2)

note: the msvc targets depend on the msvc linker but link.exe was not found

note: please ensure that VS 2013, VS 2015, VS 2017 or VS 2019 was installed with the Visual C++ option

error: aborting due to previous error

error: could not compile serde.
warning: build failed, waiting for other jobs to finish...
error: could not compile syn.
warning: build failed, waiting for other jobs to finish...
error: linker link.exe not found
|
= note: 系统找不到指定的文件。 (os error 2)

note: the msvc targets depend on the msvc linker but link.exe was not found

note: please ensure that VS 2013, VS 2015, VS 2017 or VS 2019 was installed with the Visual C++ option

error: aborting due to previous error

error: could not compile maybe-uninit.
warning: build failed, waiting for other jobs to finish...
error: linker link.exe not found
|
= note: 系统找不到指定的文件。 (os error 2)

note: the msvc targets depend on the msvc linker but link.exe was not found

note: please ensure that VS 2013, VS 2015, VS 2017 or VS 2019 was installed with the Visual C++ option

error: aborting due to previous error

error: could not compile libc.
warning: build failed, waiting for other jobs to finish...
error: linker link.exe not found
|
= note: 系统找不到指定的文件。 (os error 2)

note: the msvc targets depend on the msvc linker but link.exe was not found

note: please ensure that VS 2013, VS 2015, VS 2017 or VS 2019 was installed with the Visual C++ option

error: aborting due to previous error

error: could not compile proc-macro2.
warning: build failed, waiting for other jobs to finish...
error: linker link.exe not found
|
= note: 系统找不到指定的文件。 (os error 2)

note: the msvc targets depend on the msvc linker but link.exe was not found

note: please ensure that VS 2013, VS 2015, VS 2017 or VS 2019 was installed with the Visual C++ option

error: aborting due to previous error

error: could not compile byteorder.
warning: build failed, waiting for other jobs to finish...
error: linker link.exe not found
|
= note: 系统找不到指定的文件。 (os error 2)

note: the msvc targets depend on the msvc linker but link.exe was not found

note: please ensure that VS 2013, VS 2015, VS 2017 or VS 2019 was installed with the Visual C++ option

error: aborting due to previous error

error: failed to compile monolith v2.0.23 (C:\Users\cheng\monolith), intermediate artifacts can be found at C:\Users\cheng\monolith\target

Caused by:
could not compile winapi.

To learn more, run the command again with --verbose.

CSS is broken after #78 (Load URLs in CSS and style attributes)

Pre-condition

  • monolith: 2959310
  • Rust: 1.39.0
  • macOS: 10.14

Repro

git clone https://github.com/Y2Z/monolith.git && cd monolith
cargo run -- 'https://github.com/rhysd' > tmp.html
open tmp.html

Expected behavior

Opened HTML page looks the same as https://github.com/rhysd

Actual behavior

Page is broken:

スクリーンショット 2019-12-26 16 55 50

I pasted the generated HTML file here (size: 3.7MB).

Description

I bisected this issue and confirmed:

So I think this is a regression added by #78. I did not look into the generated HTML file, but it seemed that CSS was not applied properly.

Logo of CN NewYork Times missing

The logo of CN NewYork Times is wrapped inside an SVG element. I don't know why they make it that way, but this results in missing logo in isolated HTML.

The live version, with normal logo:

image

Saved isolated HTML, with missing logo image:

image

Monolith needs to become an importable crate

Aside from being a CLI tool, monolith has potential to be used as a library and published on crates.io. For this feature to be implemented we first need to design API for monolith, for the most part how we provide options (instead of parameters via CLI).

Build failed on macOS

  Installing monolith v2.0.9 (file:///Users/bing/test/monolith)
   Compiling slab v0.4.2
   Compiling ansi_term v0.11.0
   Compiling smallvec v0.6.10
   Compiling try-lock v0.2.2
   Compiling ryu v1.0.0
   Compiling owning_ref v0.4.0
   Compiling arrayvec v0.4.11
   Compiling serde v1.0.99
   Compiling rand_core v0.4.2
error[E0432]: unresolved import `std::mem::ManuallyDrop`
  --> /Users/bing/.cargo/registry/src/github.com-1ecc6299db9ec823/smallvec-0.6.10/lib.rs:60:5
   |
60 | use std::mem::ManuallyDrop;
   |     ^^^^^^^^^^^^^^^^^^^^^^ no `ManuallyDrop` in `mem`

error: this needs a `'static` lifetime or the `static_in_const` feature, see #35897
  --> /Users/bing/.cargo/registry/src/github.com-1ecc6299db9ec823/ansi_term-0.11.0/src/ansi.rs:80:19
   |
80 | pub static RESET: &str = "\x1B[0m";
   |                   ^

error: aborting due to previous error

error: struct field shorthands are unstable (see issue #37340)
   --> /Users/bing/.cargo/registry/src/github.com-1ecc6299db9ec823/smallvec-0.6.10/lib.rs:458:21
    |
458 |                     data,
    |                     ^^^^

error: struct field shorthands are unstable (see issue #37340)
    --> /Users/bing/.cargo/registry/src/github.com-1ecc6299db9ec823/smallvec-0.6.10/lib.rs:1029:13
     |
1029 |             capacity,
     |             ^^^^^^^^

error: aborting due to 2 previous errors

error: Could not compile `ansi_term`.
Build failed, waiting for other jobs to finish...
error: Could not compile `smallvec`.
Build failed, waiting for other jobs to finish...
error: struct field shorthands are unstable (see issue #37340)
   --> /Users/bing/.cargo/registry/src/github.com-1ecc6299db9ec823/rand_core-0.4.2/src/error.rs:102:21
    |
102 |             Error { kind, msg, cause: None }
    |                     ^^^^

error: struct field shorthands are unstable (see issue #37340)
   --> /Users/bing/.cargo/registry/src/github.com-1ecc6299db9ec823/rand_core-0.4.2/src/error.rs:102:27
    |
102 |             Error { kind, msg, cause: None }
    |                           ^^^

error: struct field shorthands are unstable (see issue #37340)
   --> /Users/bing/.cargo/registry/src/github.com-1ecc6299db9ec823/rand_core-0.4.2/src/error.rs:122:17
    |
122 |         Error { kind, msg, cause: Some(cause.into()) }
    |                 ^^^^

error: struct field shorthands are unstable (see issue #37340)
   --> /Users/bing/.cargo/registry/src/github.com-1ecc6299db9ec823/rand_core-0.4.2/src/error.rs:122:23
    |
122 |         Error { kind, msg, cause: Some(cause.into()) }
    |                       ^^^

error: struct field shorthands are unstable (see issue #37340)
   --> /Users/bing/.cargo/registry/src/github.com-1ecc6299db9ec823/rand_core-0.4.2/src/block.rs:138:13
    |
138 |             core,
    |             ^^^^

error: struct field shorthands are unstable (see issue #37340)
   --> /Users/bing/.cargo/registry/src/github.com-1ecc6299db9ec823/rand_core-0.4.2/src/block.rs:311:13
    |
311 |             core,
    |             ^^^^

error: aborting due to 6 previous errors

error: Could not compile `rand_core`.
Build failed, waiting for other jobs to finish...
error: failed to compile `monolith v2.0.9 (file:///Users/bing/test/monolith)`, intermediate artifacts can be found at `/Users/bing/test/monolith/target`

Caused by:
  build failed

Any idea on the problem? Thanks!

Network requests need caching

It's redundant to request the same resource multiple times while saving the web page. Happens to be rather a rare occurrence with how today's websites include content, but it's still something that can happen (e.g. downloading the same resource for <img />). I believe the best place to implement it would be http.rs.

API for monolith

Is it possible to create an API endpoint where you send the website link to the endpoint and it returns the html page so that you can save this on the server?

For example:
[GET] domain.monolith.com/savepage?link=www.targetwebsite.com

If there is interest in this, I would love to contribute.

XML serialization

Hello,

great project!

Wouldn't serialization as XHTML5 add to the aspect of "ease of use" and "archival" by allowing to place queries against the static X(HT)ML files using XPath utilities like Saxon, BaseX or Xidel? That would make a dream come true, for me.

HTML differs per platform

I encountered this very strange phenomenon. I have 2 platforms: a Linux server, and a macOS laptop.

Now for this URL: https://www.sohu.com/a/347860063_120094087. I saved HTML files with monolith 2.1.2 using the same command:

monolith -o output.html -u "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.0 Safari/537.36" -I "https://www.sohu.com/a/347860063_120094087"

Now this is strange: the HTML saved on macOS, you can read the whole article. But for the HTML saved on Linux, there is a read more button in the middle, and the rest of the article is hidden with display: none via CSS class .article-page .control-hide. As can be seen in the following screenshot:

image

On macOS I installed monolith via homebrew: brew install monolith. On Linux I built the binary within a docker container, the command is from here.

Notice that with the docker run command I actually built the binary from master branch. But I don't think it affects anything, because no source code has been modified since 2.1.2 was released.

Update: these are the last lines of the compiling output:

Compiling monolith v2.1.2 (https://github.com/Y2Z/monolith#1e834854)
    Finished release [optimized] target(s) in 6m 36s
  Installing /usr/local/cargo/bin/monolith
   Installed package `monolith v2.1.2 (https://github.com/Y2Z/monolith#1e834854)` (executable `monolith`)

So I guess the Linux binary was built from the 2.1.2 tag correctly.

On both platforms monolith --version returns monolith 2.1.2.

Could not compile 'winapi"

I'm not sure how to proceed. The build fails to compile on Windows 10.


$ cargo --version cargo 1.37.0 (9edd08916 2019-08-02)


user_@user MINGW64 ~/monolith (master) $ cargo install --path . Installing monolith v2.0.11 (C:\Users\user \monolith) Updating crates.io index Compiling winapi v0.3.7 Compiling proc-macro2 v1.0.1 Compiling byteorder v1.3.2 Compiling arrayvec v0.4.11 Compiling log v0.4.8 Compiling syn v1.0.4 Compiling libc v0.2.62 Compiling proc-macro2 v0.4.30 error: linking withlink.exe` failed: exit code: 1
|
= note: "link.exe" "/NOLOGO" "/NXCOMPAT" "/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "C:\Users\user \monolith\target\release\build\log-7295a94edcfaca5c\build_script_build-7295a94edcfaca5c.build_script_build.aqi05dte-cgu.0.rcgu.o" "C:\Users\user \monolith\target\release\build\log-7295a94edcfaca5c\build_script_build-7295a94edcfaca5c.build_script_build.aqi05dte-cgu.1.rcgu.o" "C:\Users\user \monolith\target\release\build\log-7295a94edcfaca5c\build_script_build-7295a94edcfaca5c.build_script_build.aqi05dte-cgu.2.rcgu.o" "C:\Users\user \monolith\target\release\build\log-7295a94edcfaca5c\build_script_build-7295a94edcfaca5c.build_script_build.aqi05dte-cgu.3.rcgu.o" "C:\Users\user \monolith\target\release\build\log-7295a94edcfaca5c\build_script_build-7295a94edcfaca5c.build_script_build.aqi05dte-cgu.4.rcgu.o" "C:\Users\user \monolith\target\release\build\log-7295a94edcfaca5c\build_script_build-7295a94edcfaca5c.build_script_build.aqi05dte-cgu.5.rcgu.o" "C:\Users\user \monolith\target\release\build\log-7295a94edcfaca5c\build_script_build-7295a94edcfaca5c.build_script_build.aqi05dte-cgu.6.rcgu.o" "C:\Users\user \monolith\target\release\build\log-7295a94edcfaca5c\build_script_build-7295a94edcfaca5c.build_script_build.aqi05dte-cgu.7.rcgu.o" "C:\Users\user \monolith\target\release\build\log-7295a94edcfaca5c\build_script_build-7295a94edcfaca5c.build_script_build.aqi05dte-cgu.8.rcgu.o" "C:\Users\user \monolith\target\release\build\log-7295a94edcfaca5c\build_script_build-7295a94edcfaca5c.build_script_build.aqi05dte-cgu.9.rcgu.o" "/OUT:C:\Users\user \monolith\target\release\build\log-7295a94edcfaca5c\build_script_build-7295a94edcfaca5c.exe" "C:\Users\user \monolith\target\release\build\log-7295a94edcfaca5c\build_script_build-7295a94edcfaca5c.1ecnssxauf5qbpp0.rcgu.o" "/OPT:REF,ICF" "/DEBUG" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\intrinsic.natvis" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\liballoc.natvis" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\libcore.natvis" "/LIBPATH:C:\Users\user \monolith\target\release\deps" "/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libstd-b2f27b8d08c4688f.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libpanic_unwind-9c73c9c2e052b2f1.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libbacktrace-7a588e8fa018f6bc.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_demangle-74b71f441b8acffe.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libhashbrown-42efce06651eab9c.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_alloc-7518db6030684168.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libunwind-f7edde5930d50b47.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcfg_if-30189c8e78e151e8.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liblibc-5f5719f1cab83a12.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liballoc-f297c401e81b90c6.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_core-f8c80c1aefab6a32.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcore-6d66b6e58725d3ed.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcompiler_builtins-1f6a73e107798f53.rlib" "advapi32.lib" "ws2_32.lib" "userenv.lib" "msvcrt.lib"
= note: /usr/bin/link: extra operand ‘/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib’
Try '/usr/bin/link --help' for more information.

error: aborting due to previous error

error: Could not compile log.
warning: build failed, waiting for other jobs to finish...
error: linking with link.exe failed: exit code: 1
|
= note: "link.exe" "/NOLOGO" "/NXCOMPAT" "/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "C:\Users\user \monolith\target\release\build\arrayvec-4ef73ebbe1b073d3\build_script_build-4ef73ebbe1b073d3.build_script_build.ejkroj81-cgu.0.rcgu.o" "C:\Users\user \monolith\target\release\build\arrayvec-4ef73ebbe1b073d3\build_script_build-4ef73ebbe1b073d3.build_script_build.ejkroj81-cgu.1.rcgu.o" "C:\Users\user \monolith\target\release\build\arrayvec-4ef73ebbe1b073d3\build_script_build-4ef73ebbe1b073d3.build_script_build.ejkroj81-cgu.10.rcgu.o" "C:\Users\user \monolith\target\release\build\arrayvec-4ef73ebbe1b073d3\build_script_build-4ef73ebbe1b073d3.build_script_build.ejkroj81-cgu.11.rcgu.o" "C:\Users\user \monolith\target\release\build\arrayvec-4ef73ebbe1b073d3\build_script_build-4ef73ebbe1b073d3.build_script_build.ejkroj81-cgu.12.rcgu.o" "C:\Users\user \monolith\target\release\build\arrayvec-4ef73ebbe1b073d3\build_script_build-4ef73ebbe1b073d3.build_script_build.ejkroj81-cgu.13.rcgu.o" "C:\Users\user \monolith\target\release\build\arrayvec-4ef73ebbe1b073d3\build_script_build-4ef73ebbe1b073d3.build_script_build.ejkroj81-cgu.14.rcgu.o" "C:\Users\user \monolith\target\release\build\arrayvec-4ef73ebbe1b073d3\build_script_build-4ef73ebbe1b073d3.build_script_build.ejkroj81-cgu.15.rcgu.o" "C:\Users\user \monolith\target\release\build\arrayvec-4ef73ebbe1b073d3\build_script_build-4ef73ebbe1b073d3.build_script_build.ejkroj81-cgu.2.rcgu.o" "C:\Users\user \monolith\target\release\build\arrayvec-4ef73ebbe1b073d3\build_script_build-4ef73ebbe1b073d3.build_script_build.ejkroj81-cgu.3.rcgu.o" "C:\Users\user \monolith\target\release\build\arrayvec-4ef73ebbe1b073d3\build_script_build-4ef73ebbe1b073d3.build_script_build.ejkroj81-cgu.4.rcgu.o" "C:\Users\user \monolith\target\release\build\arrayvec-4ef73ebbe1b073d3\build_script_build-4ef73ebbe1b073d3.build_script_build.ejkroj81-cgu.5.rcgu.o" "C:\Users\user \monolith\target\release\build\arrayvec-4ef73ebbe1b073d3\build_script_build-4ef73ebbe1b073d3.build_script_build.ejkroj81-cgu.6.rcgu.o" "C:\Users\user \monolith\target\release\build\arrayvec-4ef73ebbe1b073d3\build_script_build-4ef73ebbe1b073d3.build_script_build.ejkroj81-cgu.7.rcgu.o" "C:\Users\user \monolith\target\release\build\arrayvec-4ef73ebbe1b073d3\build_script_build-4ef73ebbe1b073d3.build_script_build.ejkroj81-cgu.8.rcgu.o" "C:\Users\user \monolith\target\release\build\arrayvec-4ef73ebbe1b073d3\build_script_build-4ef73ebbe1b073d3.build_script_build.ejkroj81-cgu.9.rcgu.o" "/OUT:C:\Users\user \monolith\target\release\build\arrayvec-4ef73ebbe1b073d3\build_script_build-4ef73ebbe1b073d3.exe" "C:\Users\user \monolith\target\release\build\arrayvec-4ef73ebbe1b073d3\build_script_build-4ef73ebbe1b073d3.2va5b8oks5jm5v5.rcgu.o" "/OPT:REF,ICF" "/DEBUG" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\intrinsic.natvis" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\liballoc.natvis" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\libcore.natvis" "/LIBPATH:C:\Users\user \monolith\target\release\deps" "/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libstd-b2f27b8d08c4688f.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libpanic_unwind-9c73c9c2e052b2f1.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libbacktrace-7a588e8fa018f6bc.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_demangle-74b71f441b8acffe.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libhashbrown-42efce06651eab9c.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_alloc-7518db6030684168.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libunwind-f7edde5930d50b47.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcfg_if-30189c8e78e151e8.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liblibc-5f5719f1cab83a12.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liballoc-f297c401e81b90c6.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_core-f8c80c1aefab6a32.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcore-6d66b6e58725d3ed.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcompiler_builtins-1f6a73e107798f53.rlib" "advapi32.lib" "ws2_32.lib" "userenv.lib" "msvcrt.lib"
= note: /usr/bin/link: extra operand ‘/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib’
Try '/usr/bin/link --help' for more information.

error: aborting due to previous error

error: Could not compile arrayvec.
warning: build failed, waiting for other jobs to finish...
error: linking with link.exe failed: exit code: 1
|
= note: "link.exe" "/NOLOGO" "/NXCOMPAT" "/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "C:\Users\user \monolith\target\release\build\libc-3758e2a353af47c0\build_script_build-3758e2a353af47c0.build_script_build.chdpqeqf-cgu.0.rcgu.o" "C:\Users\user \monolith\target\release\build\libc-3758e2a353af47c0\build_script_build-3758e2a353af47c0.build_script_build.chdpqeqf-cgu.1.rcgu.o" "C:\Users\user \monolith\target\release\build\libc-3758e2a353af47c0\build_script_build-3758e2a353af47c0.build_script_build.chdpqeqf-cgu.10.rcgu.o" "C:\Users\user \monolith\target\release\build\libc-3758e2a353af47c0\build_script_build-3758e2a353af47c0.build_script_build.chdpqeqf-cgu.11.rcgu.o" "C:\Users\user \monolith\target\release\build\libc-3758e2a353af47c0\build_script_build-3758e2a353af47c0.build_script_build.chdpqeqf-cgu.12.rcgu.o" "C:\Users\user \monolith\target\release\build\libc-3758e2a353af47c0\build_script_build-3758e2a353af47c0.build_script_build.chdpqeqf-cgu.13.rcgu.o" "C:\Users\user \monolith\target\release\build\libc-3758e2a353af47c0\build_script_build-3758e2a353af47c0.build_script_build.chdpqeqf-cgu.2.rcgu.o" "C:\Users\user \monolith\target\release\build\libc-3758e2a353af47c0\build_script_build-3758e2a353af47c0.build_script_build.chdpqeqf-cgu.3.rcgu.o" "C:\Users\user \monolith\target\release\build\libc-3758e2a353af47c0\build_script_build-3758e2a353af47c0.build_script_build.chdpqeqf-cgu.4.rcgu.o" "C:\Users\user \monolith\target\release\build\libc-3758e2a353af47c0\build_script_build-3758e2a353af47c0.build_script_build.chdpqeqf-cgu.5.rcgu.o" "C:\Users\user \monolith\target\release\build\libc-3758e2a353af47c0\build_script_build-3758e2a353af47c0.build_script_build.chdpqeqf-cgu.6.rcgu.o" "C:\Users\user \monolith\target\release\build\libc-3758e2a353af47c0\build_script_build-3758e2a353af47c0.build_script_build.chdpqeqf-cgu.7.rcgu.o" "C:\Users\user \monolith\target\release\build\libc-3758e2a353af47c0\build_script_build-3758e2a353af47c0.build_script_build.chdpqeqf-cgu.8.rcgu.o" "C:\Users\user \monolith\target\release\build\libc-3758e2a353af47c0\build_script_build-3758e2a353af47c0.build_script_build.chdpqeqf-cgu.9.rcgu.o" "/OUT:C:\Users\user \monolith\target\release\build\libc-3758e2a353af47c0\build_script_build-3758e2a353af47c0.exe" "C:\Users\user \monolith\target\release\build\libc-3758e2a353af47c0\build_script_build-3758e2a353af47c0.1wpaywfaqml0ibgo.rcgu.o" "/OPT:REF,ICF" "/DEBUG" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\intrinsic.natvis" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\liballoc.natvis" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\libcore.natvis" "/LIBPATH:C:\Users\user \monolith\target\release\deps" "/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libstd-b2f27b8d08c4688f.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libpanic_unwind-9c73c9c2e052b2f1.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libbacktrace-7a588e8fa018f6bc.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_demangle-74b71f441b8acffe.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libhashbrown-42efce06651eab9c.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_alloc-7518db6030684168.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libunwind-f7edde5930d50b47.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcfg_if-30189c8e78e151e8.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liblibc-5f5719f1cab83a12.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liballoc-f297c401e81b90c6.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_core-f8c80c1aefab6a32.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcore-6d66b6e58725d3ed.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcompiler_builtins-1f6a73e107798f53.rlib" "advapi32.lib" "ws2_32.lib" "userenv.lib" "msvcrt.lib"
= note: /usr/bin/link: extra operand ‘/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib’
Try '/usr/bin/link --help' for more information.

error: aborting due to previous error

error: linking with link.exe failed: exit code: 1
|
= note: "link.exe" "/NOLOGO" "/NXCOMPAT" "/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "C:\Users\user \monolith\target\release\build\syn-df14a06122a91b3b\build_script_build-df14a06122a91b3b.build_script_build.beaice4d-cgu.0.rcgu.o" "C:\Users\user \monolith\target\release\build\syn-df14a06122a91b3b\build_script_build-df14a06122a91b3b.build_script_build.beaice4d-cgu.1.rcgu.o" "C:\Users\user \monolith\target\release\build\syn-df14a06122a91b3b\build_script_build-df14a06122a91b3b.build_script_build.beaice4d-cgu.10.rcgu.o" "C:\Users\user \monolith\target\release\build\syn-df14a06122a91b3b\build_script_build-df14a06122a91b3b.build_script_build.beaice4d-cgu.11.rcgu.o" "C:\Users\user \monolith\target\release\build\syn-df14a06122a91b3b\build_script_build-df14a06122a91b3b.build_script_build.beaice4d-cgu.12.rcgu.o" "C:\Users\user \monolith\target\release\build\syn-df14a06122a91b3b\build_script_build-df14a06122a91b3b.build_script_build.beaice4d-cgu.13.rcgu.o" "C:\Users\user \monolith\target\release\build\syn-df14a06122a91b3b\build_script_build-df14a06122a91b3b.build_script_build.beaice4d-cgu.14.rcgu.o" "C:\Users\user \monolith\target\release\build\syn-df14a06122a91b3b\build_script_build-df14a06122a91b3b.build_script_build.beaice4d-cgu.15.rcgu.o" "C:\Users\user \monolith\target\release\build\syn-df14a06122a91b3b\build_script_build-df14a06122a91b3b.build_script_build.beaice4d-cgu.2.rcgu.o" "C:\Users\user \monolith\target\release\build\syn-df14a06122a91b3b\build_script_build-df14a06122a91b3b.build_script_build.beaice4d-cgu.3.rcgu.o" "C:\Users\user \monolith\target\release\build\syn-df14a06122a91b3b\build_script_build-df14a06122a91b3b.build_script_build.beaice4d-cgu.4.rcgu.o" "C:\Users\user \monolith\target\release\build\syn-df14a06122a91b3b\build_script_build-df14a06122a91b3b.build_script_build.beaice4d-cgu.5.rcgu.o" "C:\Users\user \monolith\target\release\build\syn-df14a06122a91b3b\build_script_build-df14a06122a91b3b.build_script_build.beaice4d-cgu.6.rcgu.o" "C:\Users\user \monolith\target\release\build\syn-df14a06122a91b3b\build_script_build-df14a06122a91b3b.build_script_build.beaice4d-cgu.7.rcgu.o" "C:\Users\user \monolith\target\release\build\syn-df14a06122a91b3b\build_script_build-df14a06122a91b3b.build_script_build.beaice4d-cgu.8.rcgu.o" "C:\Users\user \monolith\target\release\build\syn-df14a06122a91b3b\build_script_build-df14a06122a91b3b.build_script_build.beaice4d-cgu.9.rcgu.o" "/OUT:C:\Users\user \monolith\target\release\build\syn-df14a06122a91b3b\build_script_build-df14a06122a91b3b.exe" "C:\Users\user \monolith\target\release\build\syn-df14a06122a91b3b\build_script_build-df14a06122a91b3b.5b7obihyyel81sju.rcgu.o" "/OPT:REF,ICF" "/DEBUG" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\intrinsic.natvis" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\liballoc.natvis" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\libcore.natvis" "/LIBPATH:C:\Users\user \monolith\target\release\deps" "/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libstd-b2f27b8d08c4688f.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libpanic_unwind-9c73c9c2e052b2f1.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libbacktrace-7a588e8fa018f6bc.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_demangle-74b71f441b8acffe.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libhashbrown-42efce06651eab9c.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_alloc-7518db6030684168.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libunwind-f7edde5930d50b47.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcfg_if-30189c8e78e151e8.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liblibc-5f5719f1cab83a12.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liballoc-f297c401e81b90c6.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_core-f8c80c1aefab6a32.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcore-6d66b6e58725d3ed.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcompiler_builtins-1f6a73e107798f53.rlib" "advapi32.lib" "ws2_32.lib" "userenv.lib" "msvcrt.lib"
= note: /usr/bin/link: extra operand ‘/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib’
Try '/usr/bin/link --help' for more information.

error: aborting due to previous error

error: Could not compile libc.
warning: build failed, waiting for other jobs to finish...
error: Could not compile syn.
warning: build failed, waiting for other jobs to finish...
error: linking with link.exe failed: exit code: 1
|
= note: "link.exe" "/NOLOGO" "/NXCOMPAT" "/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "C:\Users\user \monolith\target\release\build\proc-macro2-e2743231d402c7da\build_script_build-e2743231d402c7da.build_script_build.e1ij0zka-cgu.0.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-e2743231d402c7da\build_script_build-e2743231d402c7da.build_script_build.e1ij0zka-cgu.1.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-e2743231d402c7da\build_script_build-e2743231d402c7da.build_script_build.e1ij0zka-cgu.10.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-e2743231d402c7da\build_script_build-e2743231d402c7da.build_script_build.e1ij0zka-cgu.11.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-e2743231d402c7da\build_script_build-e2743231d402c7da.build_script_build.e1ij0zka-cgu.12.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-e2743231d402c7da\build_script_build-e2743231d402c7da.build_script_build.e1ij0zka-cgu.13.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-e2743231d402c7da\build_script_build-e2743231d402c7da.build_script_build.e1ij0zka-cgu.14.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-e2743231d402c7da\build_script_build-e2743231d402c7da.build_script_build.e1ij0zka-cgu.15.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-e2743231d402c7da\build_script_build-e2743231d402c7da.build_script_build.e1ij0zka-cgu.2.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-e2743231d402c7da\build_script_build-e2743231d402c7da.build_script_build.e1ij0zka-cgu.3.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-e2743231d402c7da\build_script_build-e2743231d402c7da.build_script_build.e1ij0zka-cgu.4.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-e2743231d402c7da\build_script_build-e2743231d402c7da.build_script_build.e1ij0zka-cgu.5.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-e2743231d402c7da\build_script_build-e2743231d402c7da.build_script_build.e1ij0zka-cgu.6.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-e2743231d402c7da\build_script_build-e2743231d402c7da.build_script_build.e1ij0zka-cgu.7.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-e2743231d402c7da\build_script_build-e2743231d402c7da.build_script_build.e1ij0zka-cgu.8.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-e2743231d402c7da\build_script_build-e2743231d402c7da.build_script_build.e1ij0zka-cgu.9.rcgu.o" "/OUT:C:\Users\user \monolith\target\release\build\proc-macro2-e2743231d402c7da\build_script_build-e2743231d402c7da.exe" "C:\Users\user \monolith\target\release\build\proc-macro2-e2743231d402c7da\build_script_build-e2743231d402c7da.2sldmxmczz744ut8.rcgu.o" "/OPT:REF,ICF" "/DEBUG" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\intrinsic.natvis" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\liballoc.natvis" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\libcore.natvis" "/LIBPATH:C:\Users\user \monolith\target\release\deps" "/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libstd-b2f27b8d08c4688f.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libpanic_unwind-9c73c9c2e052b2f1.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libbacktrace-7a588e8fa018f6bc.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_demangle-74b71f441b8acffe.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libhashbrown-42efce06651eab9c.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_alloc-7518db6030684168.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libunwind-f7edde5930d50b47.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcfg_if-30189c8e78e151e8.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liblibc-5f5719f1cab83a12.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liballoc-f297c401e81b90c6.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_core-f8c80c1aefab6a32.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcore-6d66b6e58725d3ed.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcompiler_builtins-1f6a73e107798f53.rlib" "advapi32.lib" "ws2_32.lib" "userenv.lib" "msvcrt.lib"
= note: /usr/bin/link: extra operand ‘/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib’
Try '/usr/bin/link --help' for more information.

error: aborting due to previous error

error: Could not compile proc-macro2.
warning: build failed, waiting for other jobs to finish...
error: linking with link.exe failed: exit code: 1
|
= note: "link.exe" "/NOLOGO" "/NXCOMPAT" "/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "C:\Users\user \monolith\target\release\build\proc-macro2-4e9a7ce3981b982e\build_script_build-4e9a7ce3981b982e.build_script_build.4vg3grtn-cgu.0.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-4e9a7ce3981b982e\build_script_build-4e9a7ce3981b982e.build_script_build.4vg3grtn-cgu.1.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-4e9a7ce3981b982e\build_script_build-4e9a7ce3981b982e.build_script_build.4vg3grtn-cgu.10.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-4e9a7ce3981b982e\build_script_build-4e9a7ce3981b982e.build_script_build.4vg3grtn-cgu.11.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-4e9a7ce3981b982e\build_script_build-4e9a7ce3981b982e.build_script_build.4vg3grtn-cgu.12.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-4e9a7ce3981b982e\build_script_build-4e9a7ce3981b982e.build_script_build.4vg3grtn-cgu.13.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-4e9a7ce3981b982e\build_script_build-4e9a7ce3981b982e.build_script_build.4vg3grtn-cgu.14.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-4e9a7ce3981b982e\build_script_build-4e9a7ce3981b982e.build_script_build.4vg3grtn-cgu.15.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-4e9a7ce3981b982e\build_script_build-4e9a7ce3981b982e.build_script_build.4vg3grtn-cgu.2.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-4e9a7ce3981b982e\build_script_build-4e9a7ce3981b982e.build_script_build.4vg3grtn-cgu.3.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-4e9a7ce3981b982e\build_script_build-4e9a7ce3981b982e.build_script_build.4vg3grtn-cgu.4.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-4e9a7ce3981b982e\build_script_build-4e9a7ce3981b982e.build_script_build.4vg3grtn-cgu.5.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-4e9a7ce3981b982e\build_script_build-4e9a7ce3981b982e.build_script_build.4vg3grtn-cgu.6.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-4e9a7ce3981b982e\build_script_build-4e9a7ce3981b982e.build_script_build.4vg3grtn-cgu.7.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-4e9a7ce3981b982e\build_script_build-4e9a7ce3981b982e.build_script_build.4vg3grtn-cgu.8.rcgu.o" "C:\Users\user \monolith\target\release\build\proc-macro2-4e9a7ce3981b982e\build_script_build-4e9a7ce3981b982e.build_script_build.4vg3grtn-cgu.9.rcgu.o" "/OUT:C:\Users\user \monolith\target\release\build\proc-macro2-4e9a7ce3981b982e\build_script_build-4e9a7ce3981b982e.exe" "C:\Users\user \monolith\target\release\build\proc-macro2-4e9a7ce3981b982e\build_script_build-4e9a7ce3981b982e.16yj2dms3m3bf0jw.rcgu.o" "/OPT:REF,ICF" "/DEBUG" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\intrinsic.natvis" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\liballoc.natvis" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\libcore.natvis" "/LIBPATH:C:\Users\user \monolith\target\release\deps" "/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libstd-b2f27b8d08c4688f.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libpanic_unwind-9c73c9c2e052b2f1.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libbacktrace-7a588e8fa018f6bc.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_demangle-74b71f441b8acffe.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libhashbrown-42efce06651eab9c.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_alloc-7518db6030684168.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libunwind-f7edde5930d50b47.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcfg_if-30189c8e78e151e8.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liblibc-5f5719f1cab83a12.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liballoc-f297c401e81b90c6.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_core-f8c80c1aefab6a32.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcore-6d66b6e58725d3ed.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcompiler_builtins-1f6a73e107798f53.rlib" "advapi32.lib" "ws2_32.lib" "userenv.lib" "msvcrt.lib"
= note: /usr/bin/link: extra operand ‘/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib’
Try '/usr/bin/link --help' for more information.

error: aborting due to previous error

error: Could not compile proc-macro2.
warning: build failed, waiting for other jobs to finish...
error: linking with link.exe failed: exit code: 1
|
= note: "link.exe" "/NOLOGO" "/NXCOMPAT" "/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "C:\Users\user \monolith\target\release\build\byteorder-0511712f9d5789b5\build_script_build-0511712f9d5789b5.build_script_build.6nph53ku-cgu.0.rcgu.o" "C:\Users\user \monolith\target\release\build\byteorder-0511712f9d5789b5\build_script_build-0511712f9d5789b5.build_script_build.6nph53ku-cgu.1.rcgu.o" "C:\Users\user \monolith\target\release\build\byteorder-0511712f9d5789b5\build_script_build-0511712f9d5789b5.build_script_build.6nph53ku-cgu.10.rcgu.o" "C:\Users\user \monolith\target\release\build\byteorder-0511712f9d5789b5\build_script_build-0511712f9d5789b5.build_script_build.6nph53ku-cgu.11.rcgu.o" "C:\Users\user \monolith\target\release\build\byteorder-0511712f9d5789b5\build_script_build-0511712f9d5789b5.build_script_build.6nph53ku-cgu.12.rcgu.o" "C:\Users\user \monolith\target\release\build\byteorder-0511712f9d5789b5\build_script_build-0511712f9d5789b5.build_script_build.6nph53ku-cgu.13.rcgu.o" "C:\Users\user \monolith\target\release\build\byteorder-0511712f9d5789b5\build_script_build-0511712f9d5789b5.build_script_build.6nph53ku-cgu.14.rcgu.o" "C:\Users\user \monolith\target\release\build\byteorder-0511712f9d5789b5\build_script_build-0511712f9d5789b5.build_script_build.6nph53ku-cgu.15.rcgu.o" "C:\Users\user \monolith\target\release\build\byteorder-0511712f9d5789b5\build_script_build-0511712f9d5789b5.build_script_build.6nph53ku-cgu.2.rcgu.o" "C:\Users\user \monolith\target\release\build\byteorder-0511712f9d5789b5\build_script_build-0511712f9d5789b5.build_script_build.6nph53ku-cgu.3.rcgu.o" "C:\Users\user \monolith\target\release\build\byteorder-0511712f9d5789b5\build_script_build-0511712f9d5789b5.build_script_build.6nph53ku-cgu.4.rcgu.o" "C:\Users\user \monolith\target\release\build\byteorder-0511712f9d5789b5\build_script_build-0511712f9d5789b5.build_script_build.6nph53ku-cgu.5.rcgu.o" "C:\Users\user \monolith\target\release\build\byteorder-0511712f9d5789b5\build_script_build-0511712f9d5789b5.build_script_build.6nph53ku-cgu.6.rcgu.o" "C:\Users\user \monolith\target\release\build\byteorder-0511712f9d5789b5\build_script_build-0511712f9d5789b5.build_script_build.6nph53ku-cgu.7.rcgu.o" "C:\Users\user \monolith\target\release\build\byteorder-0511712f9d5789b5\build_script_build-0511712f9d5789b5.build_script_build.6nph53ku-cgu.8.rcgu.o" "C:\Users\user \monolith\target\release\build\byteorder-0511712f9d5789b5\build_script_build-0511712f9d5789b5.build_script_build.6nph53ku-cgu.9.rcgu.o" "/OUT:C:\Users\user \monolith\target\release\build\byteorder-0511712f9d5789b5\build_script_build-0511712f9d5789b5.exe" "C:\Users\user \monolith\target\release\build\byteorder-0511712f9d5789b5\build_script_build-0511712f9d5789b5.1xzuhcf834n1jux2.rcgu.o" "/OPT:REF,ICF" "/DEBUG" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\intrinsic.natvis" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\liballoc.natvis" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\libcore.natvis" "/LIBPATH:C:\Users\user \monolith\target\release\deps" "/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libstd-b2f27b8d08c4688f.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libpanic_unwind-9c73c9c2e052b2f1.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libbacktrace-7a588e8fa018f6bc.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_demangle-74b71f441b8acffe.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libhashbrown-42efce06651eab9c.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_alloc-7518db6030684168.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libunwind-f7edde5930d50b47.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcfg_if-30189c8e78e151e8.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liblibc-5f5719f1cab83a12.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liballoc-f297c401e81b90c6.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_core-f8c80c1aefab6a32.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcore-6d66b6e58725d3ed.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcompiler_builtins-1f6a73e107798f53.rlib" "advapi32.lib" "ws2_32.lib" "userenv.lib" "msvcrt.lib"
= note: /usr/bin/link: extra operand ‘/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib’
Try '/usr/bin/link --help' for more information.

error: aborting due to previous error

error: Could not compile byteorder.
warning: build failed, waiting for other jobs to finish...
error: linking with link.exe failed: exit code: 1
|
= note: "link.exe" "/NOLOGO" "/NXCOMPAT" "/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "C:\Users\user \monolith\target\release\build\winapi-53ae7be254884aba\build_script_build-53ae7be254884aba.build_script_build.ao9neoa4-cgu.0.rcgu.o" "C:\Users\user \monolith\target\release\build\winapi-53ae7be254884aba\build_script_build-53ae7be254884aba.build_script_build.ao9neoa4-cgu.1.rcgu.o" "C:\Users\user \monolith\target\release\build\winapi-53ae7be254884aba\build_script_build-53ae7be254884aba.build_script_build.ao9neoa4-cgu.10.rcgu.o" "C:\Users\user \monolith\target\release\build\winapi-53ae7be254884aba\build_script_build-53ae7be254884aba.build_script_build.ao9neoa4-cgu.11.rcgu.o" "C:\Users\user \monolith\target\release\build\winapi-53ae7be254884aba\build_script_build-53ae7be254884aba.build_script_build.ao9neoa4-cgu.12.rcgu.o" "C:\Users\user \monolith\target\release\build\winapi-53ae7be254884aba\build_script_build-53ae7be254884aba.build_script_build.ao9neoa4-cgu.13.rcgu.o" "C:\Users\user \monolith\target\release\build\winapi-53ae7be254884aba\build_script_build-53ae7be254884aba.build_script_build.ao9neoa4-cgu.14.rcgu.o" "C:\Users\user \monolith\target\release\build\winapi-53ae7be254884aba\build_script_build-53ae7be254884aba.build_script_build.ao9neoa4-cgu.15.rcgu.o" "C:\Users\user \monolith\target\release\build\winapi-53ae7be254884aba\build_script_build-53ae7be254884aba.build_script_build.ao9neoa4-cgu.2.rcgu.o" "C:\Users\user \monolith\target\release\build\winapi-53ae7be254884aba\build_script_build-53ae7be254884aba.build_script_build.ao9neoa4-cgu.3.rcgu.o" "C:\Users\user \monolith\target\release\build\winapi-53ae7be254884aba\build_script_build-53ae7be254884aba.build_script_build.ao9neoa4-cgu.4.rcgu.o" "C:\Users\user \monolith\target\release\build\winapi-53ae7be254884aba\build_script_build-53ae7be254884aba.build_script_build.ao9neoa4-cgu.5.rcgu.o" "C:\Users\user \monolith\target\release\build\winapi-53ae7be254884aba\build_script_build-53ae7be254884aba.build_script_build.ao9neoa4-cgu.6.rcgu.o" "C:\Users\user \monolith\target\release\build\winapi-53ae7be254884aba\build_script_build-53ae7be254884aba.build_script_build.ao9neoa4-cgu.7.rcgu.o" "C:\Users\user \monolith\target\release\build\winapi-53ae7be254884aba\build_script_build-53ae7be254884aba.build_script_build.ao9neoa4-cgu.8.rcgu.o" "C:\Users\user \monolith\target\release\build\winapi-53ae7be254884aba\build_script_build-53ae7be254884aba.build_script_build.ao9neoa4-cgu.9.rcgu.o" "/OUT:C:\Users\user \monolith\target\release\build\winapi-53ae7be254884aba\build_script_build-53ae7be254884aba.exe" "C:\Users\user \monolith\target\release\build\winapi-53ae7be254884aba\build_script_build-53ae7be254884aba.3imzz0sdo9sevd1w.rcgu.o" "/OPT:REF,ICF" "/DEBUG" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\intrinsic.natvis" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\liballoc.natvis" "/NATVIS:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\libcore.natvis" "/LIBPATH:C:\Users\user \monolith\target\release\deps" "/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libstd-b2f27b8d08c4688f.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libpanic_unwind-9c73c9c2e052b2f1.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libbacktrace-7a588e8fa018f6bc.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_demangle-74b71f441b8acffe.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libhashbrown-42efce06651eab9c.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_alloc-7518db6030684168.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libunwind-f7edde5930d50b47.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcfg_if-30189c8e78e151e8.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liblibc-5f5719f1cab83a12.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liballoc-f297c401e81b90c6.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_core-f8c80c1aefab6a32.rlib" "C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcore-6d66b6e58725d3ed.rlib" "C:\Users\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcompiler_builtins-1f6a73e107798f53.rlib" "advapi32.lib" "ws2_32.lib" "userenv.lib" "msvcrt.lib"
= note: /usr/bin/link: extra operand ‘/LIBPATH:C:\Users\user \.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib’
Try '/usr/bin/link --help' for more information.

error: aborting due to previous error

error: failed to compile monolith v2.0.11 (user\monolith), intermediate artifacts can be found at user\monolith\target

Caused by:
Could not compile winapi.

To learn more, run the command again with --verbose.

user/ MINGW64 ~/monolith (master)
$
`

Add support for `poster` attribute of `video` element

As of right now, packing a page with a video element does not embed video (ok) but it does not embed the poster attribute making the page unreadable.

Here is an example for monolith https://hyper.dev > out.html:

...
IG1hcmdpbi10b3A6IDE1cHg7Cn0KCgojcm9vdC5pbmRleCB1bCA+IGxpIHsKICAgIHBhZGRpbmc6IDVweDsKfQoKI2Rpc3F1c190aHJlYWQgewogICAgd2
lkdGg6IDY2NnB4OwogICAgbWFyZ2luOiBhdXRvOwp9CgpibG9ja3F1b3RlIHsKICAgIHBhZGRpbmc6IDE1cHg7CiAgICBiYWNrZ3JvdW5kOiBoc2xhKDAs
IDAlLCAxMDAlLCAwLjIpOwogICAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50OwogICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50Owp9Cg
pwIHsKICAgIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDsKICAgIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDsKfQo=">
        <title></title>
    </head>
    <body>
        <div id="background">
            <video autoplay="" loop="" poster="/static/video/poster.jpeg">
                <source src="/static/video/space.mp4" type="video/mp4">
                <source src="/static/video/space.webm" type="video/webm">
            </video>
        </div>
        <div id="overlay">
...

Rewrite "srcset"

Problem

Sites can use the srcset attribute to specify an image's source. This tag is not rewritten, causing the monolith-ed pages to still perform a network request and rely on the remote server.

How to reproduce

Copy the following HTML into a file and serve it (e.g. via python -m http.server 8080).
Then run monolith on it and have a look at the result.

<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Test for monolith</title>
    </head>
    <body>
        <h1>This is an image with a <strong>src</strong> attribute:</h1>
        <img src="https://upload.wikimedia.org/wikipedia/commons/0/0b/Cat_poster_1.jpg" width="500px">

        <h1>This is an image with a <strong>srcset</strong> attribute:</h1>
        <img srcset="https://upload.wikimedia.org/wikipedia/commons/0/0b/Cat_poster_1.jpg" width="500px">
    </body>
</html>

For me monolith will rewrite this to:

<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Test for monolith</title>
    </head>
    <body>
        <h1>This is an image with a <strong>src</strong> attribute:</h1>
        <img src="<base64 that nearly kills vim>" width="500px">

        <h1>This is an image with a <strong>srcset</strong> attribute:</h1>
        <img srcset="https://upload.wikimedia.org/wikipedia/commons/0/0b/Cat_poster_1.jpg" width="500px">

</body></html>

As you can see, the srcset is still present and linking to an external image.

Caveats

The srcset can contain multiple images (by design). Which one should be saved?

Monolith version

625c529cf1409848aa3ce42a74991d0d69c75d88 ~ Merge pull request #21 from Y2Z/author-robatipoor

Error while building on Debian 9

Hello,

I'm on Debian 9 (kernel 4.19.0-0.bpo.5-amd64).
I'm following building/installation instructions via cargo but it is failing:

cargo install
  Installing monolith v2.0.16 (file:///home/l0f4r0/T%C3%A9l%C3%A9chargements/monolith)
    Updating registry `https://github.com/rust-lang/crates.io-index`
 Downloading reqwest v0.9.20                                                    
 Downloading base64 v0.10.1                                                     
 Downloading regex v1.2.1                                                       
 Downloading indicatif v0.11.0                                                  
 Downloading clap v2.33.0                                                       
 Downloading html5ever v0.24.0                                                  
 Downloading lazy_static v1.4.0                                                 
 Downloading url v2.1.0                                                         
 Downloading tokio-io v0.1.12                                                   
 Downloading mime_guess v2.0.1                                                  
 Downloading uuid v0.7.4                                                        
 Downloading tokio v0.1.22                                                      
 Downloading flate2 v1.0.11                                                     
 Downloading serde_json v1.0.40                                                 
 Downloading hyper v0.12.33                                                     
 Downloading serde v1.0.99                                                      
 Downloading hyper-tls v0.3.2                                                   
 Downloading url v1.7.2                                                         
 Downloading tokio-timer v0.2.11                                                
 Downloading futures v0.1.28                                                    
 Downloading native-tls v0.2.3                                                  
 Downloading mime v0.3.13                                                       
 Downloading cookie_store v0.7.0                                                
 Downloading encoding_rs v0.8.17                                                
 Downloading cookie v0.12.0                                                     
 Downloading bytes v0.4.12                                                      
 Downloading time v0.1.42                                                       
 Downloading tokio-threadpool v0.1.15                                           
 Downloading serde_urlencoded v0.5.5                                            
 Downloading http v0.1.18                                                       
 Downloading tokio-executor v0.1.8                                              
 Downloading log v0.4.8                                                         
 Downloading byteorder v1.3.2                                                   
 Downloading iovec v0.1.2                                                       
 Downloading either v1.5.2                                                      
 Downloading cfg-if v0.1.9                                                      
 Downloading unicase v2.4.0                                                     
 Downloading version_check v0.1.5                                               
 Downloading rand v0.6.5                                                        
 Downloading rand_chacha v0.1.1                                                 
 Downloading rand_os v0.1.3                                                     
 Downloading rand_core v0.4.2                                                   
 Downloading rand_pcg v0.1.2                                                    
 Downloading rand_hc v0.1.0                                                     
 Downloading rand_jitter v0.1.4                                                 
 Downloading rand_xorshift v0.1.1                                               
 Downloading rand_isaac v0.1.1                                                  
 Downloading rand_core v0.3.1                                                   
 Downloading autocfg v0.1.6                                                     
 Downloading tokio-reactor v0.1.9                                               
 Downloading tokio-tcp v0.1.3                                                   
 Downloading num_cpus v1.10.1                                                   
 Downloading tokio-current-thread v0.1.6                                        
 Downloading mio v0.6.19                                                        
 Downloading crossbeam-utils v0.6.6                                             
 Downloading parking_lot v0.7.1                                                 
 Downloading slab v0.4.2                                                        
 Downloading tokio-sync v0.1.6                                                  
 Downloading lock_api v0.1.5                                                    
 Downloading parking_lot_core v0.4.0                                            
 Downloading owning_ref v0.4.0                                                  
 Downloading scopeguard v0.3.3                                                  
 Downloading stable_deref_trait v1.1.1                                          
 Downloading smallvec v0.6.10                                                   
 Downloading rustc_version v0.2.3                                               
 Downloading semver v0.9.0                                                      
 Downloading semver-parser v0.7.0                                               
 Downloading libc v0.2.62                                                       
 Downloading net2 v0.2.33                                                       
 Downloading fnv v1.0.6                                                         
 Downloading crossbeam-queue v0.1.2                                             
 Downloading crossbeam-deque v0.7.1                                             
 Downloading crossbeam-epoch v0.7.2                                             
 Downloading memoffset v0.5.1                                                   
 Downloading arrayvec v0.4.11                                                   
 Downloading scopeguard v1.0.0                                                  
 Downloading nodrop v0.1.13                                                     
 Downloading crc32fast v1.2.0                                                   
 Downloading miniz_oxide v0.3.2                                                 
 Downloading adler32 v1.0.3                                                     
 Downloading itoa v0.4.4                                                        
 Downloading ryu v1.0.0                                                         
 Downloading serde_derive v1.0.99                                               
 Downloading quote v1.0.2                                                       
 Downloading proc-macro2 v1.0.1                                                 
 Downloading syn v1.0.5                                                         
 Downloading unicode-xid v0.2.0                                                 
 Downloading tokio-buf v0.1.1                                                   
 Downloading h2 v0.1.26                                                         
 Downloading futures-cpupool v0.1.8                                             
 Downloading want v0.2.0                                                        
 Downloading httparse v1.3.4                                                    
 Downloading http-body v0.1.0                                                   
 Downloading string v0.2.1                                                      
 Downloading indexmap v1.1.0                                                    
 Downloading try-lock v0.2.2                                                    
 Downloading percent-encoding v1.0.1                                            
 Downloading idna v0.1.5                                                        
 Downloading matches v0.1.8                                                     
 Downloading unicode-bidi v0.3.4                                                
 Downloading unicode-normalization v0.1.8                                       
 Downloading failure v0.1.5                                                     
 Downloading publicsuffix v1.5.3                                                
 Downloading try_from v0.3.2                                                    
 Downloading backtrace v0.3.35                                                  
 Downloading failure_derive v0.1.5                                              
 Downloading backtrace-sys v0.1.31                                              
 Downloading rustc-demangle v0.1.16                                             
 Downloading cc v1.0.41                                                         
 Downloading proc-macro2 v0.4.30                                                
 Downloading quote v0.6.13                                                      
 Downloading synstructure v0.10.2                                               
 Downloading syn v0.15.44                                                       
 Downloading unicode-xid v0.1.0                                                 
 Downloading error-chain v0.12.1                                                
 Downloading idna v0.2.0                                                        
 Downloading percent-encoding v2.1.0                                            
 Downloading regex-syntax v0.6.11                                               
 Downloading thread_local v0.3.6                                                
 Downloading memchr v2.2.1                                                      
 Downloading aho-corasick v0.7.6                                                
 Downloading dtoa v0.4.4                                                        
 Downloading parking_lot v0.9.0                                                 
 Downloading number_prefix v0.2.8                                               
 Downloading console v0.8.0                                                     
 Downloading lock_api v0.3.1                                                    
 Downloading parking_lot_core v0.6.2                                            
 Downloading num-traits v0.2.8                                                  
 Downloading unicode-width v0.1.6                                               
 Downloading clicolors-control v1.0.1                                           
 Downloading atty v0.2.13                                                       
 Downloading bitflags v1.1.0                                                    
 Downloading vec_map v0.8.1                                                     
 Downloading textwrap v0.11.0                                                   
 Downloading strsim v0.8.0                                                      
 Downloading mac v0.1.1                                                         
 Downloading markup5ever v0.9.0                                                 
 Downloading tendril v0.4.1                                                     
 Downloading string_cache v0.7.3                                                
 Downloading phf v0.7.24                                                        
 Downloading futf v0.1.4                                                        
 Downloading utf-8 v0.7.5                                                       
 Downloading new_debug_unreachable v1.0.3                                       
 Downloading precomputed-hash v0.1.1                                            
 Downloading string_cache_shared v0.3.0                                         
 Downloading phf_shared v0.7.24                                                 
 Downloading siphasher v0.2.3                                                   
 Downloading string_cache_codegen v0.4.2                                        
 Downloading phf_generator v0.7.24                                              
 Downloading phf_codegen v0.7.24                                                
 Downloading openssl-sys v0.9.49                                                
 Downloading openssl-probe v0.1.2                                               
 Downloading openssl v0.10.24                                                   
 Downloading pkg-config v0.3.15                                                 
 Downloading foreign-types v0.3.2                                               
 Downloading foreign-types-shared v0.1.1                                        
 Downloading termios v0.3.1                                                     
 Downloading ansi_term v0.11.0                                                  
   Compiling either v1.5.2                                                      
   Compiling openssl-probe v0.1.2
   Compiling log v0.4.8
   Compiling utf-8 v0.7.5
   Compiling vec_map v0.8.1
   Compiling proc-macro2 v0.4.30
   Compiling try-lock v0.2.2
   Compiling unicode-width v0.1.6
error: invalid format string: expected `'}'`, found `'?'`
  --> /home/l0f4r0/.cargo/registry/src/github.com-1ecc6299db9ec823/utf-8-0.7.5/src/read.rs:40:27
   |
40 |                 write!(f, "invalid byte sequence: {:02x?}", bytes)
   |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: invalid format string: expected `'}'`, found `'?'`
  --> /home/l0f4r0/.cargo/registry/src/github.com-1ecc6299db9ec823/utf-8-0.7.5/src/lib.rs:42:17
   |
42 | /                 "found invalid byte sequence {invalid_sequence:02x?} after \
43 | |                  {valid_byte_count} valid bytes, followed by {unprocessed_byte_count} more \
44 | |                  unprocessed bytes",
   | |___________________________________^

error: invalid format string: expected `'}'`, found `'?'`
  --> /home/l0f4r0/.cargo/registry/src/github.com-1ecc6299db9ec823/utf-8-0.7.5/src/lib.rs:54:17
   |
54 | /                 "found incomplete byte sequence {incomplete_suffix:02x?} after \
55 | |                  {valid_byte_count} bytes",
   | |__________________________________________^

error: aborting due to 3 previous errors

error: Could not compile `utf-8`.
warning: build failed, waiting for other jobs to finish...
error: failed to compile `monolith v2.0.16 (file:///home/l0f4r0/T%C3%A9l%C3%A9chargements/monolith)`, intermediate artifacts can be found at `/home/l0f4r0/Téléchargements/monolith/target`

Caused by:
  build failed

Question marks seem to be problematic...
How am I supposed to resolve this please?

Thanks in advance :)

leave html entities untouched, it breaks pages with weird encodings

Example: http://www.the-spoiler.com/RPG/New.World.Computing/might.and.magic6.3/mm6.htm
Look at the copyright, it's "&copy;" in the original, monolith translates that to the utf8 copyright character which is wrong because that page says charset=iso-8859-1" so it renders to a bogus character + the copyright sign (tested on windows/linux/openbsd).

I did meet other pages like that, this is just the one where I noticed it.

Testcase:

<html>
<head>
	<!-- comment out the charset to make it work !-->
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
copyright &copy; someone
</body>
</html>

Convert already saved web pages

Can I also use this to convert Web pages I've already saved in the browser? The type of HTMLs which have a folder with the same Name next to them. This would be really useful to convert pages protected by logins.

Doesn't save images for google.com

Run this:

monolith https://www.google.com > googl.html

This is how my downloaded page looks like (it doesn't have images and some other assets).
Screenshot 2019-12-23 at 2 46 39 PM

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.