Commit graph

146 commits

Author SHA1 Message Date
Renovate Bot
9a703c9a88 fix(deps): update rust crate chrono to 0.4.35
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-03-10 10:30:39 +00:00
c9fc2148e2 chore: enable building with latest version of rust (#14)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Closes kemitix/paperoni#13

Reviewed-on: #14
Co-authored-by: Paul Campbell <pcampbell@kemitix.net>
Co-committed-by: Paul Campbell <pcampbell@kemitix.net>
2024-03-10 10:25:18 +00:00
83a1c70c68 chore: Configure Renovate (#7)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Welcome to [Renovate](https://github.com/renovatebot/renovate)! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.

---
### Detected Package Files

 * `Cargo.toml` (cargo)
 * `.woodpecker.yml` (woodpecker)

### Configuration Summary

Based on the default config's presets, Renovate will:

  - Start dependency updates only once this onboarding PR is merged
  - Enable Renovate Dependency Dashboard creation.
  - Use semantic commit type `fix` for dependencies and `chore` for all others if semantic commits are in use.
  - Ignore `node_modules`, `bower_components`, `vendor` and various test/tests directories.
  - Group known monorepo packages together.
  - Use curated list of recommended non-monorepo package groupings.
  - Apply crowd-sourced package replacement rules.
  - Apply crowd-sourced workarounds for known problems with packages.

🔡 Do you want to change how Renovate upgrades your dependencies? Add your custom config to `renovate.json` in this branch. Renovate will update the Pull Request description the next time it runs.

---

### What to Expect

With your current configuration, Renovate will create 21 Pull Requests:

<details>
<summary>fix(deps): update rust crate chrono to 0.4.35</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/chrono-0.x`
  - Merge into: `main`
  - Upgrade [chrono](https://github.com/chronotope/chrono) to `0.4.35`

</details>

<details>
<summary>fix(deps): update rust crate futures to 0.3.30</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/rust-futures-monorepo`
  - Merge into: `main`
  - Upgrade [futures](https://github.com/rust-lang/futures-rs) to `0.3.30`

</details>

<details>
<summary>fix(deps): update rust crate log to 0.4.21</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/log-0.x`
  - Merge into: `main`
  - Upgrade [log](https://github.com/rust-lang/log) to `0.4.21`

</details>

<details>
<summary>fix(deps): update rust crate thiserror to 1.0.57</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/thiserror-1.x`
  - Merge into: `main`
  - Upgrade [thiserror](https://github.com/dtolnay/thiserror) to `1.0.57`

</details>

<details>
<summary>chore(deps): update docker.io/rust docker tag to v1.76.0</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/docker.io-rust-1.x`
  - Merge into: `main`
  - Upgrade docker.io/rust to `1.76.0`

</details>

<details>
<summary>fix(deps): update rust crate async-std to 1.12.0</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/async-std-1.x`
  - Merge into: `main`
  - Upgrade [async-std](https://github.com/async-rs/async-std) to `1.12.0`

</details>

<details>
<summary>fix(deps): update rust crate base64 to 0.22.0</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/base64-0.x`
  - Merge into: `main`
  - Upgrade [base64](https://github.com/marshallpierce/rust-base64) to `0.22.0`

</details>

<details>
<summary>fix(deps): update rust crate clap to 2.34.0</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/clap-2.x`
  - Merge into: `main`
  - Upgrade [clap](https://github.com/clap-rs/clap) to `2.34.0`

</details>

<details>
<summary>fix(deps): update rust crate colored to 2.1.0</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/colored-2.x`
  - Merge into: `main`
  - Upgrade [colored](https://github.com/mackwic/colored) to `2.1.0`

</details>

<details>
<summary>fix(deps): update rust crate derive_builder to 0.20.0</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/derive_builder-0.x`
  - Merge into: `main`
  - Upgrade [derive_builder](https://github.com/colin-kiegel/rust-derive-builder) to `0.20.0`

</details>

<details>
<summary>fix(deps): update rust crate epub-builder to 0.7.4</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/epub-builder-0.x`
  - Merge into: `main`
  - Upgrade [epub-builder](https://github.com/lise-henry/epub-builder) to `0.7.4`

</details>

<details>
<summary>fix(deps): update rust crate flexi_logger to 0.27.4</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/flexi_logger-0.x`
  - Merge into: `main`
  - Upgrade [flexi_logger](https://github.com/emabee/flexi_logger) to `0.27.4`

</details>

<details>
<summary>fix(deps): update rust crate html5ever to 0.26.0</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/html5ever-0.x`
  - Merge into: `main`
  - Upgrade [html5ever](https://github.com/servo/html5ever) to `0.26.0`

</details>

<details>
<summary>fix(deps): update rust crate indicatif to 0.17.8</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/indicatif-0.x`
  - Merge into: `main`
  - Upgrade [indicatif](https://github.com/console-rs/indicatif) to `0.17.8`

</details>

<details>
<summary>fix(deps): update rust crate itertools to 0.12.1</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/itertools-0.x`
  - Merge into: `main`
  - Upgrade [itertools](https://github.com/rust-itertools/itertools) to `0.12.1`

</details>

<details>
<summary>fix(deps): update rust crate regex to 1.10.3</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/regex-1.x`
  - Merge into: `main`
  - Upgrade [regex](https://github.com/rust-lang/regex) to `1.10.3`

</details>

<details>
<summary>fix(deps): update rust crate surf to 2.3.2</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/surf-2.x`
  - Merge into: `main`
  - Upgrade [surf](https://github.com/http-rs/surf) to `2.3.2`

</details>

<details>
<summary>fix(deps): update rust crate url to 2.5.0</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/url-2.x`
  - Merge into: `main`
  - Upgrade [url](https://github.com/servo/rust-url) to `2.5.0`

</details>

<details>
<summary>fix(deps): update rust crate clap to v4</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/clap-4.x`
  - Merge into: `main`
  - Upgrade [clap](https://github.com/clap-rs/clap) to `4.5.2`

</details>

<details>
<summary>fix(deps): update rust crate comfy-table to v7</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/comfy-table-7.x`
  - Merge into: `main`
  - Upgrade [comfy-table](https://github.com/nukesor/comfy-table) to `7.1.0`

</details>

<details>
<summary>fix(deps): update rust crate directories to v5</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/directories-5.x`
  - Merge into: `main`
  - Upgrade [directories](https://github.com/soc/directories-rs) to `5.0.1`

</details>

<br />

🚸 Branch creation will be limited to maximum 2 per hour, so it doesn't swamp any CI resources or overwhelm the project. See docs for `prhourlylimit` for details.

---

 Got questions? Check out Renovate's [Docs](https://docs.renovatebot.com/), particularly the Getting Started section.
If you need any further assistance then you can also [request help here](https://github.com/renovatebot/renovate/discussions).

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).

<!--renovate-config-hash:e80b4e42a3043bc12fa0640db4bac392d2bf770acf841360d7c8ceeeac2ec1a9-->

Co-authored-by: Renovate Bot <renovate@kemitix.net>
Reviewed-on: #7
Co-authored-by: renovate <renovate@noreply.kemitix.net>
Co-committed-by: renovate <renovate@noreply.kemitix.net>
2024-03-10 09:47:51 +00:00
d9553b6b54 chore: Unpin rust version (#6)
Closes kemitix/paperoni#2

Reviewed-on: #6
Co-authored-by: Paul Campbell <pcampbell@kemitix.net>
Co-committed-by: Paul Campbell <pcampbell@kemitix.net>
2024-03-10 09:47:51 +00:00
85e6cb95d0 chore: Add Woodpecker CI config (#5)
Closes kemitix/paperoni#3

Reviewed-on: #5
Co-authored-by: Paul Campbell <pcampbell@kemitix.net>
Co-committed-by: Paul Campbell <pcampbell@kemitix.net>
2024-03-10 09:47:46 +00:00
Kenneth Gitere
796a34a34c bump version 2021-08-24 07:40:05 +03:00
Kenneth Gitere
dc16f9f52b
Merge pull request #21 from hipstermojo/dev
v0.6.1 release
2021-08-24 07:24:56 +03:00
Kenneth Gitere
d4a23088a9 test: add cli tests 2021-08-24 07:20:23 +03:00
Kenneth Gitere
07479afeac refactor: refactor update_imgs_base64
chore: add doc comment on ResourceType alias

fix: add error when image MIME type is invalid on an image
2021-07-28 10:00:45 +03:00
Kenneth Gitere
0b19376f59 test: add tests for html module 2021-07-27 18:43:08 +03:00
Kenneth Gitere
0357eaebb6 fix: fix insert_appendix function when inserting HTML nodes
refactor: remove check for `<head>` in inline_css

The `<head>` element is automatically added when parsing an HTML document,
therefore, the program should panic if it still does not find the `<head>`
element
2021-07-27 18:42:17 +03:00
Kenneth Gitere
9c2232e37f fix: add validation when passing inline-images flag 2021-07-27 18:38:01 +03:00
Kenneth Gitere
3958261cda
Merge pull request #20 from hipstermojo/dev
v0.6.0 release
2021-07-24 13:54:50 +03:00
Kenneth Gitere
40cf5b06c9 chore: update README
chore: bump version
2021-07-24 13:29:55 +03:00
Kenneth Gitere
e6f901eb5a refactor: rename Extractor to Article 2021-07-24 12:43:40 +03:00
Kenneth Gitere
eac28da798 fix: add validation when passing --inline-toc
feat: add coloring when displaying CLI errors
2021-07-24 12:36:33 +03:00
Kenneth Gitere
2f4da824ba feat: add HTML exports with inlining of images
fix: typo fix
refactor: refactor `add_stylesheets` function
2021-07-24 12:08:18 +03:00
Kenneth Gitere
d1d1a0f3f4 feat: add no-css and no-header-css flags for #19
refactor: change to yaml configuration for the CLI

refactor: change all flags to kebab case
2021-07-22 08:50:08 +03:00
Kenneth Gitere
d67169425d fix: fix serialization of element attributes 2021-07-16 07:45:20 +03:00
Kenneth Gitere
6b1a826ccc
Merge pull request #18 from hipstermojo/dev
v0.5.0 release
2021-06-24 08:36:11 +03:00
Kenneth Gitere
92c97ca2cf fix: add .epub extension as fallback
chore: update dependencies and update README
chore: bump version
2021-06-24 08:26:40 +03:00
Kenneth Gitere
754365a42a feat: add inline-toc flag 2021-06-17 17:32:53 +03:00
Kenneth Gitere
c6c10689eb fix: fix broken links in toc generation
the fix involves ensuring the ToC is generated prior to serialization
because it mutates the document and will not work otherwise.

chore: add .vscode config to .gitignore
2021-06-16 18:09:05 +03:00
Kenneth Gitere
282d229754 fix: fix ordering issue with merged articles
This commit adds the itertools crate which is used to dedup the Vec
when downloading urls

fix: fix error message
feat: change the serif and mono fonts declarations
2021-06-11 14:21:41 +03:00
Kenneth Gitere
4247fab1ea feat: add css library for EPUB exports 2021-06-09 08:04:50 +03:00
Kenneth Gitere
d50bbdfb58 fix: minor fixes
- restore default debug level when logging to file
- return early from generating epubs if there are no articles
- fix serialization bug in creating attributes
2021-06-09 07:26:52 +03:00
Kenneth Gitere
8691b0166f fix: fix panic when unwrapping a base URI
chore: add message when downloading articles to a specified output-dir
2021-06-08 20:37:20 +03:00
Kenneth Gitere
5fbfb9c806 refactor: move download function to http module
feat:  add rendering of table for partial downloads
feat:  add help message for enabling --log-to-file
chore: format flags to kebab-case and shorten --output-directory flag
2021-06-08 07:58:52 +03:00
Kenneth Gitere
95bd22f339 Merge branch 'dev' of github.com:hipstermojo/paperoni into dev 2021-06-07 22:44:51 +03:00
Kenneth Gitere
5b41e785b8 Fix get_header_level_toc_vec 2021-06-07 22:42:14 +03:00
Kenneth Gitere
16dc83ac62
Merge pull request #15 from sadsnake42/output-directory
Add `output_dir` to cli argument
2021-06-06 16:01:38 +03:00
Mikhail Gorbachev
67e86e4d74 Refactor LogError 2021-06-06 15:53:47 +03:00
Mikhail Gorbachev
aa9258e122 Fix from PR#15
- refactor comments
- move `cli::Error` to `errors::ErrorCli`
- removed mixing of order of input urls
- move pure functionality if `init_logger` to clear function
2021-06-06 13:25:28 +03:00
Kenneth Gitere
a1156e10fc Add generate_header_ids function
Add h4 to header level ToC and update implementation
Add tests
2021-06-06 13:02:31 +03:00
Kenneth Gitere
8220cf29f7 Change function replace_metadata_value to replace_escaped_characters 2021-06-06 12:59:25 +03:00
Kenneth Gitere
5548ba4ba5 Merge branch 'dev' of github.com:hipstermojo/paperoni into dev 2021-06-06 09:24:17 +03:00
Kenneth Gitere
751b5702fe
Merge pull request #17 from philwrenn/dev
Removed unwrap to prevent unexpected panic.
2021-06-06 09:23:01 +03:00
Philip Wrenn
fd161455b4 Removed unwrap to prevent unexpected panic. 2021-06-05 23:17:55 -04:00
Mikhail Gorbachev
13ad14e73d Add output_dir to cli argument
- Add `output_dir` to cli argument
    - This argument allows you to save output files in a special folder, not just current dir
- Refactor 'cli.rs'
    - Add `Builder` for `AppConfig`
    - Add `Error` instead separated panics
- Upgrade dependencies
2021-06-01 18:18:14 +03:00
Kenneth Gitere
8c9783b596 feat: add header level table of contents for articles 2021-05-24 20:40:41 +03:00
Kenneth Gitere
3a8160412c refactor short_summary function in logs.rs to be less redundant 2021-05-24 20:40:41 +03:00
Kenneth Gitere
1cbbc7527f Update version 2021-05-24 20:33:05 +03:00
Kenneth Gitere
c916fb8493 Edit README 2021-05-13 12:26:23 +03:00
Kenneth Gitere
5ccbe1a17a Merge branch 'dev' of github.com:hipstermojo/paperoni into dev 2021-05-13 12:25:11 +03:00
Kenneth Gitere
102304544d
Merge pull request #14 from kxt/13-fix-lazy-images-laziness-check
Fix laziness check in fix_lazy_images
2021-05-12 07:12:46 +03:00
KOVACS Tamas
7649f6aa18 moz_readability/mod.rs: fix laziness check in fix_lazy_images
fix_lazy_images checks whether an img node is lazily loaded. An img is
considered lazily loaded if it does not have an src/srcset attribute, or
if it's class contains the 'lazy' string. If an img is considered lazy,
fix_lazy_images will make attempts to replace it's src.

However, if an img was missing the class attribute, it was incorrectly
assumed to be lazy and had it's src replaced.

Fixes hipstermojo/paperoni#13
2021-05-10 10:08:33 +02:00
KOVACS Tamas
d50f08b875 moz_readability/mod.rs: add testcase for issue #13
This patch adds a testcase for issue #13, where an img node without
a class attribute is automatically assumed to be lazy and its src is
replaced.
2021-05-10 10:08:25 +02:00
Kenneth Gitere
312dff95e2
Merge pull request #12 from kxt/11-image-status-codes
Check response status for fetched images
2021-05-10 10:58:23 +03:00
KOVACS Tamas
8ec491ff06 http.rs: check response status for fetched images
This patch checks if fetching an image resulted in a non-success status
code. In case of non-success status, the response is discarded and an
error is emitted.

This relies on having 3xx codes already handled by surf's Redirect
middleware, so we should see 4xx and 5xx codes here.

Fixes hipstermojo/paperoni#11
2021-05-09 14:35:55 +02:00
KOVACS Tamas
4581f07330 http.rs: extract process_img_response function 2021-05-08 21:32:15 +02:00