tempfile
rost_gen
tempfile | rost_gen | |
---|---|---|
8 | 12 | |
1,074 | 0 | |
- | - | |
6.9 | 0.0 | |
16 days ago | over 1 year ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
tempfile
-
Hey Rustaceans! Got a question? Ask here (27/2023)!
I need to do some tests with files operations, what's the best practice in regards to creating temporary files in tests ? I heard about tempfile but is there a more idiomatic way to do that ?
-
Testing the memory safe Rust implementation of Sudo/Su
The sudo-rs Cargo.toml [1] file seems very reasonable. This is the curse of being cross platform. The inclusion of https://github.com/Stebalien/tempfile as a dependency is responsible for the overwhelming majority of lines due to including *-sys crates for multiple OSs.
~/Code/tempfile !! tokei vendor
-
Adding automated tests to rost_gen
Eventually, I had to test reading of input file and generation of the html file. To do this, I would need to create test files for input and output for this scenario. However, this could cause problems unless I named all the test files differently as tests usually run in parallel. So, I decided to use the tempfile crate to create a temporary test directory for each test (where needed):
-
Is this safe? Keeping and opening temporary file.
Create a NamedTempFile with the tempfile crate.
-
How can I test this get_type_filepaths function?
Even better would be to create a tempdir and populate it during the test run. Try the tempfile crate.
-
How to open a PDF with default PDF viewer?
Not the same commenter but you could use a tempfile
-
Blog post: Async Cancellation
That said though; there are a few solutions for the problem you're describing. One would be to have a "temp file" type which knows how to delete itself when dropped, but can manually be converted into a permanent file in the case of success. Crates like tempfile provide abstractions for this.
-
temp-dir: Simple temporary directory with cleanup
tempdir was merged into tempfile.
rost_gen
-
rost_gen - release 1
This week, I released version 1.0.1 of rost_gen, a simple static site generator built using rust. I had kind of forgotten about versions for a while, but the project had advanced enough for a v1 release. Since I had used rust, the appropriate place for a release was crates.io.
-
Adding automated tests to rost_gen
This week, I added some automated testing to my static site generator project, rost_gen. As the project is built using rust, it was quite easy to get started as I did not need to use any additional frameworks.
-
Adding formatter and linter to rost_gen
This week, I added a formatter and linter to rost_gen (a static site generator) to improve the readability of the code and fix common issues automatically. I chose to use rustfmt for the formatter and rust-clippy for the linter.
-
Adding link markdown support to rost_gen
This week, I was tasked with adding another feature to my static site generator rost_gen based on Docusaurus features. Docusaurus is a great static site generator that has a lot of features. It provides a starting template, and even a command to deploy to github pages. After some deliberation, I decided it would be best to add support for parsing links to other pages (internal and external). If implemented properly, it would allow me to easily add additional inline markdown features such as bold, italic, etc. I broke down the feature into several parts and created issues for them:
-
Refactoring my static site generator
For this week in my course in open-source development, I was tasked with refactoring my ssg project (rost_gen). A simple and though potentially time-consuming task.
-
Adding config parsing to a ssg
My rost_gen ssg project also received a PR about adding config file parsing. After reviewing the changes, I decided to test it locally by setting up a tracking branch using git. This was fairly simple to do, and I can't believe I did not try this before. Since I have not added any automated tests, I previously did this by looking at the code. However, as more features get added, it is not possible to check if the code will work as you think. By using a local tracking branch, I was able to easily test the changes and find some formatting issues by using VS code's auto formatting. I requested the author to resolve these and merged the PR by merging the branch into the master branch.
-
Merging parallel branches without PRs in GitHub
For week 4 of my course in open-source development, I was tasked with adding two more features to my ssg project rost_gen. However, I was supposed to work on both at the same time on different branches and merge those branches into the main branch once both implementations were complete. Normally, I would use pull requests and not merge directly into the main branch.
-
Contributing to another ssg project
For this week in my course on open-source development, we were tasked to pick another ssg (static site generator) project and add support for markdown (.md) files and at least one markdown feature. Someone reached out to me about adding markdown support to my ssg (rost_gen) and created an issue for it.
-
First Pull Request
The first step I did was I added an issue to Eakam's repository so that they knows what I'm doing with their code For this Lab 2, I'm going to implement the code that allows user covert a md file into a html file. Also, I would like add a feature that be able to change the header syntax (#) in an MD file into the
-
rost_gen - A simple static site generator
This is a project that I created as part of my course in open-source development. Rost_gen is a basic static site generator made using Rust that generates html files from text files.
What are some alternatives?
tempdir - Temporary directory management for Rust
zbox - Zero-details, privacy-focused in-app file system.
xattr - Extended attribute library for rust.
rust-9p - Tokio-based asynchronous filesystems library using 9P2000.L protocol, an extended variant of 9P from Plan 9.
rust - Empowering everyone to build reliable and efficient software.
fs_extra - Expanding opportunities standard library std::fs and std::io
sudo-rs - A memory safe implementation of sudo and su.
entrait - Loosely coupled Rust application design made easy
sudo - Utility to execute a command as another user
pgfplots - PGFPlots code generator
test-with - A lib help you run test with condition
regex - An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.