From 1f16c1037ab3bd3793c2a621ca7c00b709ceb9e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ho=C3=A0ng=20=C4=90=E1=BB=A9c=20Hi=E1=BA=BFu?= Date: Wed, 10 Jun 2015 15:24:30 +0700 Subject: [PATCH 01/80] fix typo --- content/2015-06-08-this-week-in-rust.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/2015-06-08-this-week-in-rust.md b/content/2015-06-08-this-week-in-rust.md index a6a5dcfd..52bc3de1 100644 --- a/content/2015-06-08-this-week-in-rust.md +++ b/content/2015-06-08-this-week-in-rust.md @@ -23,10 +23,10 @@ details are still to be determined. Please submit talk proposals. Several I/O stabilization patches have been nominated for backporting to 1.1, filling out the somewhat meager story we had for 1.0. With things moving somewhat slowly since the last release, I/O improvements will -probably be the most interesting part of the next. +probably be the most interesting part of the next release. If you haven't recently, give [the -playpen](https://play.rust-lang.org) another look as it's recieved +playpen](https://play.rust-lang.org) another look as it's received several new features lately, including a new design from Chris Morgan, the ability to output Intel-flavor asm, automatically post GitHub gists, and run `#[test]` functions. From da892ee15efea02955e4d39cec744d6d1741a52c Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 15 Jun 2015 10:07:23 -0700 Subject: [PATCH 02/80] 2015-06-15 --- drafts/2015-06-15-this-week-in-rust.md | 100 +++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 drafts/2015-06-15-this-week-in-rust.md diff --git a/drafts/2015-06-15-this-week-in-rust.md b/drafts/2015-06-15-this-week-in-rust.md new file mode 100644 index 00000000..2df627a0 --- /dev/null +++ b/drafts/2015-06-15-this-week-in-rust.md @@ -0,0 +1,100 @@ +Title: This Week in Rust 83 +Date: 2015-06-15 +Category: This Week in Rust + +Hello and welcome to another issue of *This Week in Rust*! +[Rust](http://rust-lang.org) is a systems language pursuing the trifecta: +safety, concurrency, and speed. This is a weekly summary of its progress and +community. Want something mentioned? [Send me an +email!](mailto:corey@octayn.net?subject=This%20Week%20in%20Rust%20Suggestion) +Want to get involved? [We love +contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contributors). + +*This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). +If you find any errors or omissions in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). + +# What's cooking on master? + +XXX pull requests were [merged in the last week][merged]. + +[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-05-18..2015-06-07 + +Now you can follow breaking changes *[as they happen][BitRust2]*! + +[BitRust2]: http://killercup.github.io/bitrust/ + +# Breaking Changes + + + +# Other Changes + + + +# New Contributors + + + +# Approved RFCs + + + +# New RFCs + + +# Betawatch! + +The current beta is `1.0.0-beta.3 (5241bf9c3 2015-04-25)`. + +There were X PRs this week landing backports to beta. + +* [NNNNN](link). + +# Friend of the Tree + +The Rust Team likes to occassionally recognize people who have made +outstanding contributions to The Rust Project, its ecosystem, and its +community. These people are 'friends of the tree'. + +This week's friend of the tree was ... + +# Notable Links + +* [Weekly-meetings/2014-18-11][mtg]: what? [Reddit][mtg-reddit]. + +[mtg]: https://github.com/rust-lang/meeting-minutes/blob/master/weekly-meetings/2014-18-11.md +[mtg-reddit]: + + +# Project Updates + + +# Crate of the Week + +There are so many crates! It's easy to lose track of the good ones, +like [THING]. + +THING is a ... + + +# Upcoming Events + +* [What?] + +If you are running a Rust event please add it to the [calendar] to get +it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian +Anderson][brson] for access. + +[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com +[erickt]: mailto:erick.tryzelaar@gmail.com +[brson]: mailto:banderson@mozilla.com + +# Quote of the Week + +*"Quote"* + +Explanation and link. + +Thanks to XXX for the tip. [Submit your quotes for next week!][submit]. + +[submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328 From 64a58749d9c8aa1c7ef7d5c6abbcf45a159bae60 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 15 Jun 2015 10:38:38 -0700 Subject: [PATCH 03/80] Give editors credit --- drafts/2015-06-15-this-week-in-rust.md | 2 ++ drafts/YYYY-MM-DD-this-week-in-rust-template.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/drafts/2015-06-15-this-week-in-rust.md b/drafts/2015-06-15-this-week-in-rust.md index 2df627a0..c27bb8df 100644 --- a/drafts/2015-06-15-this-week-in-rust.md +++ b/drafts/2015-06-15-this-week-in-rust.md @@ -13,6 +13,8 @@ contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contrib *This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). If you find any errors or omissions in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). +This week's edition was edited by: Brian Anderson. + # What's cooking on master? XXX pull requests were [merged in the last week][merged]. diff --git a/drafts/YYYY-MM-DD-this-week-in-rust-template.md b/drafts/YYYY-MM-DD-this-week-in-rust-template.md index 0bf04e7f..95165dd2 100644 --- a/drafts/YYYY-MM-DD-this-week-in-rust-template.md +++ b/drafts/YYYY-MM-DD-this-week-in-rust-template.md @@ -13,6 +13,8 @@ contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contrib *This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). If you find any errors or omissions in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). +This week's edition was edited by: WHO?? + # What's cooking on master? XXX pull requests were [merged in the last week][merged]. From 1f5f34ede0f42091515e0082f2259d640890c6b6 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 16 Jun 2015 09:36:50 -0700 Subject: [PATCH 04/80] 2015-06-15 --- drafts/2015-06-15-this-week-in-rust.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drafts/2015-06-15-this-week-in-rust.md b/drafts/2015-06-15-this-week-in-rust.md index c27bb8df..33cfa139 100644 --- a/drafts/2015-06-15-this-week-in-rust.md +++ b/drafts/2015-06-15-this-week-in-rust.md @@ -17,9 +17,9 @@ This week's edition was edited by: Brian Anderson. # What's cooking on master? -XXX pull requests were [merged in the last week][merged]. +160 pull requests were [merged in the last week][merged]. -[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-05-18..2015-06-07 +[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-06-07..2015-06-15 Now you can follow breaking changes *[as they happen][BitRust2]*! @@ -31,7 +31,7 @@ Now you can follow breaking changes *[as they happen][BitRust2]*! # Other Changes - +* [Add `Result::expect`](https://github.com/rust-lang/rust/pull/25359/files). # New Contributors @@ -39,7 +39,14 @@ Now you can follow breaking changes *[as they happen][BitRust2]*! # Approved RFCs - +* [RFC 1105. Policy on API + evolution](https://github.com/rust-lang/rfcs/blob/master/text/1105-api-evolution.md). Describes + how the Rust project evaluates changes to the libraries, and which are allowed when. +* [RFC 1119. `Result::expect`](https://github.com/rust-lang/rfcs/pull/1119). +* [RFC 1122. Semantic + versioning](https://github.com/rust-lang/rfcs/blob/master/text/1122-language-semver.md). Describes + how the language itself is allowed to change. +* [RFC 1123. Introduce `str::split_at`](https://github.com/rust-lang/rfcs/blob/master/text/1123-str-split-at.md) # New RFCs From f157d0414f4eb159dfbd2aa1d4cf992bdeb2f363 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 16 Jun 2015 14:45:12 -0700 Subject: [PATCH 05/80] . --- drafts/2015-06-15-this-week-in-rust.md | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/drafts/2015-06-15-this-week-in-rust.md b/drafts/2015-06-15-this-week-in-rust.md index 33cfa139..1467a919 100644 --- a/drafts/2015-06-15-this-week-in-rust.md +++ b/drafts/2015-06-15-this-week-in-rust.md @@ -27,11 +27,33 @@ Now you can follow breaking changes *[as they happen][BitRust2]*! # Breaking Changes - +* [Prevent raw pointers from being used as explicit + self](https://github.com/rust-lang/rust/pull/26225). Probably nobody + has ever tried to write such code, and the current implemented + behavior is bonkers. # Other Changes * [Add `Result::expect`](https://github.com/rust-lang/rust/pull/25359/files). +* [Add + `CString::from_ptr/into_ptr`](https://github.com/rust-lang/rust/pull/25777). For + transfering ownership of C strings across the FFI. +* [Implement `str::split_at`](https://github.com/rust-lang/rust/pull/25839). +* [Stabilize a number of new `fs` features](https://github.com/rust-lang/rust/pull/25844). +* [Parallel code generation works + again](https://github.com/rust-lang/rust/pull/26018). Pass `rustc -C + codegen-units=4` to try. +* [The `to_uppercase` and `to_lowercase` functions now support complex + case mapping](https://github.com/rust-lang/rust/pull/26039). This + changes the behavior of the *stable* + `char::to_uppercase/to_lowercase` and also stabilizes + `str::to_uppercase/to_lowercase`. +* [Implement `Extend<&T> where: T: Copy` for a variety of collection + types](https://github.com/rust-lang/rust/pull/25989). +* [The unstable `String::from_str` is + deprecated](https://github.com/rust-lang/rust/pull/26077). Use + `String::from`. +* [Heuristics for detecting identifier typos are improved](https://github.com/rust-lang/rust/pull/26087). # New Contributors @@ -47,6 +69,7 @@ Now you can follow breaking changes *[as they happen][BitRust2]*! versioning](https://github.com/rust-lang/rfcs/blob/master/text/1122-language-semver.md). Describes how the language itself is allowed to change. * [RFC 1123. Introduce `str::split_at`](https://github.com/rust-lang/rfcs/blob/master/text/1123-str-split-at.md) +* [RFC 1131. `likely` intrinsic](https://github.com/rust-lang/rfcs/blob/master/text/1131-likely-intrinsic.md). For hinting hot and cold branches. # New RFCs From cc6b70a799eb1ac65598ca3d4290c349fb688c63 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 16 Jun 2015 14:47:50 -0700 Subject: [PATCH 06/80] . --- drafts/2015-06-15-this-week-in-rust.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drafts/2015-06-15-this-week-in-rust.md b/drafts/2015-06-15-this-week-in-rust.md index 1467a919..636f7521 100644 --- a/drafts/2015-06-15-this-week-in-rust.md +++ b/drafts/2015-06-15-this-week-in-rust.md @@ -73,6 +73,11 @@ Now you can follow breaking changes *[as they happen][BitRust2]*! # New RFCs +* [Adjust default object +bounds](https://github.com/rust-lang/rfcs/pull/1156). This fixes some +dumb rules that made it into 1.0, but is a breaking change that +affects relatively little code. +* [Expand the `std::net` module](https://github.com/rust-lang/rfcs/pull/1158). # Betawatch! From a5e233d96fe8081f7939422844be7f0ecf14a32a Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 16 Jun 2015 15:00:49 -0700 Subject: [PATCH 07/80] 2015-06-15 --- drafts/2015-06-15-this-week-in-rust.md | 48 ++++++++++++-------------- 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/drafts/2015-06-15-this-week-in-rust.md b/drafts/2015-06-15-this-week-in-rust.md index 636f7521..85b5000d 100644 --- a/drafts/2015-06-15-this-week-in-rust.md +++ b/drafts/2015-06-15-this-week-in-rust.md @@ -57,7 +57,24 @@ Now you can follow breaking changes *[as they happen][BitRust2]*! # New Contributors - +* ben fleis +* David Voit +* Eli Friedman +* frankamp +* funkill +* Johann Tuffe +* joliv +* Joshua Landau +* Leo Correa +* marcell +* Marcel Müller +* Matthew Astley +* Nathan Long +* Nick Fitzgerald +* Russell McClellan +* saml +* simplex +* swgillespie # Approved RFCs @@ -79,22 +96,6 @@ dumb rules that made it into 1.0, but is a breaking change that affects relatively little code. * [Expand the `std::net` module](https://github.com/rust-lang/rfcs/pull/1158). -# Betawatch! - -The current beta is `1.0.0-beta.3 (5241bf9c3 2015-04-25)`. - -There were X PRs this week landing backports to beta. - -* [NNNNN](link). - -# Friend of the Tree - -The Rust Team likes to occassionally recognize people who have made -outstanding contributions to The Rust Project, its ecosystem, and its -community. These people are 'friends of the tree'. - -This week's friend of the tree was ... - # Notable Links * [Weekly-meetings/2014-18-11][mtg]: what? [Reddit][mtg-reddit]. @@ -106,17 +107,12 @@ This week's friend of the tree was ... # Project Updates -# Crate of the Week - -There are so many crates! It's easy to lose track of the good ones, -like [THING]. - -THING is a ... - - # Upcoming Events -* [What?] +* [6/17. Montreal](http://www.meetup.com/Montreal-Rust-Language-Meetup/events/223045701/) +* [6/17. Los Angeles](http://www.meetup.com/Rust-Los-Angeles/events/222656434/) +* [6/24. Columbus Rust Society](http://www.meetup.com/columbus-rs/) +* [6/29. Sydney](http://www.meetup.com/Rust-Sydney/events/222811456/) If you are running a Rust event please add it to the [calendar] to get it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian From f0425873d328d1026eb7135e70326a87f754f27e Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 16 Jun 2015 15:36:40 -0700 Subject: [PATCH 08/80] . --- .../2015-06-15-this-week-in-rust.md | 45 +++++++++++++------ .../YYYY-MM-DD-this-week-in-rust-template.md | 22 ++++----- 2 files changed, 43 insertions(+), 24 deletions(-) rename {drafts => content}/2015-06-15-this-week-in-rust.md (64%) diff --git a/drafts/2015-06-15-this-week-in-rust.md b/content/2015-06-15-this-week-in-rust.md similarity index 64% rename from drafts/2015-06-15-this-week-in-rust.md rename to content/2015-06-15-this-week-in-rust.md index 85b5000d..d693d0df 100644 --- a/drafts/2015-06-15-this-week-in-rust.md +++ b/content/2015-06-15-this-week-in-rust.md @@ -15,6 +15,27 @@ If you find any errors or omissions in this week's issue, [please submit a PR](h This week's edition was edited by: Brian Anderson. +# Notable Links + +* [A graph-based higher-order intermediate representation](http://compilers.cs.uni-saarland.de/papers/lkh15_cgo.pdf). A novel intermediate representation for a dialect of Rust. +* [Interview with Mozilla's Aaron Turon](http://www.pl-enthusiast.net/2015/06/09/interview-with-mozillas-aaron-turon/). +* [Out of curiosity - Who is currently focusing on improving compile times? If so, how is it coming along?](http://www.reddit.com/r/rust/comments/39f21l/out_of_curiosity_who_is_currently_focusing_on/). People are working on compile time. +* [Hodor esolang as a Rust macro](http://www.reddit.com/r/rust/comments/39wvrm/hodor_esolang_as_a_rust_macro/). +* [dispatcher](https://github.com/timonv/rdispatcher). Many-to-many channels. +* ['When you have no room for error'](http://www.commitstrip.com/en/2015/06/15/when-you-have-no-room-for-error/). The CommitStrip comic mentions Rust. +* [Fundraiser for a multi-language (incl. Rust) teaching tent at Chaos Communication Camp](https://www.betterplace.org/en/projects/30076-an-assembly-on-chaos-communication-camp-providing-free-teaching). + +# Project Updates + +* [Homu, a gatekeeper for your commits](http://homu.io/). Barosl is now offering homu-as-a-service. This is the CI system Rust and Servo both use, and it is compatible with Travis CI. +* [rustorm](http://www.reddit.com/r/rust/comments/395hwl/ivancerasrustorm_a_simple_orm_for_rust/). A simple ORM. +* [snake-piston](http://www.reddit.com/r/rust/comments/398azz/snake_game_in_rust_using_piston/). A snake game written with Piston. +* [yaml-rust](http://chyh1990.github.io/yaml-rust/). A pure-Rust YAML 1.2 parser. +* [crust](http://www.reddit.com/r/rust/comments/39elgj/crust_reliable_p2p_network_connections_in_rust/). Reliable p2p with NAT traversal. +* [aho-corasick](https://github.com/BurntSushi/aho-corasick). Fast multi-substring nmatching. +* [pcapng-rs](https://github.com/richo/pcapng-rs). A [pcapng](https://github.com/pcapng/pcapng) parser written with [nom](https://github.com/Geal/nom). +* [deuterium](https://github.com/deuterium-orm/deuterium). A fully-typed SQL query builder. + # What's cooking on master? 160 pull requests were [merged in the last week][merged]. @@ -96,17 +117,6 @@ dumb rules that made it into 1.0, but is a breaking change that affects relatively little code. * [Expand the `std::net` module](https://github.com/rust-lang/rfcs/pull/1158). -# Notable Links - -* [Weekly-meetings/2014-18-11][mtg]: what? [Reddit][mtg-reddit]. - -[mtg]: https://github.com/rust-lang/meeting-minutes/blob/master/weekly-meetings/2014-18-11.md -[mtg-reddit]: - - -# Project Updates - - # Upcoming Events * [6/17. Montreal](http://www.meetup.com/Montreal-Rust-Language-Meetup/events/223045701/) @@ -124,10 +134,17 @@ Anderson][brson] for access. # Quote of the Week -*"Quote"* +```text + I had a fun one in cargo script: there's currently no way in Rust +to get a file's mtime and the system time in the same time format + (On Windows) + You can get one in UNIX time, the other in Windows time + Which have different scales and different epochs + Rust: Buy Your Own Damn Batteries; What Are You, A Communist? +``` -Explanation and link. +Quxxy discovers Rust's stance toward the inclusion of batteries. -Thanks to XXX for the tip. [Submit your quotes for next week!][submit]. +Thanks to cmr for the tip. [Submit your quotes for next week!][submit]. [submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328 diff --git a/drafts/YYYY-MM-DD-this-week-in-rust-template.md b/drafts/YYYY-MM-DD-this-week-in-rust-template.md index 95165dd2..122d0024 100644 --- a/drafts/YYYY-MM-DD-this-week-in-rust-template.md +++ b/drafts/YYYY-MM-DD-this-week-in-rust-template.md @@ -15,6 +15,17 @@ If you find any errors or omissions in this week's issue, [please submit a PR](h This week's edition was edited by: WHO?? +# Notable Links + +* [Weekly-meetings/2014-18-11][mtg]: what? [Reddit][mtg-reddit]. + +[mtg]: https://github.com/rust-lang/meeting-minutes/blob/master/weekly-meetings/2014-18-11.md +[mtg-reddit]: + + +# Project Updates + + # What's cooking on master? XXX pull requests were [merged in the last week][merged]. @@ -60,16 +71,7 @@ community. These people are 'friends of the tree'. This week's friend of the tree was ... -# Notable Links - -* [Weekly-meetings/2014-18-11][mtg]: what? [Reddit][mtg-reddit]. - -[mtg]: https://github.com/rust-lang/meeting-minutes/blob/master/weekly-meetings/2014-18-11.md -[mtg-reddit]: - - -# Project Updates - +# Internals discussions # Crate of the Week From 90de4614296203c9d61c774e874374e9de4ef8bd Mon Sep 17 00:00:00 2001 From: Andrew Gallant Date: Tue, 16 Jun 2015 18:49:12 -0400 Subject: [PATCH 09/80] update for regex perf improvements --- content/2015-06-15-this-week-in-rust.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/2015-06-15-this-week-in-rust.md b/content/2015-06-15-this-week-in-rust.md index d693d0df..a24c7e08 100644 --- a/content/2015-06-15-this-week-in-rust.md +++ b/content/2015-06-15-this-week-in-rust.md @@ -35,6 +35,7 @@ This week's edition was edited by: Brian Anderson. * [aho-corasick](https://github.com/BurntSushi/aho-corasick). Fast multi-substring nmatching. * [pcapng-rs](https://github.com/richo/pcapng-rs). A [pcapng](https://github.com/pcapng/pcapng) parser written with [nom](https://github.com/Geal/nom). * [deuterium](https://github.com/deuterium-orm/deuterium). A fully-typed SQL query builder. +* [regex](https://github.com/rust-lang/regex/pull/91). It got faster. A lot faster. # What's cooking on master? From eec02d091015883f469433dfd672850d9168bc0f Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Thu, 18 Jun 2015 17:46:03 -0700 Subject: [PATCH 10/80] Start 2015-06-22 draft --- drafts/2015-06-22-this-week-in-rust.md | 100 +++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 drafts/2015-06-22-this-week-in-rust.md diff --git a/drafts/2015-06-22-this-week-in-rust.md b/drafts/2015-06-22-this-week-in-rust.md new file mode 100644 index 00000000..a51e8322 --- /dev/null +++ b/drafts/2015-06-22-this-week-in-rust.md @@ -0,0 +1,100 @@ +Title: This Week in Rust 84 +Date: 2015-06-22 +Category: This Week in Rust + +Hello and welcome to another issue of *This Week in Rust*! +[Rust](http://rust-lang.org) is a systems language pursuing the trifecta: +safety, concurrency, and speed. This is a weekly summary of its progress and +community. Want something mentioned? [Send me an +email!](mailto:corey@octayn.net?subject=This%20Week%20in%20Rust%20Suggestion) +Want to get involved? [We love +contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contributors). + +*This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). +If you find any errors or omissions in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). + +This week's edition was edited by: WHO?? + +# Notable Links + + + +# Project Updates + + +# What's cooking on master? + +XXX pull requests were [merged in the last week][merged]. + +[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-06-15..2015-06-22 + +Now you can follow breaking changes *[as they happen][BitRust2]*! + +[BitRust2]: http://killercup.github.io/bitrust/ + +# Breaking Changes + + + +# Other Changes + + + +# New Contributors + + + +# Approved RFCs + + + +# New RFCs + + +# Betawatch! + +The current beta is `1.0.0-beta.3 (5241bf9c3 2015-04-25)`. + +There were X PRs this week landing backports to beta. + +* [NNNNN](link). + +# Friend of the Tree + +The Rust Team likes to occassionally recognize people who have made +outstanding contributions to The Rust Project, its ecosystem, and its +community. These people are 'friends of the tree'. + +This week's friend of the tree was ... + +# Internals discussions + +# Crate of the Week + +There are so many crates! It's easy to lose track of the good ones, +like [THING]. + +THING is a ... + + +# Upcoming Events + +* [What?] + +If you are running a Rust event please add it to the [calendar] to get +it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian +Anderson][brson] for access. + +[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com +[erickt]: mailto:erick.tryzelaar@gmail.com +[brson]: mailto:banderson@mozilla.com + +# Quote of the Week + +*"Quote"* + +Explanation and link. + +Thanks to XXX for the tip. [Submit your quotes for next week!][submit]. + +[submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328 From c6620a414aa076a1a80470038e18f180f9cc4a2a Mon Sep 17 00:00:00 2001 From: mdinger Date: Sat, 20 Jun 2015 15:23:38 -0400 Subject: [PATCH 11/80] Add a summary of the changes to rustbyexample over the past few months --- drafts/2015-06-22-this-week-in-rust.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drafts/2015-06-22-this-week-in-rust.md b/drafts/2015-06-22-this-week-in-rust.md index a51e8322..317d943e 100644 --- a/drafts/2015-06-22-this-week-in-rust.md +++ b/drafts/2015-06-22-this-week-in-rust.md @@ -21,6 +21,21 @@ This week's edition was edited by: WHO?? # Project Updates +* A summary of the major changes to [Rust by example](http://rustbyexample.com/) +in the past few months include: + - February 15, 2015: The [flow control section](http://rustbyexample.com/flow_control.html) +was [created](https://github.com/rust-lang/rust-by-example/pull/421) to house +all flow control operations together. + - March 21, 2015: The [formatting section](http://rustbyexample.com/hello/print.html) +was [revised](https://github.com/rust-lang/rust-by-example/pull/496) so new +users are immediately confronted with the distinction of `Debug` and `Display` +and how to deal with them. + - May 2, 2015: The table of contents was [reorganized](https://github.com/rust-lang/rust-by-example/pull/561) +so examples are sorted consistently by categories. + - May 23, 2015: The [generics section](http://rustbyexample.com/generics.html) was +majorly [expanded](https://github.com/rust-lang/rust-by-example/pull/572). + - June 15, 2015: The [closures section](http://rustbyexample.com/fn/closures.html) was +completely rewritten and [expanded](https://github.com/rust-lang/rust-by-example/pull/594). # What's cooking on master? From 46768b99bb5bfab5ecd38475b75ac06266ce1036 Mon Sep 17 00:00:00 2001 From: Vikrant Chaudhary Date: Sun, 21 Jun 2015 01:02:29 +0530 Subject: [PATCH 12/80] Added links to posts & projects for next issue. --- drafts/2015-06-22-this-week-in-rust.md | 30 +++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/drafts/2015-06-22-this-week-in-rust.md b/drafts/2015-06-22-this-week-in-rust.md index a51e8322..b39cf4a4 100644 --- a/drafts/2015-06-22-this-week-in-rust.md +++ b/drafts/2015-06-22-this-week-in-rust.md @@ -15,11 +15,33 @@ If you find any errors or omissions in this week's issue, [please submit a PR](h This week's edition was edited by: WHO?? -# Notable Links +# From Blogosphere +* [Exceptional results: error handling with C# and Rust](https://ruudvanasseldonk.com/2015/06/17/exceptional-results-error-handling-in-csharp-and-rust). Exceptions based error handling in C# vs Rust's monadic approach. +* [Rust Torrent](http://pietro.menna.net.br/recurse-center/rust/2015/06/19/rusty-torrent/). Pietro Menna shares his experiece of writing a BitTorrent client in Rust. +* [Exploring Rust](http://www.wilfred.me.uk/blog/2015/06/18/exploring-rust/). A brief look at state of affairs in Rust 1.0. +* [Rust using Visual Studio Code](https://mobiarch.wordpress.com/2015/06/16/rust-using-visual-studio-code/). Setup Visual Studio Code for Rust development. +# Tips & Tricks -# Project Updates +* [How to pass a closure into a trait object](http://camjackson.net/post/rust-lang-how-to-pass-a-closure-into-a-trait-object). +* [Rust error stacktraces](http://phildawes.net/blog/2015/06/17/rust-stacktrace/). Get stacktrace from errors in production code. +* [Benchmarking in Rust with `libtest`](https://llogiq.github.io/2015/06/16/bench.html). + +# In News + +* [Google Bazel added support for Rust](https://github.com/google/bazel/tree/master/tools/build_rules/rust). +* [Impala: a Rust dialect that can partially evaluate functions at compile time and produce GPU code](http://compilers.cs.uni-saarland.de/papers/ppl14_web.pdf). +* [Rust: Announcing the community subteam](https://internals.rust-lang.org/t/announcing-the-community-subteam/2248). + +# New Releases & Project Updates + +* [RustLex](https://github.com/LeoTestard/rustlex). Lexical analysers generator for Rust. +* [rsedis](https://github.com/seppo0010/rsedis). Redis re-implemented in Rust. +* [cargo add](https://github.com/withoutboats/cargo-add). A utility for adding cargo dependencies from the command line. +* [volley](https://github.com/jonhoo/volley). A benchmarking tool for measuring the performance of server networking stacks. +* [Rust Dispatcher](https://github.com/timonv/rdispatcher). Dispatcher for Rust, broadcast and subscribe many to many. +* [rust-vim-setup](https://github.com/ivanceras/rust-vim-setup). Use VIM as your Rust IDE - set of bash scripts and a customised `vimrc` for Rust development. # What's cooking on master? @@ -79,7 +101,9 @@ THING is a ... # Upcoming Events -* [What?] +* [6/23. Hannover](http://blog.thoughtram.io/rust/2015/06/17/anouncing-hanovers-second-rust-meetup.html) +* [6/24. Columbus Rust Society](http://www.meetup.com/columbus-rs/) +* [6/29. Sydney](http://www.meetup.com/Rust-Sydney/events/222811456/) If you are running a Rust event please add it to the [calendar] to get it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian From 98c1e4fdff3f1279435796158bd6eea109f6078f Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sat, 20 Jun 2015 16:56:40 -0700 Subject: [PATCH 13/80] Add editors for 2015-06-22 --- drafts/2015-06-22-this-week-in-rust.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drafts/2015-06-22-this-week-in-rust.md b/drafts/2015-06-22-this-week-in-rust.md index e5355c89..50ee2656 100644 --- a/drafts/2015-06-22-this-week-in-rust.md +++ b/drafts/2015-06-22-this-week-in-rust.md @@ -13,7 +13,7 @@ contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contrib *This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). If you find any errors or omissions in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). -This week's edition was edited by: WHO?? +This week's edition was edited by: Vikrant Chaudhary, mdinger, Andrew Gallant, and Brian Anderson # From Blogosphere From 876a366a30ac491140570e856f6827e66feaf414 Mon Sep 17 00:00:00 2001 From: Vikrant Chaudhary Date: Mon, 22 Jun 2015 13:37:39 +0530 Subject: [PATCH 14/80] Added link to Twitter account Also, removed the "omission" word because we should treat past issues as readonly and any "omissions" should be part of a new issue. --- drafts/YYYY-MM-DD-this-week-in-rust-template.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drafts/YYYY-MM-DD-this-week-in-rust-template.md b/drafts/YYYY-MM-DD-this-week-in-rust-template.md index 122d0024..fbdaeb70 100644 --- a/drafts/YYYY-MM-DD-this-week-in-rust-template.md +++ b/drafts/YYYY-MM-DD-this-week-in-rust-template.md @@ -5,13 +5,13 @@ Category: This Week in Rust Hello and welcome to another issue of *This Week in Rust*! [Rust](http://rust-lang.org) is a systems language pursuing the trifecta: safety, concurrency, and speed. This is a weekly summary of its progress and -community. Want something mentioned? [Send me an -email!](mailto:corey@octayn.net?subject=This%20Week%20in%20Rust%20Suggestion) +community. Want something mentioned? Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) or [send us an +email](mailto:corey@octayn.net?subject=This%20Week%20in%20Rust%20Suggestion)! Want to get involved? [We love contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contributors). *This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). -If you find any errors or omissions in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). +If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). This week's edition was edited by: WHO?? From e116ac49723a1d46aa4a3960001893acd031477e Mon Sep 17 00:00:00 2001 From: Vikrant Chaudhary Date: Mon, 22 Jun 2015 14:14:54 +0530 Subject: [PATCH 15/80] Added link to Twitter account in today's issue Also, replaced "me" with "us", removed "ommisions" word (because we should treat past issues as readonly and any "omissions" should be part of a new issue), and sorted contributors by last name. --- drafts/2015-06-22-this-week-in-rust.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drafts/2015-06-22-this-week-in-rust.md b/drafts/2015-06-22-this-week-in-rust.md index 50ee2656..117e5bea 100644 --- a/drafts/2015-06-22-this-week-in-rust.md +++ b/drafts/2015-06-22-this-week-in-rust.md @@ -5,15 +5,15 @@ Category: This Week in Rust Hello and welcome to another issue of *This Week in Rust*! [Rust](http://rust-lang.org) is a systems language pursuing the trifecta: safety, concurrency, and speed. This is a weekly summary of its progress and -community. Want something mentioned? [Send me an -email!](mailto:corey@octayn.net?subject=This%20Week%20in%20Rust%20Suggestion) +community. Want something mentioned? Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) or [send us an +email](mailto:corey@octayn.net?subject=This%20Week%20in%20Rust%20Suggestion)! Want to get involved? [We love contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contributors). *This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). -If you find any errors or omissions in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). +If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). -This week's edition was edited by: Vikrant Chaudhary, mdinger, Andrew Gallant, and Brian Anderson +This week's edition was edited by: [Brian Anderson](https://github.com/brson), [Vikrant Chaudhary](https://github.com/nasa42), [Andrew Gallant](https://github.com/BurntSushi), and [mdinger](https://github.com/mdinger). # From Blogosphere From e42b576b4aa1b86866dabe84c4bd67607fd8f3a9 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 23 Jun 2015 12:37:12 -0700 Subject: [PATCH 16/80] Update draft with new organization --- drafts/2015-06-22-this-week-in-rust.md | 21 ++++++++----------- .../YYYY-MM-DD-this-week-in-rust-template.md | 20 +++++------------- 2 files changed, 14 insertions(+), 27 deletions(-) diff --git a/drafts/2015-06-22-this-week-in-rust.md b/drafts/2015-06-22-this-week-in-rust.md index 117e5bea..93c90484 100644 --- a/drafts/2015-06-22-this-week-in-rust.md +++ b/drafts/2015-06-22-this-week-in-rust.md @@ -15,7 +15,7 @@ If you find any errors in this week's issue, [please submit a PR](https://github This week's edition was edited by: [Brian Anderson](https://github.com/brson), [Vikrant Chaudhary](https://github.com/nasa42), [Andrew Gallant](https://github.com/BurntSushi), and [mdinger](https://github.com/mdinger). -# From Blogosphere +# From the Blogosphere * [Exceptional results: error handling with C# and Rust](https://ruudvanasseldonk.com/2015/06/17/exceptional-results-error-handling-in-csharp-and-rust). Exceptions based error handling in C# vs Rust's monadic approach. * [Rust Torrent](http://pietro.menna.net.br/recurse-center/rust/2015/06/19/rusty-torrent/). Pietro Menna shares his experiece of writing a BitTorrent client in Rust. @@ -28,7 +28,7 @@ This week's edition was edited by: [Brian Anderson](https://github.com/brson), [ * [Rust error stacktraces](http://phildawes.net/blog/2015/06/17/rust-stacktrace/). Get stacktrace from errors in production code. * [Benchmarking in Rust with `libtest`](https://llogiq.github.io/2015/06/16/bench.html). -# In News +# In the News * [Google Bazel added support for Rust](https://github.com/google/bazel/tree/master/tools/build_rules/rust). * [Impala: a Rust dialect that can partially evaluate functions at compile time and produce GPU code](http://compilers.cs.uni-saarland.de/papers/ppl14_web.pdf). @@ -75,7 +75,9 @@ Now you can follow breaking changes *[as they happen][BitRust2]*! # Other Changes - +* Thanks to Ashesh Kumar for pointing out that rust-lang.org was not + configured with DMARC to prevent spoofing. The misconfiguration has + now been corrected. # New Contributors @@ -85,16 +87,13 @@ Now you can follow breaking changes *[as they happen][BitRust2]*! +# Final Comment Period + + # New RFCs -# Betawatch! - -The current beta is `1.0.0-beta.3 (5241bf9c3 2015-04-25)`. - -There were X PRs this week landing backports to beta. - -* [NNNNN](link). +# Internals discussions # Friend of the Tree @@ -104,8 +103,6 @@ community. These people are 'friends of the tree'. This week's friend of the tree was ... -# Internals discussions - # Crate of the Week There are so many crates! It's easy to lose track of the good ones, diff --git a/drafts/YYYY-MM-DD-this-week-in-rust-template.md b/drafts/YYYY-MM-DD-this-week-in-rust-template.md index fbdaeb70..f6e2481f 100644 --- a/drafts/YYYY-MM-DD-this-week-in-rust-template.md +++ b/drafts/YYYY-MM-DD-this-week-in-rust-template.md @@ -15,16 +15,13 @@ If you find any errors in this week's issue, [please submit a PR](https://github This week's edition was edited by: WHO?? -# Notable Links +# From the Blogosphere -* [Weekly-meetings/2014-18-11][mtg]: what? [Reddit][mtg-reddit]. +# Tips & Tricks -[mtg]: https://github.com/rust-lang/meeting-minutes/blob/master/weekly-meetings/2014-18-11.md -[mtg-reddit]: - - -# Project Updates +# In the News +# New Releases & Project Updates # What's cooking on master? @@ -55,13 +52,7 @@ Now you can follow breaking changes *[as they happen][BitRust2]*! # New RFCs -# Betawatch! - -The current beta is `1.0.0-beta.3 (5241bf9c3 2015-04-25)`. - -There were X PRs this week landing backports to beta. - -* [NNNNN](link). +# Internals discussions # Friend of the Tree @@ -71,7 +62,6 @@ community. These people are 'friends of the tree'. This week's friend of the tree was ... -# Internals discussions # Crate of the Week From e9b378439ee599694ac06115997ade09db93b01b Mon Sep 17 00:00:00 2001 From: Jacob Clark Date: Tue, 23 Jun 2015 21:06:40 +0100 Subject: [PATCH 17/80] Adds addition of Herd --- drafts/2015-06-22-this-week-in-rust.md | 1 + 1 file changed, 1 insertion(+) diff --git a/drafts/2015-06-22-this-week-in-rust.md b/drafts/2015-06-22-this-week-in-rust.md index 93c90484..21a2e264 100644 --- a/drafts/2015-06-22-this-week-in-rust.md +++ b/drafts/2015-06-22-this-week-in-rust.md @@ -42,6 +42,7 @@ This week's edition was edited by: [Brian Anderson](https://github.com/brson), [ * [volley](https://github.com/jonhoo/volley). A benchmarking tool for measuring the performance of server networking stacks. * [Rust Dispatcher](https://github.com/timonv/rdispatcher). Dispatcher for Rust, broadcast and subscribe many to many. * [rust-vim-setup](https://github.com/ivanceras/rust-vim-setup). Use VIM as your Rust IDE - set of bash scripts and a customised `vimrc` for Rust development. +* [Herd](https://github.com/imjacobclark/herd). An experimental HTTP load testing application written in Rust. * A summary of the major changes to [Rust by example](http://rustbyexample.com/) in the past few months include: From 9ebab6a8b6e1e652da5703b2f78c90efac154d39 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 23 Jun 2015 16:04:18 -0700 Subject: [PATCH 18/80] Finish 2015-06-22 --- .../2015-06-22-this-week-in-rust.md | 88 ++++++++++++------- .../YYYY-MM-DD-this-week-in-rust-template.md | 10 +++ 2 files changed, 67 insertions(+), 31 deletions(-) rename {drafts => content}/2015-06-22-this-week-in-rust.md (64%) diff --git a/drafts/2015-06-22-this-week-in-rust.md b/content/2015-06-22-this-week-in-rust.md similarity index 64% rename from drafts/2015-06-22-this-week-in-rust.md rename to content/2015-06-22-this-week-in-rust.md index 21a2e264..4d1fb384 100644 --- a/drafts/2015-06-22-this-week-in-rust.md +++ b/content/2015-06-22-this-week-in-rust.md @@ -62,7 +62,7 @@ completely rewritten and [expanded](https://github.com/rust-lang/rust-by-example # What's cooking on master? -XXX pull requests were [merged in the last week][merged]. +112 pull requests were [merged in the last week][merged]. [merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-06-15..2015-06-22 @@ -72,45 +72,80 @@ Now you can follow breaking changes *[as they happen][BitRust2]*! # Breaking Changes - +* [Don't panic when stdout doesn't + exist](https://github.com/rust-lang/rust/pull/26168). See [RFC + 1014](https://github.com/rust-lang/rfcs/blob/master/text/1014-stdout-existential-crisis.md). This + is breaking because it changes the behavior of stdio, but in ways + that are expected to be less surprising. Considered a bugfix. # Other Changes * Thanks to Ashesh Kumar for pointing out that rust-lang.org was not configured with DMARC to prevent spoofing. The misconfiguration has now been corrected. +* [Optimize implementations of FromIterator and Extend for + Vec](https://github.com/rust-lang/rust/pull/22681). +* [Result - Add an `expect` method that prints a message and the `Err` + value](https://github.com/rust-lang/rust/pull/25359). +* [Break apart global unstable + features](https://github.com/rust-lang/rust/pull/26192). Some of the + catch-all feature names, `core`, `std_misc`, `collections`, `alloc`, + are split into smaller, better-named features. +* The regex crate received a [rewrite that includes a big performance + improvement](https://github.com/rust-lang/regex/pull/91). +* [Avoid deref/ref cycles for no-op conversions between unsafe + pointers](https://github.com/rust-lang/rust/pull/26336). Reduces the + amount of IR rustc generates. +* [Pass fat pointers in two immediate + arguments](https://github.com/rust-lang/rust/pull/26411). More + codegen improvements from dotdash. +* [Add FromRow{Fd,Handle,Socket} to os + preludes](https://github.com/rust-lang/rust/pull/26413). +* [Custom Debug impl for + io::Error](https://github.com/rust-lang/rust/pull/26416). # New Contributors - +* David Stygstra +* Gulshan Singh +* Jake Hickey +* joliv +* Markus +* Steven Walter +* Yongqian Li # Approved RFCs - +* [Update RFC 195 to account for RFC + 246](https://github.com/rust-lang/rfcs/pull/865). Just accounting + for the `const`/`static` distinction in the associated items RFC. +* [Clarify cast rules, especially regarding fat + pointers](https://github.com/rust-lang/rfcs/pull/1052). Updates RFC + 401: coercions. +* [RFC 1156: Adjust default object + bounds](https://github.com/rust-lang/rfcs/blob/master/text/1156-adjust-default-object-bounds.md). This + is a stable breaking change (the first) to the default lifetime + bounds of trait objects. # Final Comment Period +Every week the teams announce a 'final comment period' for RFCs which +are close to reaching a conclusion. Express your opinions now. [This +week's][fcp] RFCs entering FCP are: + +[fcp]: https://github.com/rust-lang/rfcs/pulls?q=is%3Aopen+is%3Apr+label%3Afinal-comment-period + +* [Allow closure expressions to expand to a `&` or `&mut` temporary](https://github.com/rust-lang/rfcs/pull/756). +* [Allow macros in types](https://github.com/rust-lang/rfcs/pull/873). +* [read_all](https://github.com/rust-lang/rfcs/pull/980). +* [Add read_into_buf and get_buf to BufRead](https://github.com/rust-lang/rfcs/pull/1015). +* [Rename `connect` to `join`](https://github.com/rust-lang/rfcs/pull/1102). +* [Implement `FromIterator` for the unit type](https://github.com/rust-lang/rfcs/pull/1130). +* [Add some of `[T]`'s methods to strings and vice-versa](https://github.com/rust-lang/rfcs/pull/1152). # New RFCs - -# Internals discussions - -# Friend of the Tree - -The Rust Team likes to occassionally recognize people who have made -outstanding contributions to The Rust Project, its ecosystem, and its -community. These people are 'friends of the tree'. - -This week's friend of the tree was ... - -# Crate of the Week - -There are so many crates! It's easy to lose track of the good ones, -like [THING]. - -THING is a ... - +* [Make `size` an associated constant](https://github.com/rust-lang/rfcs/pull/1168). # Upcoming Events @@ -126,12 +161,3 @@ Anderson][brson] for access. [erickt]: mailto:erick.tryzelaar@gmail.com [brson]: mailto:banderson@mozilla.com -# Quote of the Week - -*"Quote"* - -Explanation and link. - -Thanks to XXX for the tip. [Submit your quotes for next week!][submit]. - -[submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328 diff --git a/drafts/YYYY-MM-DD-this-week-in-rust-template.md b/drafts/YYYY-MM-DD-this-week-in-rust-template.md index f6e2481f..c3e293ef 100644 --- a/drafts/YYYY-MM-DD-this-week-in-rust-template.md +++ b/drafts/YYYY-MM-DD-this-week-in-rust-template.md @@ -49,6 +49,16 @@ Now you can follow breaking changes *[as they happen][BitRust2]*! +# Final Comment Period + +Every week the teams announce a 'final comment period' for RFCs which +are reaching a decision. Express your opinions now. [This week's][fcp] +RFCs entering FCP are: + +[fcp]: https://github.com/rust-lang/rfcs/pulls?q=is%3Aopen+is%3Apr+label%3Afinal-comment-period + +* TODO + # New RFCs From cde9cce781e351a68acb3fcaa31731725c7dc2d6 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 23 Jun 2015 16:13:25 -0700 Subject: [PATCH 19/80] . --- content/2015-06-22-this-week-in-rust.md | 37 +++++++++++++++---------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/content/2015-06-22-this-week-in-rust.md b/content/2015-06-22-this-week-in-rust.md index 4d1fb384..13b55fbb 100644 --- a/content/2015-06-22-this-week-in-rust.md +++ b/content/2015-06-22-this-week-in-rust.md @@ -44,21 +44,28 @@ This week's edition was edited by: [Brian Anderson](https://github.com/brson), [ * [rust-vim-setup](https://github.com/ivanceras/rust-vim-setup). Use VIM as your Rust IDE - set of bash scripts and a customised `vimrc` for Rust development. * [Herd](https://github.com/imjacobclark/herd). An experimental HTTP load testing application written in Rust. -* A summary of the major changes to [Rust by example](http://rustbyexample.com/) -in the past few months include: - - February 15, 2015: The [flow control section](http://rustbyexample.com/flow_control.html) -was [created](https://github.com/rust-lang/rust-by-example/pull/421) to house -all flow control operations together. - - March 21, 2015: The [formatting section](http://rustbyexample.com/hello/print.html) -was [revised](https://github.com/rust-lang/rust-by-example/pull/496) so new -users are immediately confronted with the distinction of `Debug` and `Display` -and how to deal with them. - - May 2, 2015: The table of contents was [reorganized](https://github.com/rust-lang/rust-by-example/pull/561) -so examples are sorted consistently by categories. - - May 23, 2015: The [generics section](http://rustbyexample.com/generics.html) was -majorly [expanded](https://github.com/rust-lang/rust-by-example/pull/572). - - June 15, 2015: The [closures section](http://rustbyexample.com/fn/closures.html) was -completely rewritten and [expanded](https://github.com/rust-lang/rust-by-example/pull/594). +[Rust by example](http://rustbyexample.com/) has receieved a number of +improvements recently: + +* February 15, 2015: The [flow control + section](http://rustbyexample.com/flow_control.html) was + [created](https://github.com/rust-lang/rust-by-example/pull/421) to + house all flow control operations together. +* March 21, 2015: The [formatting section](http://rustbyexample.com/ + hello/print.html) was + [revised](https://github.com/rust-lang/rust-by-example/pull/496) so + new users are immediately confronted with the distinction of `Debug` + and `Display` and how to deal with them. +* May 2, 2015: The table of contents was + [reorganized](https://github.com/rust-lang/rust-by-example/pull/561) + so examples are sorted consistently by categories. +* May 23, 2015: The [generics + section](http://rustbyexample.com/generics.html) was majorly + [expanded](https://github.com/rust-lang/rust-by-example/pull/572). +* June 15, 2015: The [closures + section](http://rustbyexample.com/fn/closures.html) was completely + rewritten and + [expanded](https://github.com/rust-lang/rust-by-example/pull/594). # What's cooking on master? From be7ae12aab33760f24b0090b8e7270a9a2238193 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 23 Jun 2015 16:17:17 -0700 Subject: [PATCH 20/80] More updates --- content/2015-06-22-this-week-in-rust.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/2015-06-22-this-week-in-rust.md b/content/2015-06-22-this-week-in-rust.md index 13b55fbb..da255bdb 100644 --- a/content/2015-06-22-this-week-in-rust.md +++ b/content/2015-06-22-this-week-in-rust.md @@ -43,6 +43,8 @@ This week's edition was edited by: [Brian Anderson](https://github.com/brson), [ * [Rust Dispatcher](https://github.com/timonv/rdispatcher). Dispatcher for Rust, broadcast and subscribe many to many. * [rust-vim-setup](https://github.com/ivanceras/rust-vim-setup). Use VIM as your Rust IDE - set of bash scripts and a customised `vimrc` for Rust development. * [Herd](https://github.com/imjacobclark/herd). An experimental HTTP load testing application written in Rust. +* [MaidSafe's Rust rewrite is going well](https://forum.safenetwork.io/t/maidsafe-dev-update-8th-june-2015/4069). +* [claxon](https://github.com/ruud-v-a/claxon). A FLAC decoder. [Rust by example](http://rustbyexample.com/) has receieved a number of improvements recently: From 35a235021a168507a0fa19fc01470b09d2028c64 Mon Sep 17 00:00:00 2001 From: Young Woo Date: Wed, 24 Jun 2015 14:02:57 +0800 Subject: [PATCH 21/80] fix a typo FromRow -> FromRaw --- content/2015-06-22-this-week-in-rust.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2015-06-22-this-week-in-rust.md b/content/2015-06-22-this-week-in-rust.md index da255bdb..b748438c 100644 --- a/content/2015-06-22-this-week-in-rust.md +++ b/content/2015-06-22-this-week-in-rust.md @@ -108,7 +108,7 @@ Now you can follow breaking changes *[as they happen][BitRust2]*! * [Pass fat pointers in two immediate arguments](https://github.com/rust-lang/rust/pull/26411). More codegen improvements from dotdash. -* [Add FromRow{Fd,Handle,Socket} to os +* [Add FromRaw{Fd,Handle,Socket} to os preludes](https://github.com/rust-lang/rust/pull/26413). * [Custom Debug impl for io::Error](https://github.com/rust-lang/rust/pull/26416). From 0ce8c4925271d23c5e80ea773b3e9ec1014c9149 Mon Sep 17 00:00:00 2001 From: mdinger Date: Wed, 24 Jun 2015 15:20:12 -0400 Subject: [PATCH 22/80] Fix typo --- content/2015-06-22-this-week-in-rust.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2015-06-22-this-week-in-rust.md b/content/2015-06-22-this-week-in-rust.md index da255bdb..40c4cee0 100644 --- a/content/2015-06-22-this-week-in-rust.md +++ b/content/2015-06-22-this-week-in-rust.md @@ -46,7 +46,7 @@ This week's edition was edited by: [Brian Anderson](https://github.com/brson), [ * [MaidSafe's Rust rewrite is going well](https://forum.safenetwork.io/t/maidsafe-dev-update-8th-june-2015/4069). * [claxon](https://github.com/ruud-v-a/claxon). A FLAC decoder. -[Rust by example](http://rustbyexample.com/) has receieved a number of +[Rust by example](http://rustbyexample.com/) has received a number of improvements recently: * February 15, 2015: The [flow control From 44b57e7cffb7be805c893f4f458083c141b1a557 Mon Sep 17 00:00:00 2001 From: B M Corser Date: Mon, 29 Jun 2015 12:48:20 +0100 Subject: [PATCH 23/80] Fix link --- content/2015-06-22-this-week-in-rust.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/2015-06-22-this-week-in-rust.md b/content/2015-06-22-this-week-in-rust.md index 40c4cee0..61f0b550 100644 --- a/content/2015-06-22-this-week-in-rust.md +++ b/content/2015-06-22-this-week-in-rust.md @@ -53,8 +53,7 @@ improvements recently: section](http://rustbyexample.com/flow_control.html) was [created](https://github.com/rust-lang/rust-by-example/pull/421) to house all flow control operations together. -* March 21, 2015: The [formatting section](http://rustbyexample.com/ - hello/print.html) was +* March 21, 2015: The [formatting section](http://rustbyexample.com/hello/print.html) was [revised](https://github.com/rust-lang/rust-by-example/pull/496) so new users are immediately confronted with the distinction of `Debug` and `Display` and how to deal with them. From 1e1ef1d63956b7318ed3438479f313781aeedd16 Mon Sep 17 00:00:00 2001 From: Vikrant Chaudhary Date: Mon, 29 Jun 2015 18:22:28 +0530 Subject: [PATCH 24/80] TWiR release 85, first draft. --- content/2015-06-29-this-week-in-rust.md | 98 +++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 content/2015-06-29-this-week-in-rust.md diff --git a/content/2015-06-29-this-week-in-rust.md b/content/2015-06-29-this-week-in-rust.md new file mode 100644 index 00000000..bc12094f --- /dev/null +++ b/content/2015-06-29-this-week-in-rust.md @@ -0,0 +1,98 @@ +Title: This Week in Rust 85 +Date: 2015-06-29 +Category: This Week in Rust + +Hello and welcome to another issue of *This Week in Rust*! +[Rust](http://rust-lang.org) is a systems language pursuing the trifecta: +safety, concurrency, and speed. This is a weekly summary of its progress and +community. Want something mentioned? Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) or [send us an +email](mailto:corey@octayn.net?subject=This%20Week%20in%20Rust%20Suggestion)! +Want to get involved? [We love +contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contributors). + +*This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). +If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). + +# From the Blogosphere + +* [Dealing With the Rust Shift in Perspective](https://joelmccracken.github.io/entries/dealing-with-the-rust-shift-in-perspective/). +* [rusty radio: Episode 1: A Rusty Start](http://rustyrad.io/podcast/1/). +* [Rust, the Language for Growth](https://joelmccracken.github.io/entries/rust-the-language-for-growth/). + +# Tips & Tricks + +* [How to Use Rust with Node.js When Performance Matters](http://blog.risingstack.com/how-to-use-rust-with-node-when-performance-matters/). Write performance critical code in Rust and use it via FFI in Node.js. +* [Effectively Using Iterators In Rust](http://hermanradtke.com/2015/06/22/effectively-using-iterators-in-rust.html). Iterate over vector and slice types using `.iter()` and `.into_iter()`. +* [First Rust Program Pain (So you can avoid it…)](http://dtrace.org/blogs/ahl/2015/06/22/first-rust-program-pain/). Tips for Rust beginners on how to avoid a fight with the compiler. +* [Implement Traits on Generics](https://mr-byte.github.io/blog/blog/2015/06/27/traits-on-generics/). +* [The Unsafe Rust Programming Language](http://cglab.ca/~abeinges/blah/turpl/_book/README.html). An excellent document about advanced functionality and low-level development practices in the Rust Programming Language. + +# In the News + +* [Rust 1.1 stable, the Community Subteam, and RustCamp](http://blog.rust-lang.org/2015/06/25/Rust-1.1.html). +* [Tickets are on sale now for RustCamp!](http://rustcamp.com/). + +# New Releases & Project Updates + +* [rust-timsort](https://github.com/notriddle/rust-timsort). Rust implementation of the modified MergeSort used in Python and Java. +* [trust](https://github.com/Wmaxlees/trust). Rust automated test runner. +* [mongo-rust-driver](https://github.com/thijsc/mongo-rust-driver). Mongo Rust driver built on top of the Mongo C driver. +* [rust-ffi-omnibus](http://jakegoulding.com/rust-ffi-omnibus/). A collection of examples of using code written in Rust from other languages. +* [hyper is now at v0.6](http://seanmonstar.com/post/122441373502/hyper-v0-6). An HTTP/S library for Rust. +* [rust-throw](https://github.com/daboross/rust-throw). A new experimental rust error handling library, meant to assist and build on existing error handling systems. +* [burrito](https://github.com/withoutboats/burrito). A monadic IO interface in Rust. +* [mimty](https://bitbucket.org/joshmorin/mimty). Fast, safe, self-contained MIME Type Identification for C and Rust. + +# What's cooking on master? + +95 pull requests were [merged in the last week][merged]. + +[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-06-22..2015-06-29 + +# Breaking Changes + +Now you can follow breaking changes *[as they happen][BitRust2]*! + +[BitRust2]: http://killercup.github.io/bitrust/ + +# Other Changes + +* [std: Add support for Windows XP](https://github.com/rust-lang/rust/pull/26601). +* [Reset signal behavior before starting children with std::process](https://github.com/rust-lang/rust/pull/25784). Resets Rust's SIGPIPE handler, as well as any signal mask that may have been set, before spawning a child. +* [MSVC: Implement runtime support for unwinding](https://github.com/rust-lang/rust/pull/26569). A key aspect is missing, however, which is that unwinding is still turned off by default for MSVC. +* [Suggest missing trait bounds when a method exists but the bounds aren't satisfied](https://github.com/rust-lang/rust/pull/26435). + +# Final Comment Period + +Every week the teams announce a 'final comment period' for RFCs which +are reaching a decision. Express your opinions now. [This week's][fcp] +RFCs entering FCP are: + +[fcp]: https://github.com/rust-lang/rfcs/pulls?q=is%3Aopen+is%3Apr+label%3Afinal-comment-period + +* [Add some of `[T]`’s methods to strings and vice versa](https://github.com/rust-lang/rfcs/pull/1152). +* [Implement `FromIterator` for the unit type](https://github.com/rust-lang/rfcs/pull/1130). +* [Rename `connect` to `join`](https://github.com/rust-lang/rfcs/pull/1102). +* [Add `read_into_buf` and `get_buf` to `BufRead`](https://github.com/rust-lang/rfcs/pull/1015). +* [read_all](https://github.com/rust-lang/rfcs/pull/980). +* [Allow macros in types](https://github.com/rust-lang/rfcs/pull/873). +* [Allow closure expressions to expand to a `&` or `&mut` temporary](https://github.com/rust-lang/rfcs/pull/756). + +# New RFCs + +* [Return `Result` from `main`](https://github.com/rust-lang/rfcs/issues/1176). + +# Upcoming Events + +* [7/7, San Diego Rust Meetup](http://www.meetup.com/San-Diego-Rust/events/223145739/) +* [7/8, Rust in Production - San Francisco](http://www.meetup.com/Rust-Bay-Area/events/222260315/) +* [7/13, Seattle Rust Meetup](https://www.eventbrite.com/e/mozilla-rust-seattle-meetup-tickets-12222326307?aff=erelexporg) +* [7/15, Rust Los Angeles Monthly Meetup](http://www.meetup.com/Rust-Los-Angeles/events/223341178) + +If you are running a Rust event please add it to the [calendar] to get +it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian +Anderson][brson] for access. + +[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com +[erickt]: mailto:erick.tryzelaar@gmail.com +[brson]: mailto:banderson@mozilla.com From 9e98e88143ace0755876ae82969b53c9cab0e003 Mon Sep 17 00:00:00 2001 From: Corey Richardson Date: Tue, 30 Jun 2015 00:07:42 -0400 Subject: [PATCH 25/80] 2015-06-29: Add new contributors --- content/2015-06-29-this-week-in-rust.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/content/2015-06-29-this-week-in-rust.md b/content/2015-06-29-this-week-in-rust.md index bc12094f..6076b9c9 100644 --- a/content/2015-06-29-this-week-in-rust.md +++ b/content/2015-06-29-this-week-in-rust.md @@ -62,6 +62,18 @@ Now you can follow breaking changes *[as they happen][BitRust2]*! * [MSVC: Implement runtime support for unwinding](https://github.com/rust-lang/rust/pull/26569). A key aspect is missing, however, which is that unwinding is still turned off by default for MSVC. * [Suggest missing trait bounds when a method exists but the bounds aren't satisfied](https://github.com/rust-lang/rust/pull/26435). +# New Contributors + +* Andy Grover +* Brody Holden +* Christian Persson +* Cruz Julian Bishop +* Dirkjan Ochtman +* Gulshan Singh +* Jake Hickey +* Makoto Kato +* Yongqian Li + # Final Comment Period Every week the teams announce a 'final comment period' for RFCs which From 31638600d28885853197a40c429c1861b45c2155 Mon Sep 17 00:00:00 2001 From: Corey Richardson Date: Tue, 30 Jun 2015 06:12:37 -0400 Subject: [PATCH 26/80] Remove breaking changes section from template (thanks @nnethercote!) --- drafts/YYYY-MM-DD-this-week-in-rust-template.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/drafts/YYYY-MM-DD-this-week-in-rust-template.md b/drafts/YYYY-MM-DD-this-week-in-rust-template.md index c3e293ef..bc7fec9e 100644 --- a/drafts/YYYY-MM-DD-this-week-in-rust-template.md +++ b/drafts/YYYY-MM-DD-this-week-in-rust-template.md @@ -29,14 +29,6 @@ XXX pull requests were [merged in the last week][merged]. [merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-05-18..2015-06-07 -Now you can follow breaking changes *[as they happen][BitRust2]*! - -[BitRust2]: http://killercup.github.io/bitrust/ - -# Breaking Changes - - - # Other Changes From e282a288acefa7d3aa195c268e260a90c4c7b3c1 Mon Sep 17 00:00:00 2001 From: Corey Richardson Date: Tue, 30 Jun 2015 06:19:07 -0400 Subject: [PATCH 27/80] Rebrand 'master' as 'nightly' --- drafts/YYYY-MM-DD-this-week-in-rust-template.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/drafts/YYYY-MM-DD-this-week-in-rust-template.md b/drafts/YYYY-MM-DD-this-week-in-rust-template.md index bc7fec9e..f6202bc8 100644 --- a/drafts/YYYY-MM-DD-this-week-in-rust-template.md +++ b/drafts/YYYY-MM-DD-this-week-in-rust-template.md @@ -23,16 +23,12 @@ This week's edition was edited by: WHO?? # New Releases & Project Updates -# What's cooking on master? +# What's cooking on nightly? XXX pull requests were [merged in the last week][merged]. [merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-05-18..2015-06-07 -# Other Changes - - - # New Contributors From 5cb336eabf0b83452382ea32724ab43087bec554 Mon Sep 17 00:00:00 2001 From: Vikrant Chaudhary Date: Mon, 6 Jul 2015 20:11:19 +0530 Subject: [PATCH 28/80] TWiR release 86, first draft. --- content/2015-07-06-this-week-in-rust.md | 97 +++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 content/2015-07-06-this-week-in-rust.md diff --git a/content/2015-07-06-this-week-in-rust.md b/content/2015-07-06-this-week-in-rust.md new file mode 100644 index 00000000..ac3fda22 --- /dev/null +++ b/content/2015-07-06-this-week-in-rust.md @@ -0,0 +1,97 @@ +Title: This Week in Rust 86 +Date: 2015-07-06 +Category: This Week in Rust + +Hello and welcome to another issue of *This Week in Rust*! +[Rust](http://rust-lang.org) is a systems language pursuing the trifecta: +safety, concurrency, and speed. This is a weekly summary of its progress and +community. Want something mentioned? Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) or [send us an +email](mailto:corey@octayn.net?subject=This%20Week%20in%20Rust%20Suggestion)! +Want to get involved? [We love +contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contributors). + +*This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). +If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). + +# From the Blogosphere + +* [Things rust shipped without](https://graydon2.dreamwidth.org/218040.html). Rust released 1.0 without these "features", and for good reasons. +* [Rust Never Sleeps: How Mozilla Could Become Cool Again](http://readwrite.com/2015/07/02/mozilla-rust-programming-language-potential). Mozilla has almost faded from memory, but Rust could make it hip again. +* [Why Go and Rust are not competitors](http://dave.cheney.net/2015/07/02/why-go-and-rust-are-not-competitors). +* [A Rusting Rubyist](https://medium.com/@mfpiccolo/a-rubyist-rusting-db6e7e9c8f36). Mike Piccolo documents his attempt to create a web scraping library in Rust that can be called from a Ruby module. +* [A Rusting Rubyist II](https://medium.com/@mfpiccolo/a-rubyist-rusting-ii-f72dd8b0ed97). +* [A Pythonist getting Rusty these days... (Part 1)](https://wafflespeanut.github.io/blog/2015/07/05/a-pythonist-getting-rusty-these-days-dot/). Rust from a Python developer's perspective. +* [A Simple Web App in Rust, Part 3 -- Integration](https://joelmccracken.github.io/entries/a-simple-web-app-in-rust-pt-3/). The third part in a series on writing a very simple web application in Rust. +* [Understanding Lifetime in Rust – Part I](https://mobiarch.wordpress.com/2015/06/29/understanding-lifetime-in-rust-part-i/). +* [[PDF] Parallelization in Rust with fork-join and friends](http://publications.lib.chalmers.se/records/fulltext/219016/219016.pdf). + +# New Releases & Project Updates + +* [capgun](https://github.com/softprops/capgun). A simple utility that watches files and fires a specified command when they do. +* [pirate](https://github.com/zcdziura/pirate). A command-line arrrrguments parser, written in Rust. +* [rust-worldgen](https://github.com/YeyaSwizaw/rust-worldgen). Noise and World Generation library for Rust. +* [plex](https://github.com/goffrie/plex). A parser and lexer generator as a Rust syntax extension. + +# What's cooking on nightly? + +107 pull requests were [merged in the last week][merged]. + +[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-06-29..2015-07-06 + +# New Contributors + + + +# Approved RFCs + +* [Add some of `[T]`’s methods to strings and vice versa](https://github.com/rust-lang/rfcs/pull/1152). + +# Final Comment Period + +Every week the teams announce a 'final comment period' for RFCs which +are reaching a decision. Express your opinions now. [This week's][fcp] +RFCs entering FCP are: + +[fcp]: https://github.com/rust-lang/rfcs/pulls?q=is%3Aopen+is%3Apr+label%3Afinal-comment-period + +* [Expand the std::net module](https://github.com/rust-lang/rfcs/pull/1158). Expand the surface area of std::net to bind more low-level interfaces and provide more advanced customization and configuration of sockets. +* [Rename `connect` to `join`](https://github.com/rust-lang/rfcs/pull/1102). +* [Replace `slice::tail()`/`init()` with new methods](https://github.com/rust-lang/rfcs/pull/1058). +* [Redirect `stdio` of child processes to open file handles](https://github.com/rust-lang/rfcs/pull/1055). +* [Allow macros in types](https://github.com/rust-lang/rfcs/pull/873). +* [Allow closure expressions to expand to a `&` or `&mut` temporary](https://github.com/rust-lang/rfcs/pull/756). Modify the `||` expression sugar so that it can expand to either `F`, `&F`, or `&mut F`, where `F` is a fresh struct type implementing one of the `Fn`/`FnMut`/`FnOnce` traits. + +# New RFCs + +* [Add a high-level intermediate representation (HIR) to the compiler.](https://github.com/rust-lang/rfcs/pull/1191). +* [Style: How should we format function declarations?](https://github.com/rust-lang/rfcs/pull/1190). +* [Stabilize the `#![no_std]` attribute](https://github.com/rust-lang/rfcs/pull/1184). +* [Anonymous/placeholder lifetime `'_`](https://github.com/rust-lang/rfcs/pull/1177). Allow using an undeclared '_ wherever an explicit lifetime can be used, but is optional, such as function argument/return types and any path inside a function. +* [Create `IntoRaw{Fd, Socket, Handle}` trait to complement `AsRaw*`](https://github.com/rust-lang/rfcs/pull/1174). +* [Allow changing the default allocator](https://github.com/rust-lang/rfcs/pull/1183). Add support to the compiler to override the default allocator, allowing a different allocator to be used by default in Rust programs. +* [Propose `Interior` data-type, to allow moves out of the dropped value during the drop hook](https://github.com/rust-lang/rfcs/pull/1180). + +# Upcoming Events + +* [7/7, San Diego Rust Meetup](http://www.meetup.com/San-Diego-Rust/events/223145739/) +* [7/8, Rust in Production - San Francisco](http://www.meetup.com/Rust-Bay-Area/events/222260315/) +* [7/13, Seattle Rust Meetup](https://www.eventbrite.com/e/mozilla-rust-seattle-meetup-tickets-12222326307?aff=erelexporg) +* [7/15, Rust Los Angeles Monthly Meetup](http://www.meetup.com/Rust-Los-Angeles/events/223341178) +* [7/20, Rust Paris](http://www.meetup.com/Rust-Paris). +* [7/22, Columbus Rust Society](http://www.meetup.com/columbus-rs/). + +If you are running a Rust event please add it to the [calendar] to get +it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian +Anderson][brson] for access. + +[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com +[erickt]: mailto:erick.tryzelaar@gmail.com +[brson]: mailto:banderson@mozilla.com + +# Quote of the Week + +*"Greek constitution to be rewritten in #rustlang to deal with their ownership and borrowing problem."* — [@bigthingist](https://twitter.com/bigthingist/status/616826349634908160) + +[Submit your quotes for next week!][submit]. + +[submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328 From cc98a6dfc66fe162fb6b8f1bfa40fb99721aa477 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 6 Jul 2015 11:35:12 -0700 Subject: [PATCH 29/80] Start draftfor 2015-07-06 --- drafts/2015-07-06-this-week-in-rust.md | 92 ++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 drafts/2015-07-06-this-week-in-rust.md diff --git a/drafts/2015-07-06-this-week-in-rust.md b/drafts/2015-07-06-this-week-in-rust.md new file mode 100644 index 00000000..86a36a1f --- /dev/null +++ b/drafts/2015-07-06-this-week-in-rust.md @@ -0,0 +1,92 @@ +Title: This Week in Rust 86 +Date: 2015-07-06 +Category: This Week in Rust + +Hello and welcome to another issue of *This Week in Rust*! +[Rust](http://rust-lang.org) is a systems language pursuing the trifecta: +safety, concurrency, and speed. This is a weekly summary of its progress and +community. Want something mentioned? Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) or [send us an +email](mailto:corey@octayn.net?subject=This%20Week%20in%20Rust%20Suggestion)! +Want to get involved? [We love +contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contributors). + +*This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). +If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). + +This week's edition was edited by: WHO?? + +# From the Blogosphere + +# Tips & Tricks + +# In the News + +# New Releases & Project Updates + +# What's cooking on nightly? + +XXX pull requests were [merged in the last week][merged]. + +[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-05-18..2015-06-07 + +# New Contributors + + + +# Approved RFCs + + + +# Final Comment Period + +Every week the teams announce a 'final comment period' for RFCs which +are reaching a decision. Express your opinions now. [This week's][fcp] +RFCs entering FCP are: + +[fcp]: https://github.com/rust-lang/rfcs/pulls?q=is%3Aopen+is%3Apr+label%3Afinal-comment-period + +* TODO + +# New RFCs + + +# Internals discussions + +# Friend of the Tree + +The Rust Team likes to occassionally recognize people who have made +outstanding contributions to The Rust Project, its ecosystem, and its +community. These people are 'friends of the tree'. + +This week's friend of the tree was ... + + +# Crate of the Week + +There are so many crates! It's easy to lose track of the good ones, +like [THING]. + +THING is a ... + + +# Upcoming Events + +* [What?] + +If you are running a Rust event please add it to the [calendar] to get +it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian +Anderson][brson] for access. + +[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com +[erickt]: mailto:erick.tryzelaar@gmail.com +[brson]: mailto:banderson@mozilla.com + +# Quote of the Week + +*"Quote"* + +Explanation and link. + +Thanks to XXX for the tip. [Submit your quotes for next week!][submit]. + +[submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328 From 38be4bcad497c1079d91282129c757cd15249046 Mon Sep 17 00:00:00 2001 From: Corey Richardson Date: Sun, 5 Jul 2015 14:58:49 -0400 Subject: [PATCH 30/80] Add new contributors --- content/2015-07-06-this-week-in-rust.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/content/2015-07-06-this-week-in-rust.md b/content/2015-07-06-this-week-in-rust.md index ac3fda22..383a9eff 100644 --- a/content/2015-07-06-this-week-in-rust.md +++ b/content/2015-07-06-this-week-in-rust.md @@ -40,7 +40,11 @@ If you find any errors in this week's issue, [please submit a PR](https://github # New Contributors - +* Adam Heins +* Alex Newman +* Christian Persson +* Eljay +* Kagami Sascha Rosylight # Approved RFCs From 0d4a40d5f84e34bc4a8d828b266f1840f79af2d8 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 6 Jul 2015 14:31:49 -0700 Subject: [PATCH 31/80] Remove bogus draft --- drafts/2015-07-06-this-week-in-rust.md | 92 -------------------------- 1 file changed, 92 deletions(-) delete mode 100644 drafts/2015-07-06-this-week-in-rust.md diff --git a/drafts/2015-07-06-this-week-in-rust.md b/drafts/2015-07-06-this-week-in-rust.md deleted file mode 100644 index 86a36a1f..00000000 --- a/drafts/2015-07-06-this-week-in-rust.md +++ /dev/null @@ -1,92 +0,0 @@ -Title: This Week in Rust 86 -Date: 2015-07-06 -Category: This Week in Rust - -Hello and welcome to another issue of *This Week in Rust*! -[Rust](http://rust-lang.org) is a systems language pursuing the trifecta: -safety, concurrency, and speed. This is a weekly summary of its progress and -community. Want something mentioned? Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) or [send us an -email](mailto:corey@octayn.net?subject=This%20Week%20in%20Rust%20Suggestion)! -Want to get involved? [We love -contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contributors). - -*This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). -If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). - -This week's edition was edited by: WHO?? - -# From the Blogosphere - -# Tips & Tricks - -# In the News - -# New Releases & Project Updates - -# What's cooking on nightly? - -XXX pull requests were [merged in the last week][merged]. - -[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-05-18..2015-06-07 - -# New Contributors - - - -# Approved RFCs - - - -# Final Comment Period - -Every week the teams announce a 'final comment period' for RFCs which -are reaching a decision. Express your opinions now. [This week's][fcp] -RFCs entering FCP are: - -[fcp]: https://github.com/rust-lang/rfcs/pulls?q=is%3Aopen+is%3Apr+label%3Afinal-comment-period - -* TODO - -# New RFCs - - -# Internals discussions - -# Friend of the Tree - -The Rust Team likes to occassionally recognize people who have made -outstanding contributions to The Rust Project, its ecosystem, and its -community. These people are 'friends of the tree'. - -This week's friend of the tree was ... - - -# Crate of the Week - -There are so many crates! It's easy to lose track of the good ones, -like [THING]. - -THING is a ... - - -# Upcoming Events - -* [What?] - -If you are running a Rust event please add it to the [calendar] to get -it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian -Anderson][brson] for access. - -[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com -[erickt]: mailto:erick.tryzelaar@gmail.com -[brson]: mailto:banderson@mozilla.com - -# Quote of the Week - -*"Quote"* - -Explanation and link. - -Thanks to XXX for the tip. [Submit your quotes for next week!][submit]. - -[submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328 From 2e03b7a024b7546db905f62e3a591d9cde34cb9f Mon Sep 17 00:00:00 2001 From: Utkarsh Sinha Date: Tue, 7 Jul 2015 22:30:26 +0530 Subject: [PATCH 32/80] Responsive "allposts" button on the front page. --- .../pelican-elegant-1.3/static/css/style.css | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/themes/pelican-elegant-1.3/static/css/style.css b/themes/pelican-elegant-1.3/static/css/style.css index 8b7492cc..bb6efd8b 100644 --- a/themes/pelican-elegant-1.3/static/css/style.css +++ b/themes/pelican-elegant-1.3/static/css/style.css @@ -395,3 +395,24 @@ dt:hover > a.headerlink { visibility: visible; text-decoration:none; } + +h1#recent-posts { + font-size: 30px; +} + +a#allposts { + width: 100%; +} + +@media screen and (min-width: 480px) { + h1#recent-posts { + font-size: 38.5px; + } + +} + +@media screen and (min-width: 360px) { + a#allposts { + width: inherit; + } +} From 7fd883bee6e30a939f8dc05310b6340758c3b90f Mon Sep 17 00:00:00 2001 From: Utkarsh Sinha Date: Tue, 7 Jul 2015 22:31:10 +0530 Subject: [PATCH 33/80] Responsive "allposts" button on the front page. Fixes #77 --- .../pelican-elegant-1.3/static/css/style.css | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/themes/pelican-elegant-1.3/static/css/style.css b/themes/pelican-elegant-1.3/static/css/style.css index 8b7492cc..bb6efd8b 100644 --- a/themes/pelican-elegant-1.3/static/css/style.css +++ b/themes/pelican-elegant-1.3/static/css/style.css @@ -395,3 +395,24 @@ dt:hover > a.headerlink { visibility: visible; text-decoration:none; } + +h1#recent-posts { + font-size: 30px; +} + +a#allposts { + width: 100%; +} + +@media screen and (min-width: 480px) { + h1#recent-posts { + font-size: 38.5px; + } + +} + +@media screen and (min-width: 360px) { + a#allposts { + width: inherit; + } +} From d20956efdd74c926ea1a7fc996a4247164fb4816 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 10 Jul 2015 12:16:27 -0700 Subject: [PATCH 34/80] Start 2015-07-13 --- drafts/2015-07-13-this-week-in-rust.md | 92 ++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 drafts/2015-07-13-this-week-in-rust.md diff --git a/drafts/2015-07-13-this-week-in-rust.md b/drafts/2015-07-13-this-week-in-rust.md new file mode 100644 index 00000000..f6af6229 --- /dev/null +++ b/drafts/2015-07-13-this-week-in-rust.md @@ -0,0 +1,92 @@ +Title: This Week in Rust 87 +Date: 2015-07-13 +Category: This Week in Rust + +Hello and welcome to another issue of *This Week in Rust*! +[Rust](http://rust-lang.org) is a systems language pursuing the trifecta: +safety, concurrency, and speed. This is a weekly summary of its progress and +community. Want something mentioned? Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) or [send us an +email](mailto:corey@octayn.net?subject=This%20Week%20in%20Rust%20Suggestion)! +Want to get involved? [We love +contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contributors). + +*This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). +If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). + +This week's edition was edited by: Brian Anderson + +# From the Blogosphere + +# Tips & Tricks + +# In the News + +# New Releases & Project Updates + +# What's cooking on nightly? + +XXX pull requests were [merged in the last week][merged]. + +[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-07-06..2015-07-13 + +# New Contributors + + + +# Approved RFCs + + + +# Final Comment Period + +Every week the teams announce a 'final comment period' for RFCs which +are reaching a decision. Express your opinions now. [This week's][fcp] +RFCs entering FCP are: + +[fcp]: https://github.com/rust-lang/rfcs/pulls?q=is%3Aopen+is%3Apr+label%3Afinal-comment-period + +* TODO + +# New RFCs + + +# Internals discussions + +# Friend of the Tree + +The Rust Team likes to occassionally recognize people who have made +outstanding contributions to The Rust Project, its ecosystem, and its +community. These people are 'friends of the tree'. + +This week's friend of the tree was ... + + +# Crate of the Week + +There are so many crates! It's easy to lose track of the good ones, +like [THING]. + +THING is a ... + + +# Upcoming Events + +* [What?] + +If you are running a Rust event please add it to the [calendar] to get +it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian +Anderson][brson] for access. + +[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com +[erickt]: mailto:erick.tryzelaar@gmail.com +[brson]: mailto:banderson@mozilla.com + +# Quote of the Week + +*"Quote"* + +Explanation and link. + +Thanks to XXX for the tip. [Submit your quotes for next week!][submit]. + +[submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328 From 7b76a3e2da7f4368a051351c827073d8f70831ff Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 10 Jul 2015 12:35:49 -0700 Subject: [PATCH 35/80] Adding links to 2015-07-13 --- drafts/2015-07-13-this-week-in-rust.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drafts/2015-07-13-this-week-in-rust.md b/drafts/2015-07-13-this-week-in-rust.md index f6af6229..b88c2274 100644 --- a/drafts/2015-07-13-this-week-in-rust.md +++ b/drafts/2015-07-13-this-week-in-rust.md @@ -29,13 +29,18 @@ XXX pull requests were [merged in the last week][merged]. [merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-07-06..2015-07-13 +* [Linux installation will try harder to set up the dynamic linker](https://github.com/rust-lang/rust-installer/pull/41), fixing a bad first-run issue where Fedora systems can't run rustc out of the box. +* The `#[prelude_import]` attribute, which is employed by rustc to perform [dark](https://github.com/rust-lang/rust/blob/6a3b385cbd6b9044b4447da96aad066e8b257ddf/src/libsyntax/std_inject.rs#L164) and [mysterious](https://github.com/rust-lang/rust/blob/6a3b385cbd6b9044b4447da96aad066e8b257ddf/src/librustc_resolve/build_reduced_graph.rs#L292-L294) acts, but is not supposed to be stable. This is not known to break real code. +* `rustc` on Windows now [looks in the registry](https://github.com/rust-lang/rust/pull/26741) to find the location of the MSVC linker. + # New Contributors # Approved RFCs - +* [RFC 1058: Replace `slice.tail()`, `slice.init()` with new methods `slice.split_first()`, `slice.split_last()`](https://github.com/rust-lang/rfcs/blob/master/text/1058-slice-tail-redesign.md). +* [RFC 1102: Rename `connect` to `join`](https://github.com/rust-lang/rfcs/blob/master/text/1102-rename-connect-to-join.md). # Final Comment Period From 4e0bd509cce13dec980551fa4aef234b57ddd0cc Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sun, 12 Jul 2015 14:56:23 -0700 Subject: [PATCH 36/80] More 2015-07-13 --- drafts/2015-07-13-this-week-in-rust.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/drafts/2015-07-13-this-week-in-rust.md b/drafts/2015-07-13-this-week-in-rust.md index b88c2274..d78885a4 100644 --- a/drafts/2015-07-13-this-week-in-rust.md +++ b/drafts/2015-07-13-this-week-in-rust.md @@ -25,17 +25,30 @@ This week's edition was edited by: Brian Anderson # What's cooking on nightly? -XXX pull requests were [merged in the last week][merged]. +122 pull requests were [merged in the last week][merged]. [merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-07-06..2015-07-13 +* [1.2 beta will issue warnings about code that will break](https://github.com/rust-lang/rust/pull/26829) when [RFC 1156](https://github.com/rust-lang/rfcs/blob/master/text/1156-adjust-default-object-bounds.md) is implemented. This approved breaking change will fix a major wart and is thought to break no real code. * [Linux installation will try harder to set up the dynamic linker](https://github.com/rust-lang/rust-installer/pull/41), fixing a bad first-run issue where Fedora systems can't run rustc out of the box. * The `#[prelude_import]` attribute, which is employed by rustc to perform [dark](https://github.com/rust-lang/rust/blob/6a3b385cbd6b9044b4447da96aad066e8b257ddf/src/libsyntax/std_inject.rs#L164) and [mysterious](https://github.com/rust-lang/rust/blob/6a3b385cbd6b9044b4447da96aad066e8b257ddf/src/librustc_resolve/build_reduced_graph.rs#L292-L294) acts, but is not supposed to be stable. This is not known to break real code. * `rustc` on Windows now [looks in the registry](https://github.com/rust-lang/rust/pull/26741) to find the location of the MSVC linker. +* Inspired by some [poor I/O performance on the forums](https://users.rust-lang.org/t/reading-from-stdin-performance/2025), bluss dug into the problem [and pulled out some big improvements in zero-filling](https://github.com/rust-lang/rust/pull/26849) that greatly improve the performance of `Vec::resize` and `Read::read_to_end`. +* GuillaumeGomez [added a host](https://github.com/rust-lang/rust/pull/26742) of [new error explanations](https://github.com/rust-lang/rust/pull/26879). +* dotdash got some [huge improvements in the performance of `PartialEq` for slices](https://github.com/rust-lang/rust/pull/26884). +* `rustc` now uses [LLVM to write archive files where possible](https://github.com/rust-lang/rust/pull/26926). Eventually this will eliminate the compiler's dependency on the `ar` utility. +* [Add `String::into_boxed_slice` and `Box::into_string`](https://github.com/rust-lang/rust/pull/26931). +* Dave Huseby added [initial support for FreeBSD on i686](https://github.com/rust-lang/rust/pull/26959). Rust has long worked on 64-bit FreeBSD. +* Simon [updated the gedit syntax highlighter](https://github.com/rust-lang/gedit-config/pull/8). # New Contributors - +* Alex HotShot Newman +* Christian Weinz +* Esption +* Georg Brandl +* Jesús Espino +* jethrogb # Approved RFCs From acfa34000164a2afc5bd488f77b0b532d12e476c Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sun, 12 Jul 2015 15:06:04 -0700 Subject: [PATCH 37/80] More 2015-07-13 --- drafts/2015-07-13-this-week-in-rust.md | 14 +++++++++----- drafts/YYYY-MM-DD-this-week-in-rust-template.md | 8 ++++---- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/drafts/2015-07-13-this-week-in-rust.md b/drafts/2015-07-13-this-week-in-rust.md index d78885a4..88543f7d 100644 --- a/drafts/2015-07-13-this-week-in-rust.md +++ b/drafts/2015-07-13-this-week-in-rust.md @@ -57,13 +57,17 @@ This week's edition was edited by: Brian Anderson # Final Comment Period -Every week the teams announce a 'final comment period' for RFCs which -are reaching a decision. Express your opinions now. [This week's][fcp] -RFCs entering FCP are: +Every week the teams announce a 'final comment period' for RFCs and +key PRs which are reaching a decision. Express your opinions +now. [This week's FCPs][fcp] are: -[fcp]: https://github.com/rust-lang/rfcs/pulls?q=is%3Aopen+is%3Apr+label%3Afinal-comment-period +[fcp]: https://github.com/issues?utf8=%E2%9C%93&q=is%3Apr+org%3Arust-lang+label%3Afinal-comment-period+is%3Aopen+updated%3A2015-07-06..2015-07-13 -* TODO +* [Add a method `lines_any` to `BufRead`](https://github.com/rust-lang/rust/pull/26743) +* [RFC for creation of `IntoRaw{Fd, Socket, Handle}` trait to complement `AsRaw*`](https://github.com/rust-lang/rfcs/pull/1174) +* [RFC: Expand the std::net module](https://github.com/rust-lang/rfcs/pull/1158) +* [RFC: Allow re-exporting associated items with `use`](https://github.com/rust-lang/rfcs/pull/1150) +* [Allow macros in types](https://github.com/rust-lang/rfcs/pull/873) # New RFCs diff --git a/drafts/YYYY-MM-DD-this-week-in-rust-template.md b/drafts/YYYY-MM-DD-this-week-in-rust-template.md index f6202bc8..870590bc 100644 --- a/drafts/YYYY-MM-DD-this-week-in-rust-template.md +++ b/drafts/YYYY-MM-DD-this-week-in-rust-template.md @@ -39,11 +39,11 @@ XXX pull requests were [merged in the last week][merged]. # Final Comment Period -Every week the teams announce a 'final comment period' for RFCs which -are reaching a decision. Express your opinions now. [This week's][fcp] -RFCs entering FCP are: +Every week the teams announce a 'final comment period' for RFCs and +key PRs which are reaching a decision. Express your opinions +now. [This week's FCPs][fcp] are: -[fcp]: https://github.com/rust-lang/rfcs/pulls?q=is%3Aopen+is%3Apr+label%3Afinal-comment-period +[fcp]: https://github.com/issues?utf8=%E2%9C%93&q=is%3Apr+org%3Arust-lang+label%3Afinal-comment-period+is%3Aopen+updated%3A2015-07-06..2015-07-13 * TODO From eb0e18a910df8b1a994fbfa2dc6953168b91bd53 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sun, 12 Jul 2015 15:10:33 -0700 Subject: [PATCH 38/80] More 2015-07-13 --- drafts/2015-07-13-this-week-in-rust.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drafts/2015-07-13-this-week-in-rust.md b/drafts/2015-07-13-this-week-in-rust.md index 88543f7d..4d9affc9 100644 --- a/drafts/2015-07-13-this-week-in-rust.md +++ b/drafts/2015-07-13-this-week-in-rust.md @@ -71,6 +71,16 @@ now. [This week's FCPs][fcp] are: # New RFCs +* [RFC for inclusive ranges with ...](https://github.com/rust-lang/rfcs/pull/1192) +* [RFC: Prevent lint changes being a breaking change](https://github.com/rust-lang/rfcs/pull/1193) +* [RFC: Add item recovery collection APIs](https://github.com/rust-lang/rfcs/pull/1194) +* [ordered query API](https://github.com/rust-lang/rfcs/pull/1195) +* [RFC for allowing eliding more type parameters](https://github.com/rust-lang/rfcs/pull/1196) +* [pretty print `Debug` of tuples, tuple structs and enum variants in a single line](https://github.com/rust-lang/rfcs/pull/1198) +* [SIMD groundwork](https://github.com/rust-lang/rfcs/pull/1199) +* [RFC: Add `cargo install`](https://github.com/rust-lang/rfcs/pull/1200) +* [Add support for naked functions](https://github.com/rust-lang/rfcs/pull/1201) + # Internals discussions From 66942a1b9ac01de2f279d0851a053b4bfc10369e Mon Sep 17 00:00:00 2001 From: Vikrant Chaudhary Date: Mon, 13 Jul 2015 18:31:26 +0530 Subject: [PATCH 39/80] TWiR release 87 (13 July 2015) --- drafts/2015-07-13-this-week-in-rust.md | 51 ++++++++++++-------------- 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/drafts/2015-07-13-this-week-in-rust.md b/drafts/2015-07-13-this-week-in-rust.md index 4d9affc9..7b50d28d 100644 --- a/drafts/2015-07-13-this-week-in-rust.md +++ b/drafts/2015-07-13-this-week-in-rust.md @@ -17,18 +17,32 @@ This week's edition was edited by: Brian Anderson # From the Blogosphere -# Tips & Tricks - -# In the News +* [Rust in Detail: Writing Scalable Chat Service from Scratch](https://nbaksalyar.github.io/2015/07/10/writing-chat-in-rust.html). +* [Reading Rust Function Signatures](http://hoverbear.org/2015/07/10/reading-rust-function-signatures/). How to read function signatures and extract information from them. +* [Collecting Results from Collections](http://hoverbear.org/2015/07/08/a-useful-error-pattern/). Use `.collect()` to transform `Vec>` into `Result>`. +* [Easier libc in Rust](https://mobiarch.wordpress.com/2015/07/03/easy-libc-in-rust/). An index of some of the most commonly used libc calls and their higher level wrappers. +* [Importing C constants: Proof of Concept](http://vojtech.kral.hk/en/rust-importing-c-constants-proof-of-concept/). A proof-of-concept rustc plugin that imports C macro constants from C include files at compile time. +* [A Pythonist getting Rusty these days... (Part 2)](https://wafflespeanut.github.io/blog/2015/07/08/a-pythonist-getting-rusty-these-days-dot-dot-dot-part-2/). Rust from a Python developer's perspective (part 2). +* [Converting longitude and latitude coordinates into BNG coordinates](http://sensitivecities.com/rust-python-ffi-bng-EN.html). +* [ArcadeRS - making a simple game in Rust](https://jadpole.github.io/2015/185/arcaders-1-0/). +* [opinion] [Why Go and Rust are Competitors](http://www.doxsey.net/blog/why-go-and-rust-are-competitors/). # New Releases & Project Updates +* [stdx](https://github.com/brson/stdx). Curated collection of well-regarded Rust crates. +* [ipc-channel](https://github.com/pcwalton/ipc-channel). A multiprocess drop-in replacement for Rust channels. +* [rocket](https://github.com/aochagavia/rocket). A toy game in Rust, using Piston. +* [forkjoin](https://github.com/faern/forkjoin). A work stealing fork-join parallelism library for Rust. +* [capsize](https://github.com/softprops/capsize). Conversions between units of capacity. +* [porthole](https://github.com/softprops/porthole). A tiny rust crate for resolving the next available network port. + # What's cooking on nightly? 122 pull requests were [merged in the last week][merged]. [merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-07-06..2015-07-13 +* [bluss](https://github.com/bluss) updated [substring search to use the Two Way algorithm](https://github.com/rust-lang/rust/pull/26327). * [1.2 beta will issue warnings about code that will break](https://github.com/rust-lang/rust/pull/26829) when [RFC 1156](https://github.com/rust-lang/rfcs/blob/master/text/1156-adjust-default-object-bounds.md) is implemented. This approved breaking change will fix a major wart and is thought to break no real code. * [Linux installation will try harder to set up the dynamic linker](https://github.com/rust-lang/rust-installer/pull/41), fixing a bad first-run issue where Fedora systems can't run rustc out of the box. * The `#[prelude_import]` attribute, which is employed by rustc to perform [dark](https://github.com/rust-lang/rust/blob/6a3b385cbd6b9044b4447da96aad066e8b257ddf/src/libsyntax/std_inject.rs#L164) and [mysterious](https://github.com/rust-lang/rust/blob/6a3b385cbd6b9044b4447da96aad066e8b257ddf/src/librustc_resolve/build_reduced_graph.rs#L292-L294) acts, but is not supposed to be stable. This is not known to break real code. @@ -81,29 +95,12 @@ now. [This week's FCPs][fcp] are: * [RFC: Add `cargo install`](https://github.com/rust-lang/rfcs/pull/1200) * [Add support for naked functions](https://github.com/rust-lang/rfcs/pull/1201) - -# Internals discussions - -# Friend of the Tree - -The Rust Team likes to occassionally recognize people who have made -outstanding contributions to The Rust Project, its ecosystem, and its -community. These people are 'friends of the tree'. - -This week's friend of the tree was ... - - -# Crate of the Week - -There are so many crates! It's easy to lose track of the good ones, -like [THING]. - -THING is a ... - - # Upcoming Events -* [What?] +* [7/15. Tokyo Rust Monthly Meetup](https://rust.doorkeeper.jp/events/27068). +* [7/15. Rust Los Angeles Monthly Meetup](http://www.meetup.com/Rust-Los-Angeles/events/223341178). +* [7/20. Rust Paris](http://www.meetup.com/Rust-Paris). +* [7/22. Columbus Rust Society](http://www.meetup.com/columbus-rs/). If you are running a Rust event please add it to the [calendar] to get it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian @@ -115,10 +112,8 @@ Anderson][brson] for access. # Quote of the Week -*"Quote"* +*I think if someone placed the Rust and Go community in a room and asked them to fight, we'd probably just all order pizza and geek out over languages.* — [Manish Goregaokar](https://www.reddit.com/r/rust/comments/3cj69b/why_go_and_rust_are_competitors/csw5t5v) -Explanation and link. - -Thanks to XXX for the tip. [Submit your quotes for next week!][submit]. +Thanks to [msiemens](https://users.rust-lang.org/users/msiemens) for the tip. [Submit your quotes for next week!][submit]. [submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328 From cf348e4d0adee9fa45950510260389ea92f9d4dc Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 13 Jul 2015 12:00:02 -0700 Subject: [PATCH 40/80] Credit Vikrant --- drafts/2015-07-13-this-week-in-rust.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drafts/2015-07-13-this-week-in-rust.md b/drafts/2015-07-13-this-week-in-rust.md index 7b50d28d..a1bd62ca 100644 --- a/drafts/2015-07-13-this-week-in-rust.md +++ b/drafts/2015-07-13-this-week-in-rust.md @@ -13,7 +13,7 @@ contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contrib *This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). -This week's edition was edited by: Brian Anderson +This week's edition was edited by: Brian Anderson, Vikrant Chaudhary # From the Blogosphere From 1e6090c83192334ba95a7e5d1b469cb1ee421b79 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 13 Jul 2015 12:51:32 -0700 Subject: [PATCH 41/80] Move 2015-07-13 to content --- {drafts => content}/2015-07-13-this-week-in-rust.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {drafts => content}/2015-07-13-this-week-in-rust.md (100%) diff --git a/drafts/2015-07-13-this-week-in-rust.md b/content/2015-07-13-this-week-in-rust.md similarity index 100% rename from drafts/2015-07-13-this-week-in-rust.md rename to content/2015-07-13-this-week-in-rust.md From 783bf4b6226a899facf0c9392883ec4ae1aad287 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Thu, 16 Jul 2015 17:48:50 -0700 Subject: [PATCH 42/80] Start 2015-07-20 --- drafts/2015-07-20-this-week-in-rust.md | 92 ++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 drafts/2015-07-20-this-week-in-rust.md diff --git a/drafts/2015-07-20-this-week-in-rust.md b/drafts/2015-07-20-this-week-in-rust.md new file mode 100644 index 00000000..245963ec --- /dev/null +++ b/drafts/2015-07-20-this-week-in-rust.md @@ -0,0 +1,92 @@ +Title: This Week in Rust 88 +Date: 2015-07-20 +Category: This Week in Rust + +Hello and welcome to another issue of *This Week in Rust*! +[Rust](http://rust-lang.org) is a systems language pursuing the trifecta: +safety, concurrency, and speed. This is a weekly summary of its progress and +community. Want something mentioned? Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) or [send us an +email](mailto:corey@octayn.net?subject=This%20Week%20in%20Rust%20Suggestion)! +Want to get involved? [We love +contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contributors). + +*This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). +If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). + +This week's edition was edited by: WHO?? + +# From the Blogosphere + +# Tips & Tricks + +# In the News + +# New Releases & Project Updates + +# What's cooking on nightly? + +XXX pull requests were [merged in the last week][merged]. + +[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-05-18..2015-06-07 + +# New Contributors + + + +# Approved RFCs + + + +# Final Comment Period + +Every week the teams announce a 'final comment period' for RFCs and +key PRs which are reaching a decision. Express your opinions +now. [This week's FCPs][fcp] are: + +[fcp]: https://github.com/issues?utf8=%E2%9C%93&q=is%3Apr+org%3Arust-lang+label%3Afinal-comment-period+is%3Aopen+updated%3A2015-07-06..2015-07-13 + +* TODO + +# New RFCs + + +# Internals discussions + +# Friend of the Tree + +The Rust Team likes to occassionally recognize people who have made +outstanding contributions to The Rust Project, its ecosystem, and its +community. These people are 'friends of the tree'. + +This week's friend of the tree was ... + + +# Crate of the Week + +There are so many crates! It's easy to lose track of the good ones, +like [THING]. + +THING is a ... + + +# Upcoming Events + +* [What?] + +If you are running a Rust event please add it to the [calendar] to get +it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian +Anderson][brson] for access. + +[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com +[erickt]: mailto:erick.tryzelaar@gmail.com +[brson]: mailto:banderson@mozilla.com + +# Quote of the Week + +*"Quote"* + +Explanation and link. + +Thanks to XXX for the tip. [Submit your quotes for next week!][submit]. + +[submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328 From 740431f0984e75d6e248af352856c68bfb443702 Mon Sep 17 00:00:00 2001 From: Vikrant Chaudhary Date: Mon, 20 Jul 2015 21:00:40 +0530 Subject: [PATCH 43/80] TWiR release 88 (20 July 2015). --- drafts/2015-07-20-this-week-in-rust.md | 33 ++++++++++++++++++-------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/drafts/2015-07-20-this-week-in-rust.md b/drafts/2015-07-20-this-week-in-rust.md index 245963ec..3c5cd7ed 100644 --- a/drafts/2015-07-20-this-week-in-rust.md +++ b/drafts/2015-07-20-this-week-in-rust.md @@ -13,16 +13,31 @@ contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contrib *This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). -This week's edition was edited by: WHO?? - # From the Blogosphere -# Tips & Tricks - -# In the News +* [Two reasons the Rust language will succeed](http://www.infoworld.com/article/2947214/open-source-tools/two-reasons-the-rust-language-will-succeed.html). _As good as the Rust project may be, its community is even better_. +* [Holy std::borrow::Cow](https://llogiq.github.io/2015/07/09/cow.html), also [Redux](https://llogiq.github.io/2015/07/09/cow.html): Llogiq investigates Cow usage and implementation. +* [`ijson` in Rust](http://softwaremaniacs.org/blog/category/ijson-in-rust/en/). A series of posts on implementing a streaming JSON parser. +* [A Rusting Rubyist III](https://medium.com/@mfpiccolo/a-rusting-rubyist-iii-5db9915e3269). Rust HTTP Requests in a Ruby Module. +* [Profiling Rust applications on Linux](https://llogiq.github.io/2015/07/15/profiling.html). +* [Understanding Lifetime in Rust – Part II](https://mobiarch.wordpress.com/2015/07/08/understanding-lifetime-in-rust-part-ii-3/). +* [Traits as Higher-order Functions](http://sproul.io/blog/posts/traits-as-hof-in-rust.html). +* [Understanding `mio` and Asynchronous IO](http://hermanradtke.com/2015/07/12/my-basic-understanding-of-mio-and-async-io.html). +* [Building a Random Friend Dialer Part 1: Getting Started with Rust and Iron](https://www.twilio.com/blog/2015/07/building-a-random-friend-dialer-part-1-getting-started-with-rust-and-iron.html). +* [Parsing ISO8601 dates using nom](https://fnordig.de/2015/07/16/omnomnom-parsing-iso8601-dates-using-nom/). +* [podcast] [Rusty radio - episode 2](http://rustyrad.io/podcast/2/). Featuring Alex Newman, Ben Striegel, Carl Lerche of [tilde.io](http://tilde.io), and Jonathan Reem of [terminal.com](http://terminal.com). +* [video] [Rust: A type system you didn't know you wanted](https://www.youtube.com/watch?v=Q7lQCgnNWU0). # New Releases & Project Updates +* [chan](https://github.com/BurntSushi/chan). Multi-producer, multi-consumer concurrent channel for Rust. +* [cargo-check](https://github.com/rsolomo/cargo-check). Wrapper around `cargo rustc -- -Zno-trans`. +* [Raft: New Crates!](http://hoverbear.org/2015/07/16/raft-new-crates/). Two new crates `wrapped_enum` (use multiple `try!()` with different errors) and `scoped_log` (log log context to logs) from Raft developers. +* [rust-memalloc](https://github.com/reem/rust-memalloc). Raw allocation APIs in stable rust. +* [newtype_macros](https://github.com/arienmalec/newtype_macros). Tuple structs with a single member, intended to be used for wrapping types to create new semantics for an underlying type. +* [capnp-ffi](https://github.com/waynenilsen/capnp-ffi). Use Cap'n Proto as a better method of FFI communication. +* [rust-farmhash](https://github.com/seiflotfy/rust-farmhash). Port of Google's Farmhash version 1.1 to pure Rust. + # What's cooking on nightly? XXX pull requests were [merged in the last week][merged]. @@ -71,7 +86,7 @@ THING is a ... # Upcoming Events -* [What?] +* [7/22. Columbus Rust Society](http://www.meetup.com/columbus-rs/). If you are running a Rust event please add it to the [calendar] to get it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian @@ -83,10 +98,8 @@ Anderson][brson] for access. # Quote of the Week -*"Quote"* +*Rust is very much about only paying for what you need, and often you don't need much, but when you do need something, Rust is more than ready to rummage in your wallet for loose change.* — [Manish Goregaokar](https://www.reddit.com/r/rust/comments/3cj69b/why_go_and_rust_are_competitors/csw5t5v) -Explanation and link. - -Thanks to XXX for the tip. [Submit your quotes for next week!][submit]. +Thanks to [llogiq](https://users.rust-lang.org/users/llogiq) for the tip. [Submit your quotes for next week!][submit]. [submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328 From 2b018e44b45d4c60ff2ac5998d85e0f6dd6b3e1a Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 17 Jul 2015 13:40:32 -0700 Subject: [PATCH 44/80] 2015-07-20 --- drafts/2015-07-20-this-week-in-rust.md | 47 +++++++++++++++++-- ...ate.md => YYYY-MM-DD-this-week-in-rust.md} | 17 +++++-- 2 files changed, 56 insertions(+), 8 deletions(-) rename drafts/{YYYY-MM-DD-this-week-in-rust-template.md => YYYY-MM-DD-this-week-in-rust.md} (79%) diff --git a/drafts/2015-07-20-this-week-in-rust.md b/drafts/2015-07-20-this-week-in-rust.md index 3c5cd7ed..2ca5681f 100644 --- a/drafts/2015-07-20-this-week-in-rust.md +++ b/drafts/2015-07-20-this-week-in-rust.md @@ -13,6 +13,8 @@ contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contrib *This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). +This week's edition was edited by: Brian Anderson + # From the Blogosphere * [Two reasons the Rust language will succeed](http://www.infoworld.com/article/2947214/open-source-tools/two-reasons-the-rust-language-will-succeed.html). _As good as the Rust project may be, its community is even better_. @@ -40,9 +42,29 @@ If you find any errors in this week's issue, [please submit a PR](https://github # What's cooking on nightly? +[bors](https://github.com/bors) underwent a [sudden unscheduled +uprade](https://internals.rust-lang.org/t/buildbot-is-down-for-a-bit/2365/4) +this week, incurring unusual ammounts of downtime. Thankfully, [Manish +crafted an epic rollup](https://github.com/rust-lang/rust/pull/27066) +to make up some of the slack. + XXX pull requests were [merged in the last week][merged]. -[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-05-18..2015-06-07 +[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-07-13..2015-07-20 + +* [Implement `DerefMut` for + `String`](https://github.com/rust-lang/rust/pull/26241) +* [Add specializations of read_to_end for Stdin and File using + uninitialised buffers](https://github.com/rust-lang/rust/pull/26950) +* [Allow semi tokens after macro + ty/path](https://github.com/rust-lang/rust/pull/27000). See [the + test + case](https://github.com/alexcrichton/rust/blob/af556238ebe72d58adbcf339bd2fa0aef4e3caf9/src/test/run-pass/semi-after-macro-ty.rs) + for an example of what this means. +* [LLVM was updated to + 3.7](https://github.com/rust-lang/rust/pull/27076). Includes + improved 32-bit MSVC, archive writing, and some performance + improvements and minor fixes. # New Contributors @@ -50,13 +72,21 @@ XXX pull requests were [merged in the last week][merged]. # Approved RFCs +Changes to Rust follow the Rust [RFC (request for comments) +process](https://github.com/rust-lang/rfcs#rust-rfcs). These +are the RFCs that were approved for implementation this week: +* [RFC for creation of `IntoRaw{Fd, Socket, Handle}` trait to + complement + `AsRaw*`](https://github.com/rust-lang/rfcs/pull/1174). This + provides interop between the standard library's I/O and other + out-of-tree platform-specific APIs. # Final Comment Period -Every week the teams announce a 'final comment period' for RFCs and -key PRs which are reaching a decision. Express your opinions -now. [This week's FCPs][fcp] are: +Every week [the team](https://rust-lang.org/team.html) announces the +'final comment period' for RFCs and key PRs which are reaching a +decision. Express your opinions now. [This week's FCPs][fcp] are: [fcp]: https://github.com/issues?utf8=%E2%9C%93&q=is%3Apr+org%3Arust-lang+label%3Afinal-comment-period+is%3Aopen+updated%3A2015-07-06..2015-07-13 @@ -67,6 +97,14 @@ now. [This week's FCPs][fcp] are: # Internals discussions +# Subteam reports + +Every week the [Rust teams](http://www.rust-lang.org/team.html) +release a report on what is going on in their corner of the +project. Here are the highlights from [This week's report](TODO). + +* TODO + # Friend of the Tree The Rust Team likes to occassionally recognize people who have made @@ -83,7 +121,6 @@ like [THING]. THING is a ... - # Upcoming Events * [7/22. Columbus Rust Society](http://www.meetup.com/columbus-rs/). diff --git a/drafts/YYYY-MM-DD-this-week-in-rust-template.md b/drafts/YYYY-MM-DD-this-week-in-rust.md similarity index 79% rename from drafts/YYYY-MM-DD-this-week-in-rust-template.md rename to drafts/YYYY-MM-DD-this-week-in-rust.md index 870590bc..3a21fe1d 100644 --- a/drafts/YYYY-MM-DD-this-week-in-rust-template.md +++ b/drafts/YYYY-MM-DD-this-week-in-rust.md @@ -35,13 +35,16 @@ XXX pull requests were [merged in the last week][merged]. # Approved RFCs +Changes to Rust follow the Rust [RFC (request for comments) +process](https://github.com/rust-lang/rfcs#rust-rfcs). These +are the RFCs that were approved for implementation this week: # Final Comment Period -Every week the teams announce a 'final comment period' for RFCs and -key PRs which are reaching a decision. Express your opinions -now. [This week's FCPs][fcp] are: +Every week [the team](https://rust-lang.org/team.html) announces the +'final comment period' for RFCs and key PRs which are reaching a +decision. Express your opinions now. [This week's FCPs][fcp] are: [fcp]: https://github.com/issues?utf8=%E2%9C%93&q=is%3Apr+org%3Arust-lang+label%3Afinal-comment-period+is%3Aopen+updated%3A2015-07-06..2015-07-13 @@ -52,6 +55,14 @@ now. [This week's FCPs][fcp] are: # Internals discussions +# Subteam reports + +Every week the [Rust teams](http://www.rust-lang.org/team.html) +release a report on what is going on in their corner of the +project. Here are the highlights from [This week's report](TODO). + +* TODO + # Friend of the Tree The Rust Team likes to occassionally recognize people who have made From 5c35d6d3bc1f6d93d5443c56fed789410105c8fb Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 17 Jul 2015 13:53:42 -0700 Subject: [PATCH 45/80] 2015-07-20 --- drafts/2015-07-20-this-week-in-rust.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drafts/2015-07-20-this-week-in-rust.md b/drafts/2015-07-20-this-week-in-rust.md index 2ca5681f..00a67944 100644 --- a/drafts/2015-07-20-this-week-in-rust.md +++ b/drafts/2015-07-20-this-week-in-rust.md @@ -94,9 +94,24 @@ decision. Express your opinions now. [This week's FCPs][fcp] are: # New RFCs +* [Update FOLLOW set for `ty` tokens](https://github.com/rust-lang/rfcs/pull/1209) +* [RFC: impl specialization](https://github.com/rust-lang/rfcs/pull/1210) +* [[RFC] Introduce a mid-level IR (MIR) in the compiler that will drive borrowck, trans](https://github.com/rust-lang/rfcs/pull/1211) +* [RFC: line-endings](https://github.com/rust-lang/rfcs/pull/1212) +* [RFC: The Life and Death of an API](https://github.com/rust-lang/rfcs/pull/1213) # Internals discussions +* [Pre-RFC: SIMD + groundwork](https://internals.rust-lang.org/t/pre-rfc-simd-groundwork/2343/11). Huon + is working on SIMD and is still soliciting feedback. +* [Adding “minifloats” (f24, f16, f8) as native types](https://internals.rust-lang.org/t/adding-minifloats-f24-f16-f8-as-native-types/2367/1) +* [Pre-RFC: Explicit Opt-in OIBIT for truly POD data and safe transmutes](https://internals.rust-lang.org/t/pre-rfc-explicit-opt-in-oibit-for-truly-pod-data-and-safe-transmutes/2361/9) +* [Implementation of `try!` that works with `Option` and `Result`](https://internals.rust-lang.org/t/implementation-of-try-that-works-with-option-and-result/2348/10) +* [Core team meeting 2015-07-15 (Regression testing; Servo breakage; Connect to join; Specialization + dropck)](https://internals.rust-lang.org/t/core-team-meeting-2015-07-15-regression-testing-servo-breakage-connect-to-join-specialization-dropck/2369/1) +* [Pre-RFC: become-assignments for reliable RVO/DPS](https://internals.rust-lang.org/t/pre-rfc-become-assignments-for-reliable-rvo-dps/2363/1) +* [Pre-RFC solidifying repr(Rust)](https://internals.rust-lang.org/t/pre-rfc-solidifying-repr-rust/2306/1) + # Subteam reports Every week the [Rust teams](http://www.rust-lang.org/team.html) From 10a092a9117155eef49bdb30095226c82a032f27 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 20 Jul 2015 12:55:29 -0700 Subject: [PATCH 46/80] 2015-07-20 --- drafts/2015-07-20-this-week-in-rust.md | 39 ++++++++------------------ 1 file changed, 11 insertions(+), 28 deletions(-) diff --git a/drafts/2015-07-20-this-week-in-rust.md b/drafts/2015-07-20-this-week-in-rust.md index 00a67944..3e12a702 100644 --- a/drafts/2015-07-20-this-week-in-rust.md +++ b/drafts/2015-07-20-this-week-in-rust.md @@ -48,7 +48,7 @@ this week, incurring unusual ammounts of downtime. Thankfully, [Manish crafted an epic rollup](https://github.com/rust-lang/rust/pull/27066) to make up some of the slack. -XXX pull requests were [merged in the last week][merged]. +98 pull requests were [merged in the last week][merged]. [merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-07-13..2015-07-20 @@ -68,7 +68,13 @@ XXX pull requests were [merged in the last week][merged]. # New Contributors - +* arthurprs +* Frank McSherry +* Jose Narvaez +* Kristof Söderström +* Ryan Pendleton +* Vincent Bernat +* Vladimir Rutsky # Approved RFCs @@ -90,7 +96,7 @@ decision. Express your opinions now. [This week's FCPs][fcp] are: [fcp]: https://github.com/issues?utf8=%E2%9C%93&q=is%3Apr+org%3Arust-lang+label%3Afinal-comment-period+is%3Aopen+updated%3A2015-07-06..2015-07-13 -* TODO +* [RFC: Expand the std::net module](https://github.com/rust-lang/rfcs/pull/1158) # New RFCs @@ -112,33 +118,10 @@ decision. Express your opinions now. [This week's FCPs][fcp] are: * [Pre-RFC: become-assignments for reliable RVO/DPS](https://internals.rust-lang.org/t/pre-rfc-become-assignments-for-reliable-rvo-dps/2363/1) * [Pre-RFC solidifying repr(Rust)](https://internals.rust-lang.org/t/pre-rfc-solidifying-repr-rust/2306/1) -# Subteam reports - -Every week the [Rust teams](http://www.rust-lang.org/team.html) -release a report on what is going on in their corner of the -project. Here are the highlights from [This week's report](TODO). - -* TODO - -# Friend of the Tree - -The Rust Team likes to occassionally recognize people who have made -outstanding contributions to The Rust Project, its ecosystem, and its -community. These people are 'friends of the tree'. - -This week's friend of the tree was ... - - -# Crate of the Week - -There are so many crates! It's easy to lose track of the good ones, -like [THING]. - -THING is a ... - # Upcoming Events -* [7/22. Columbus Rust Society](http://www.meetup.com/columbus-rs/). +* [July 22. Columbus Rust Society](http://www.meetup.com/columbus-rs/). +* [August 1. RustCamp](http://www.rustcamp.com). If you are running a Rust event please add it to the [calendar] to get it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian From d790b47ae60b13fbfbe61824a2d2c150d930e98e Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 20 Jul 2015 16:58:22 -0700 Subject: [PATCH 47/80] 2015-07-20 --- {drafts => content}/2015-07-20-this-week-in-rust.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {drafts => content}/2015-07-20-this-week-in-rust.md (100%) diff --git a/drafts/2015-07-20-this-week-in-rust.md b/content/2015-07-20-this-week-in-rust.md similarity index 100% rename from drafts/2015-07-20-this-week-in-rust.md rename to content/2015-07-20-this-week-in-rust.md From a95722e30908eb622b6730cf830ef00f778162fa Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 20 Jul 2015 17:03:09 -0700 Subject: [PATCH 48/80] Give Vikrant credit --- content/2015-07-20-this-week-in-rust.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2015-07-20-this-week-in-rust.md b/content/2015-07-20-this-week-in-rust.md index 3e12a702..6b4b7662 100644 --- a/content/2015-07-20-this-week-in-rust.md +++ b/content/2015-07-20-this-week-in-rust.md @@ -13,7 +13,7 @@ contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contrib *This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). -This week's edition was edited by: Brian Anderson +This week's edition was edited by: Brian Anderson, Vikrant Chaudhary # From the Blogosphere From a8bf98a218c29df69c4a3146c3881f319403181f Mon Sep 17 00:00:00 2001 From: Benjamin Herr Date: Tue, 21 Jul 2015 21:57:51 +0200 Subject: [PATCH 49/80] 2015-07-20: typo, "ammounts" should be "amounts" --- content/2015-07-20-this-week-in-rust.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2015-07-20-this-week-in-rust.md b/content/2015-07-20-this-week-in-rust.md index 6b4b7662..eb4c1b46 100644 --- a/content/2015-07-20-this-week-in-rust.md +++ b/content/2015-07-20-this-week-in-rust.md @@ -44,7 +44,7 @@ This week's edition was edited by: Brian Anderson, Vikrant Chaudhary [bors](https://github.com/bors) underwent a [sudden unscheduled uprade](https://internals.rust-lang.org/t/buildbot-is-down-for-a-bit/2365/4) -this week, incurring unusual ammounts of downtime. Thankfully, [Manish +this week, incurring unusual amounts of downtime. Thankfully, [Manish crafted an epic rollup](https://github.com/rust-lang/rust/pull/27066) to make up some of the slack. From c0b3d984580a42cb3e22d7b087437325d21a1aea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Desvignes?= Date: Wed, 22 Jul 2015 09:24:17 +0200 Subject: [PATCH 50/80] Small typo (uprade => upgrade) --- content/2015-07-20-this-week-in-rust.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2015-07-20-this-week-in-rust.md b/content/2015-07-20-this-week-in-rust.md index eb4c1b46..fb897503 100644 --- a/content/2015-07-20-this-week-in-rust.md +++ b/content/2015-07-20-this-week-in-rust.md @@ -43,7 +43,7 @@ This week's edition was edited by: Brian Anderson, Vikrant Chaudhary # What's cooking on nightly? [bors](https://github.com/bors) underwent a [sudden unscheduled -uprade](https://internals.rust-lang.org/t/buildbot-is-down-for-a-bit/2365/4) +upgrade](https://internals.rust-lang.org/t/buildbot-is-down-for-a-bit/2365/4) this week, incurring unusual amounts of downtime. Thankfully, [Manish crafted an epic rollup](https://github.com/rust-lang/rust/pull/27066) to make up some of the slack. From 1275e2b91a84c0d4ca2e64f33c165e2cc2f3e663 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 24 Jul 2015 11:41:34 -0700 Subject: [PATCH 51/80] Start 2015-07-27 --- drafts/2015-07-27-this-week-in-rust.md | 106 +++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 drafts/2015-07-27-this-week-in-rust.md diff --git a/drafts/2015-07-27-this-week-in-rust.md b/drafts/2015-07-27-this-week-in-rust.md new file mode 100644 index 00000000..fc73c6de --- /dev/null +++ b/drafts/2015-07-27-this-week-in-rust.md @@ -0,0 +1,106 @@ +Title: This Week in Rust 89 +Date: 2015-07-27 +Category: This Week in Rust + +Hello and welcome to another issue of *This Week in Rust*! +[Rust](http://rust-lang.org) is a systems language pursuing the trifecta: +safety, concurrency, and speed. This is a weekly summary of its progress and +community. Want something mentioned? Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) or [send us an +email](mailto:corey@octayn.net?subject=This%20Week%20in%20Rust%20Suggestion)! +Want to get involved? [We love +contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contributors). + +*This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). +If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). + +This week's edition was edited by: WHO?? + +# From the Blogosphere + +# Tips & Tricks + +# In the News + +# New Releases & Project Updates + +# What's cooking on nightly? + +XXX pull requests were [merged in the last week][merged]. + +[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-07-20..2015-07-27 + +# New Contributors + + + +# Approved RFCs + +Changes to Rust follow the Rust [RFC (request for comments) +process](https://github.com/rust-lang/rfcs#rust-rfcs). These +are the RFCs that were approved for implementation this week: + + +# Final Comment Period + +Every week [the team](https://rust-lang.org/team.html) announces the +'final comment period' for RFCs and key PRs which are reaching a +decision. Express your opinions now. [This week's FCPs][fcp] are: + +[fcp]: https://github.com/issues?utf8=%E2%9C%93&q=is%3Apr+org%3Arust-lang+label%3Afinal-comment-period+is%3Aopen+updated%3A2015-07-20..2015-07-27 + +* TODO + +# New RFCs + + +# Internals discussions + +# Subteam reports + +Every week the [Rust teams](http://www.rust-lang.org/team.html) +release a report on what is going on in their corner of the +project. Here are the highlights from [This week's report](TODO). + +* TODO + +# Friend of the Tree + +The Rust Team likes to occassionally recognize people who have made +outstanding contributions to The Rust Project, its ecosystem, and its +community. These people are 'friends of the tree'. + +This week's friend of the tree was ... + + +# Crate of the Week + +There are so many crates! It's easy to lose track of the good ones, +like [THING]. + +THING is a ... + + +# Upcoming Events + +* [7/29. Cologne, Germany](http://www.meetup.com/Rust-Cologne-Bonn/events/222915034/) +* [8/10. Seattle](https://www.eventbrite.com/e/mozilla-rust-seattle-meetup-tickets-12222326307?aff=erelexporg) +* [8/11. San Diego](http://www.meetup.com/San-Diego-Rust/events/223766853/) +* [8/17. Paris](http://www.meetup.com/Rust-Paris) + +If you are running a Rust event please add it to the [calendar] to get +it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian +Anderson][brson] for access. + +[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com +[erickt]: mailto:erick.tryzelaar@gmail.com +[brson]: mailto:banderson@mozilla.com + +# Quote of the Week + +*"Quote"* + +Explanation and link. + +Thanks to XXX for the tip. [Submit your quotes for next week!][submit]. + +[submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328 From e8b366509d850d36fe2b14c94e4bb11f91c73191 Mon Sep 17 00:00:00 2001 From: Bruno Tavares Date: Mon, 27 Jul 2015 12:40:20 -0300 Subject: [PATCH 52/80] Creates ids for headers on articles With the id attribute on the headers it would be able to link to a specific section of the page when sharing with someone. --- pelicanconf.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pelicanconf.py b/pelicanconf.py index 6a1b37bb..dfc83736 100644 --- a/pelicanconf.py +++ b/pelicanconf.py @@ -35,3 +35,5 @@ A weekly newsletter about Rust and the Rust community, with bonus content scattered about. """ } + +MD_EXTENSIONS = ['headerid'] From 73708435f96ce621922282ad56b65d27be597d54 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 27 Jul 2015 15:43:49 -0700 Subject: [PATCH 53/80] 2015-07-27 --- drafts/2015-07-27-this-week-in-rust.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drafts/2015-07-27-this-week-in-rust.md b/drafts/2015-07-27-this-week-in-rust.md index fc73c6de..5084621f 100644 --- a/drafts/2015-07-27-this-week-in-rust.md +++ b/drafts/2015-07-27-this-week-in-rust.md @@ -29,6 +29,18 @@ XXX pull requests were [merged in the last week][merged]. [merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-07-20..2015-07-27 +* [Rewrite the improper_ctypes + lint](https://github.com/rust-lang/rust/pull/26583). Makes the lint + a bit more accurate , and improves the quality of the diagnostic + messages. +* [Resolve lifetime parameters for foreign functions](https://github.com/rust-lang/rust/pull/26588) +* [Allow and implement recursive static variables](https://github.com/rust-lang/rust/pull/26630) +* [Implement default type-parameter fallback](https://github.com/rust-lang/rust/pull/26870) +* [Create proper debug info for functions and function pointers](https://github.com/rust-lang/rust/pull/27025) +* [Fix negate_unsigned feature gate check](https://github.com/rust-lang/rust/pull/27026) +* [Add `IntoRaw{Fd,Handle,Socket}` traits](https://github.com/rust-lang/rust/pull/27064) +* [Get cargo working on i686-pc-windows-msvc](https://github.com/rust-lang/cargo/pull/1825) + # New Contributors @@ -39,6 +51,9 @@ Changes to Rust follow the Rust [RFC (request for comments) process](https://github.com/rust-lang/rfcs#rust-rfcs). These are the RFCs that were approved for implementation this week: +* [RFC 837: Allow macros in types](https://github.com/rust-lang/rfcs/pull/873) +* [RFC 1191: Add an HIR to the compiler](https://github.com/rust-lang/rfcs/pull/1191) +* [RFC 1193: Prevent lint changes being breaking](https://github.com/rust-lang/rfcs/pull/1193) # Final Comment Period @@ -83,6 +98,7 @@ THING is a ... # Upcoming Events * [7/29. Cologne, Germany](http://www.meetup.com/Rust-Cologne-Bonn/events/222915034/) +* [8/5. Montreal](http://www.meetup.com/Montreal-Rust-Language-Meetup/events/224148410/) * [8/10. Seattle](https://www.eventbrite.com/e/mozilla-rust-seattle-meetup-tickets-12222326307?aff=erelexporg) * [8/11. San Diego](http://www.meetup.com/San-Diego-Rust/events/223766853/) * [8/17. Paris](http://www.meetup.com/Rust-Paris) From 1200ffeaa08cdf993602b35d0c968a24264e60a6 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 27 Jul 2015 15:54:07 -0700 Subject: [PATCH 54/80] 2015-07-27 --- drafts/2015-07-27-this-week-in-rust.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drafts/2015-07-27-this-week-in-rust.md b/drafts/2015-07-27-this-week-in-rust.md index 5084621f..7b25ed7c 100644 --- a/drafts/2015-07-27-this-week-in-rust.md +++ b/drafts/2015-07-27-this-week-in-rust.md @@ -63,10 +63,21 @@ decision. Express your opinions now. [This week's FCPs][fcp] are: [fcp]: https://github.com/issues?utf8=%E2%9C%93&q=is%3Apr+org%3Arust-lang+label%3Afinal-comment-period+is%3Aopen+updated%3A2015-07-20..2015-07-27 -* TODO +* [I/O error handling design](https://github.com/rust-lang/rfcs/pull/770) +* [Expand the std::net module](https://github.com/rust-lang/rfcs/pull/1158) +* [Allow changing the default allocator](https://github.com/rust-lang/rfcs/pull/1183) +* [Stabilize the #[no_std] attribute](https://github.com/rust-lang/rfcs/pull/1184) +* [Multiple import + renaming](https://github.com/rust-lang/rfcs/pull/1219). e.g. `use + foo::{self as bar, baz as quux}`. # New RFCs +* [Clarify (and improve) rules for projections and well-formedness](https://github.com/rust-lang/rfcs/pull/1214) +* [Promote `!` to a type](https://github.com/rust-lang/rfcs/pull/1216) +* [Checked integer conversions](https://github.com/rust-lang/rfcs/pull/1218) +* [Multiple import renaming](https://github.com/rust-lang/rfcs/pull/1219) +* [Update the RFC process with sub-teams, amongst other things](https://github.com/rust-lang/rfcs/pull/1224) # Internals discussions From 3fa0547a222e0cbf2c0ff44f5ba7b5d3271af4e3 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 27 Jul 2015 16:54:13 -0700 Subject: [PATCH 55/80] 2015-07-27 --- drafts/2015-07-27-this-week-in-rust.md | 31 +++++++++++++++++--------- drafts/YYYY-MM-DD-this-week-in-rust.md | 2 +- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/drafts/2015-07-27-this-week-in-rust.md b/drafts/2015-07-27-this-week-in-rust.md index 7b25ed7c..c71f26c7 100644 --- a/drafts/2015-07-27-this-week-in-rust.md +++ b/drafts/2015-07-27-this-week-in-rust.md @@ -43,7 +43,16 @@ XXX pull requests were [merged in the last week][merged]. # New Contributors - +* Andy Caldwell +* Antti Keränen +* eternaleye +* Jason Schein +* Jonathan Hansford +* Kornel Lesiński +* Leif Arne Storset +* midinastasurazz +* mitaa +* Ticki # Approved RFCs @@ -85,9 +94,13 @@ decision. Express your opinions now. [This week's FCPs][fcp] are: Every week the [Rust teams](http://www.rust-lang.org/team.html) release a report on what is going on in their corner of the -project. Here are the highlights from [This week's report](TODO). +project. Here are the highlights from [this week's +report](https://internals.rust-lang.org/t/subteam-reports-2015-07-24/2397/2). -* TODO +* The compiler is being refactored to work on an HIR and an MIR. +* Work is proceeding on stabilizing the core library. +* Basic allocators will soon be available. +* MSVC integration is proceeding rapidly. # Friend of the Tree @@ -95,20 +108,16 @@ The Rust Team likes to occassionally recognize people who have made outstanding contributions to The Rust Project, its ecosystem, and its community. These people are 'friends of the tree'. -This week's friend of the tree was ... +[This week's friend of the tree](https://internals.rust-lang.org/t/subteam-reports-2015-07-24/2397) was @tshepang: +Over the last year Tshepang has landed over 100 improvements to our documentation. Tshepang saw where documentation was not, and said "No. This will not do." -# Crate of the Week - -There are so many crates! It's easy to lose track of the good ones, -like [THING]. - -THING is a ... - +We should all endeavor to care about docs as much as Tshepang. # Upcoming Events * [7/29. Cologne, Germany](http://www.meetup.com/Rust-Cologne-Bonn/events/222915034/) +* [8/1. RustCamp](http://www.rustcamp.com). * [8/5. Montreal](http://www.meetup.com/Montreal-Rust-Language-Meetup/events/224148410/) * [8/10. Seattle](https://www.eventbrite.com/e/mozilla-rust-seattle-meetup-tickets-12222326307?aff=erelexporg) * [8/11. San Diego](http://www.meetup.com/San-Diego-Rust/events/223766853/) diff --git a/drafts/YYYY-MM-DD-this-week-in-rust.md b/drafts/YYYY-MM-DD-this-week-in-rust.md index 3a21fe1d..a2f85347 100644 --- a/drafts/YYYY-MM-DD-this-week-in-rust.md +++ b/drafts/YYYY-MM-DD-this-week-in-rust.md @@ -59,7 +59,7 @@ decision. Express your opinions now. [This week's FCPs][fcp] are: Every week the [Rust teams](http://www.rust-lang.org/team.html) release a report on what is going on in their corner of the -project. Here are the highlights from [This week's report](TODO). +project. Here are the highlights from [this week's report](TODO). * TODO From 3a78d23445be5f59211835d3236eacdeca2573aa Mon Sep 17 00:00:00 2001 From: Vikrant Chaudhary Date: Tue, 28 Jul 2015 14:31:46 +0530 Subject: [PATCH 56/80] TWiR release 89 (27 July 2015). --- drafts/2015-07-27-this-week-in-rust.md | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/drafts/2015-07-27-this-week-in-rust.md b/drafts/2015-07-27-this-week-in-rust.md index fc73c6de..7f715bc2 100644 --- a/drafts/2015-07-27-this-week-in-rust.md +++ b/drafts/2015-07-27-this-week-in-rust.md @@ -17,12 +17,24 @@ This week's edition was edited by: WHO?? # From the Blogosphere -# Tips & Tricks - -# In the News +* [MaidSafe switches to Rust from C++](http://blog.maidsafe.net/2015/07/01/the-ants-are-coming/). +* [Servo developer tools overview](http://blog.servo.org/2015/07/22/environment/). Peek into one of the largest Rust projects' build systems. +* [Extending Zabbix monitoring using the Rust programming language](https://dnaeon.github.io/extending-zabbix-with-rust/). +* [Learning Rust With Entirely Too Many Linked Lists](http://cglab.ca/~abeinges/blah/too-many-lists/book/). +* [Creating A Multi-echo Server using Rust and mio](http://hermanradtke.com/2015/07/22/creating-a-multi-echo-server-using-rust-and-mio.html). +* [Rust: A modern programming environment](https://alexgaynor.net/2015/jul/20/rust-modern-programming-language/). +* [Rewriting a Java web-service in Rustful framework](http://maniagnosis.crsr.net/2015/07/reimplementing-ashurbanipalweb-in-rust.html). +* [My first unsafe code](https://llogiq.github.io/2015/07/23/unsafe.html). Llogiq writing space-efficient `Option<_>` replacements. # New Releases & Project Updates +* [Cupid](https://github.com/shepmaster/cupid). Native Rust access to the x86 and x86_64 CPUID instruction. +* [nue](https://github.com/arcnmx/nue). I/O and binary data encoding for Rust. +* [oxcable](https://github.com/thenyeguy/oxcable). A signal processing framework for making music with Rust. +* [rsmpi](https://github.com/bsteinb/rsmpi). Message Passing Interface (MPI) bindings for Rust. +* [rust_box2d](https://github.com/Bastacyclop/rust_box2d). Rust bindings for Box2D physics engine. +* [avr-emulator](https://github.com/RealScout/avr-emulator). Atmel 8-bit AVR Emulator in React and Rust. + # What's cooking on nightly? XXX pull requests were [merged in the last week][merged]. @@ -97,10 +109,8 @@ Anderson][brson] for access. # Quote of the Week -*"Quote"* +*Opening a vortex to Hell is actually safe, but de-referencing anything you pull from the vortex isn't safe.* — [Steve Klabnik](https://github.com/rust-lang/rfcs/pull/1184#issuecomment-123446297) -Explanation and link. - -Thanks to XXX for the tip. [Submit your quotes for next week!][submit]. +Thanks to [Gankro](https://users.rust-lang.org/users/gankro) for the tip. [Submit your quotes for next week!][submit]. [submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328 From 8ec451a794882839823d92c53fed45cb9c2b6edf Mon Sep 17 00:00:00 2001 From: Oliver Schneider Date: Tue, 28 Jul 2015 13:12:22 +0200 Subject: [PATCH 57/80] jobs section --- drafts/2015-07-27-this-week-in-rust.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drafts/2015-07-27-this-week-in-rust.md b/drafts/2015-07-27-this-week-in-rust.md index fc73c6de..c9bae6d3 100644 --- a/drafts/2015-07-27-this-week-in-rust.md +++ b/drafts/2015-07-27-this-week-in-rust.md @@ -95,6 +95,12 @@ Anderson][brson] for access. [erickt]: mailto:erick.tryzelaar@gmail.com [brson]: mailto:banderson@mozilla.com +# fn work(on: RustProject) -> Money + +* Assistant Researcher in Karlsruhe, Germany for embedded development on ARM stm32. Contact [Oliver Schneider][oli_obk] + +[oli_obk]: mailto:oliver.schneider@kit.edu + # Quote of the Week *"Quote"* From eaf8e72a9edcc77dc1c6c4f000e50500d88ae50a Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 28 Jul 2015 14:27:56 -0700 Subject: [PATCH 58/80] 2015-07-27 --- drafts/2015-07-27-this-week-in-rust.md | 62 +++++++++++++++----------- drafts/YYYY-MM-DD-this-week-in-rust.md | 25 ++++++----- 2 files changed, 50 insertions(+), 37 deletions(-) diff --git a/drafts/2015-07-27-this-week-in-rust.md b/drafts/2015-07-27-this-week-in-rust.md index c71f26c7..bd20f8a6 100644 --- a/drafts/2015-07-27-this-week-in-rust.md +++ b/drafts/2015-07-27-this-week-in-rust.md @@ -13,19 +13,51 @@ contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contrib *This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). -This week's edition was edited by: WHO?? +This week's edition was edited by: Brian Anderson. # From the Blogosphere +* [Learning Rust with Entirely Too Many Linked Lists](http://cglab.ca/~abeinges/blah/too-many-lists/book/). Gankro, master of collections, presents the definitive guide to linked lists in Rust. + # Tips & Tricks # In the News # New Releases & Project Updates +* [Piston 0.5 released](http://blog.piston.rs/2015/07/22/piston-0.5/).* + [font-atlas](https://www.reddit.com/r/rust_gamedev/comments/3eriwm/fontatlas_a_set_of_crates_for_creating_and_using/). A set of crates for creating and using 'font atlases'. +* [Hound 1.0.0](https://www.reddit.com/r/rust_gamedev/comments/3e2yz7/hound_100_released_a_crate_for_reading_and/). A crate for reading and writing wav audio. +* [Rusty_Dodge](https://www.reddit.com/r/rust_gamedev/comments/3e35xi/rusty_dodge_a_simple_polar_dodging_game_using/). A simple polar dodging game using [glium](https://github.com/tomaka/glium). + +# Friend of the Tree + +[The Rust Team](http://www.rust-lang.org/team.html) likes to +occassionally recognize people who have made +outstanding contributions to The Rust Project, its ecosystem, and its +community. These people are 'friends of the tree'. + +[This week's friend of the tree](https://internals.rust-lang.org/t/subteam-reports-2015-07-24/2397) was @tshepang. + +Over the last year Tshepang has landed over 100 improvements to our documentation. Tshepang saw where documentation was not, and said "No. This will not do." + +We should all endeavor to care about docs as much as Tshepang. + +# Subteam reports + +Every week [The Rust Teams](http://www.rust-lang.org/team.html) +release a report on what is going on in their corner of the +project. Here are the highlights from [this week's +report](https://internals.rust-lang.org/t/subteam-reports-2015-07-24/2397/2). + +* The compiler is being refactored to work on an HIR and an MIR. +* Work is proceeding on stabilizing the core library. +* Basic allocators will soon be available. +* MSVC integration is proceeding rapidly. + # What's cooking on nightly? -XXX pull requests were [merged in the last week][merged]. +134 pull requests were [merged in the last week][merged]. [merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-07-20..2015-07-27 @@ -90,29 +122,9 @@ decision. Express your opinions now. [This week's FCPs][fcp] are: # Internals discussions -# Subteam reports - -Every week the [Rust teams](http://www.rust-lang.org/team.html) -release a report on what is going on in their corner of the -project. Here are the highlights from [this week's -report](https://internals.rust-lang.org/t/subteam-reports-2015-07-24/2397/2). - -* The compiler is being refactored to work on an HIR and an MIR. -* Work is proceeding on stabilizing the core library. -* Basic allocators will soon be available. -* MSVC integration is proceeding rapidly. - -# Friend of the Tree - -The Rust Team likes to occassionally recognize people who have made -outstanding contributions to The Rust Project, its ecosystem, and its -community. These people are 'friends of the tree'. - -[This week's friend of the tree](https://internals.rust-lang.org/t/subteam-reports-2015-07-24/2397) was @tshepang: - -Over the last year Tshepang has landed over 100 improvements to our documentation. Tshepang saw where documentation was not, and said "No. This will not do." - -We should all endeavor to care about docs as much as Tshepang. +* [Pre-RFC: Stabilize catch_panic](https://internals.rust-lang.org/t/pre-rfc-stabilize-catch-panic/2398/1). +* [Pre-RFC: Making extern methods invalid](https://internals.rust-lang.org/t/pre-rfc-making-extern-methods-invalid/2357/6) +* [New crater reports: 1.1 stable vs beta-2015-07-10 and nightly-2015-07-10](https://internals.rust-lang.org/t/new-crater-reports-1-1-stable-vs-beta-2015-07-10-and-nightly-2015-07-10/2358/6). # Upcoming Events diff --git a/drafts/YYYY-MM-DD-this-week-in-rust.md b/drafts/YYYY-MM-DD-this-week-in-rust.md index a2f85347..576d4137 100644 --- a/drafts/YYYY-MM-DD-this-week-in-rust.md +++ b/drafts/YYYY-MM-DD-this-week-in-rust.md @@ -53,25 +53,26 @@ decision. Express your opinions now. [This week's FCPs][fcp] are: # New RFCs -# Internals discussions - -# Subteam reports - -Every week the [Rust teams](http://www.rust-lang.org/team.html) -release a report on what is going on in their corner of the -project. Here are the highlights from [this week's report](TODO). - -* TODO - # Friend of the Tree -The Rust Team likes to occassionally recognize people who have made +[The Rust Team](http://www.rust-lang.org/team.html) likes to +occassionally recognize people who have made outstanding contributions to The Rust Project, its ecosystem, and its community. These people are 'friends of the tree'. -This week's friend of the tree was ... +[This week's friend of the tree](TODO) was ... +# Subteam reports + +Every week [The Rust Team](http://www.rust-lang.org/team.html) release +a report on what is going on in their corner of the project. Here are +the highlights from [this week's report](TODO). + +* TODO + +# Internals discussions + # Crate of the Week There are so many crates! It's easy to lose track of the good ones, From 9bd4285d579671824bdd7a03f62d1049baf150dc Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 28 Jul 2015 14:36:04 -0700 Subject: [PATCH 59/80] . --- drafts/2015-07-27-this-week-in-rust.md | 4 +++- drafts/YYYY-MM-DD-this-week-in-rust.md | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/drafts/2015-07-27-this-week-in-rust.md b/drafts/2015-07-27-this-week-in-rust.md index 14731292..0327ed0b 100644 --- a/drafts/2015-07-27-this-week-in-rust.md +++ b/drafts/2015-07-27-this-week-in-rust.md @@ -13,7 +13,7 @@ contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contrib *This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). -This week's edition was edited by: Brian Anderson. +This week's edition was edited by: Vikrant Chaudhary, Brian Anderson. # From the Blogosphere @@ -154,6 +154,8 @@ Anderson][brson] for access. # fn work(on: RustProject) -> Money +There are some jobs writing Rust! This week's listings: + * Assistant Researcher in Karlsruhe, Germany for embedded development on ARM stm32. Contact [Oliver Schneider][oli_obk] [oli_obk]: mailto:oliver.schneider@kit.edu diff --git a/drafts/YYYY-MM-DD-this-week-in-rust.md b/drafts/YYYY-MM-DD-this-week-in-rust.md index 576d4137..91d49d6a 100644 --- a/drafts/YYYY-MM-DD-this-week-in-rust.md +++ b/drafts/YYYY-MM-DD-this-week-in-rust.md @@ -93,6 +93,12 @@ Anderson][brson] for access. [erickt]: mailto:erick.tryzelaar@gmail.com [brson]: mailto:banderson@mozilla.com +# fn work(on: RustProject) -> Money + +There are some jobs writing Rust! This week's listings: + +* TODO + # Quote of the Week *"Quote"* From 3e6bb995619d5506df073d70607e0f293f49b5c3 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 28 Jul 2015 14:36:32 -0700 Subject: [PATCH 60/80] . --- {drafts => content}/2015-07-27-this-week-in-rust.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {drafts => content}/2015-07-27-this-week-in-rust.md (100%) diff --git a/drafts/2015-07-27-this-week-in-rust.md b/content/2015-07-27-this-week-in-rust.md similarity index 100% rename from drafts/2015-07-27-this-week-in-rust.md rename to content/2015-07-27-this-week-in-rust.md From b4b559859eb6526f62e9add3ba5e2cc5e3b0147f Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 28 Jul 2015 14:37:12 -0700 Subject: [PATCH 61/80] . --- drafts/YYYY-MM-DD-this-week-in-rust.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drafts/YYYY-MM-DD-this-week-in-rust.md b/drafts/YYYY-MM-DD-this-week-in-rust.md index 91d49d6a..141f67dd 100644 --- a/drafts/YYYY-MM-DD-this-week-in-rust.md +++ b/drafts/YYYY-MM-DD-this-week-in-rust.md @@ -99,6 +99,8 @@ There are some jobs writing Rust! This week's listings: * TODO +(Don't forget to re-list last-week's). + # Quote of the Week *"Quote"* From f71ce5cdc718544159f98cdf8d89494aadc30c86 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Thu, 30 Jul 2015 19:05:24 -0700 Subject: [PATCH 62/80] Remove private catch_panic link --- content/2015-07-27-this-week-in-rust.md | 1 - 1 file changed, 1 deletion(-) diff --git a/content/2015-07-27-this-week-in-rust.md b/content/2015-07-27-this-week-in-rust.md index 0327ed0b..03a72964 100644 --- a/content/2015-07-27-this-week-in-rust.md +++ b/content/2015-07-27-this-week-in-rust.md @@ -131,7 +131,6 @@ decision. Express your opinions now. [This week's FCPs][fcp] are: # Internals discussions -* [Pre-RFC: Stabilize catch_panic](https://internals.rust-lang.org/t/pre-rfc-stabilize-catch-panic/2398/1). * [Pre-RFC: Making extern methods invalid](https://internals.rust-lang.org/t/pre-rfc-making-extern-methods-invalid/2357/6) * [New crater reports: 1.1 stable vs beta-2015-07-10 and nightly-2015-07-10](https://internals.rust-lang.org/t/new-crater-reports-1-1-stable-vs-beta-2015-07-10-and-nightly-2015-07-10/2358/6). From ac1962f0203bfc9ea9327e8f37530a5a355c8524 Mon Sep 17 00:00:00 2001 From: Oliver Schneider Date: Fri, 31 Jul 2015 13:01:52 +0200 Subject: [PATCH 63/80] mistranslation of job title Not sure if corrections are allowed (and would be published) for released TWIRs... --- content/2015-07-27-this-week-in-rust.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2015-07-27-this-week-in-rust.md b/content/2015-07-27-this-week-in-rust.md index 03a72964..a2107d6b 100644 --- a/content/2015-07-27-this-week-in-rust.md +++ b/content/2015-07-27-this-week-in-rust.md @@ -155,7 +155,7 @@ Anderson][brson] for access. There are some jobs writing Rust! This week's listings: -* Assistant Researcher in Karlsruhe, Germany for embedded development on ARM stm32. Contact [Oliver Schneider][oli_obk] +* Student Research Assistant in Karlsruhe, Germany for embedded development on ARM stm32. Contact [Oliver Schneider][oli_obk] [oli_obk]: mailto:oliver.schneider@kit.edu From 7243b763076d9315aca146393f15a0e40ebb9342 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Fri, 31 Jul 2015 16:03:09 +0200 Subject: [PATCH 64/80] Fix little typo --- content/2015-07-27-this-week-in-rust.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2015-07-27-this-week-in-rust.md b/content/2015-07-27-this-week-in-rust.md index 03a72964..3fd1d8b1 100644 --- a/content/2015-07-27-this-week-in-rust.md +++ b/content/2015-07-27-this-week-in-rust.md @@ -42,7 +42,7 @@ This week's edition was edited by: Vikrant Chaudhary, Brian Anderson. # Friend of the Tree [The Rust Team](http://www.rust-lang.org/team.html) likes to -occassionally recognize people who have made +occasionally recognize people who have made outstanding contributions to The Rust Project, its ecosystem, and its community. These people are 'friends of the tree'. From 2481d31759a120ead1f429c65fbf738f317d32a3 Mon Sep 17 00:00:00 2001 From: Corey Richardson Date: Fri, 31 Jul 2015 13:23:25 -0400 Subject: [PATCH 65/80] Staging --- pelicanconf.py | 2 +- run.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pelicanconf.py b/pelicanconf.py index 8ca3f653..d308ab29 100644 --- a/pelicanconf.py +++ b/pelicanconf.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals AUTHOR = u'Corey Richardson' SITENAME = u"This Week in Rust" -SITEURL = 'http://this-week-in-rust.org' +SITEURL = 'http://this-week-in-rust.org/staging' SOURCE_URL = 'https://github.com/cmr/this-week-in-rust' diff --git a/run.sh b/run.sh index 1dd2966b..4b5f4fc4 100755 --- a/run.sh +++ b/run.sh @@ -2,5 +2,5 @@ . ./bin/activate ./bin/pelican content -s pelicanconf.py -t themes/pelican-elegant-1.3 || exit if [ "$REALLY_DEPLOY" = "1" ]; then - rsync -razvP --delete-after output/ cmr@octayn.net:twir + rsync -razvP --delete-after output/ cmr@octayn.net:twir-staging fi From b11ae4d9a0ef9e122ae807e403d40785c4b6a3d6 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 31 Jul 2015 11:41:02 -0700 Subject: [PATCH 66/80] Revert "Merge pull request #66 from webstream-io/rusty-makeover" This reverts commit c3cac9513ba843e90fb0379fd0ed5ceae3730fd8, reversing changes made to f71ce5cdc718544159f98cdf8d89494aadc30c86. --- .gitignore | 3 +- content/pages/privacy-policy.md | 80 -------- pelicanconf.py | 5 +- plugins/assets/Readme.rst | 106 ---------- plugins/assets/__init__.py | 1 - plugins/assets/assets.py | 72 ------- themes/rusted/static/css/_base.scss | 192 ------------------ .../static/css/_bootstrap-overrides.scss | 6 - themes/rusted/static/css/_homepage.scss | 12 -- themes/rusted/static/css/_layout.scss | 135 ------------ themes/rusted/static/css/main.scss | 46 ----- themes/rusted/templates/_post-title.html | 10 - themes/rusted/templates/_subscribe-form.html | 13 -- themes/rusted/templates/archives.html | 16 -- themes/rusted/templates/article.html | 37 ---- themes/rusted/templates/base.html | 78 ------- themes/rusted/templates/index.html | 31 --- themes/rusted/templates/page.html | 31 --- 18 files changed, 2 insertions(+), 872 deletions(-) delete mode 100644 content/pages/privacy-policy.md delete mode 100644 plugins/assets/Readme.rst delete mode 100644 plugins/assets/__init__.py delete mode 100644 plugins/assets/assets.py delete mode 100644 themes/rusted/static/css/_base.scss delete mode 100644 themes/rusted/static/css/_bootstrap-overrides.scss delete mode 100644 themes/rusted/static/css/_homepage.scss delete mode 100644 themes/rusted/static/css/_layout.scss delete mode 100644 themes/rusted/static/css/main.scss delete mode 100644 themes/rusted/templates/_post-title.html delete mode 100644 themes/rusted/templates/_subscribe-form.html delete mode 100644 themes/rusted/templates/archives.html delete mode 100644 themes/rusted/templates/article.html delete mode 100644 themes/rusted/templates/base.html delete mode 100644 themes/rusted/templates/index.html delete mode 100644 themes/rusted/templates/page.html diff --git a/.gitignore b/.gitignore index d462c2f1..514d1efe 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,4 @@ lib include output *~ -cache -.sass-cache \ No newline at end of file +cache \ No newline at end of file diff --git a/content/pages/privacy-policy.md b/content/pages/privacy-policy.md deleted file mode 100644 index 7038bb16..00000000 --- a/content/pages/privacy-policy.md +++ /dev/null @@ -1,80 +0,0 @@ -Title: Privacy Policy -Date: 2015-07-08 - -Last updated: 8 July, 2015 - -TWiR team ("us", "we", or "our") operates the This Week in Rust website (the "Service"). - -This page informs you of our policies regarding the collection, use and disclosure of Personal Information when you use our Service. - -We will not use or share your information with anyone except as described in this Privacy Policy. - -We use your Personal Information for providing and improving the Service. By using the Service, you agree to the collection and use of information in accordance with this policy. - -## Information Collection And Use - -While using our Service, we may ask you to provide us with certain personally identifiable information that can be used to contact or identify you. Personally identifiable information may include, but is not limited to, your email address ("Personal Information"). - -We collect this information for the purpose of providing the Service, identifying and communicating with you, responding to your requests/enquiries, and improving our services. - -## Log Data - -We collect information that your browser sends whenever you visit our Service ("Log Data"). This Log Data may include information such as your computer's Internet Protocol ("IP") address, browser type, browser version, the pages of our Service that you visit, the time and date of your visit, the time spent on those pages and other statistics. - -## Cookies - -Cookies are files with a small amount of data, which may include an anonymous unique identifier. Cookies are sent to your browser from a web site and transferred to your device. We use cookies to collect information in order to improve our services for you. - -You can instruct your browser to refuse all cookies or to indicate when a cookie is being sent. The Help feature on most browsers provide information on how to accept cookies, disable cookies or to notify you when receiving a new cookie. - -If you do not accept cookies, you may not be able to use some features of our Service and we recommend that you leave them turned on. - -## Do Not Track Disclosure - -We support Do Not Track ("DNT"). Do Not Track is a preference you can set in your web browser to inform websites that you do not want to be tracked. - -You can enable or disable Do Not Track by visiting the Preferences or Settings page of your web browser. - -## Service Providers - -We may employ third party companies and individuals to facilitate our Service, to provide the Service on our behalf, to perform Service-related services and/or to assist us in analyzing how our Service is used. - -These third parties have access to your Personal Information only to perform specific tasks on our behalf and are obligated not to disclose or use your information for any other purpose. - -Following third-party services have access to your Personal Information: MailChimp. - -In future, if we employ any additional third-party services that may access your Personal Information, we'll reflect that information in third-party services list above by updating this Privacy Policy. - -## Communications - -We may use your Personal Information to contact you with newsletters, marketing or promotional materials and other information that may be of interest to you. You may opt out of receiving any, or all, of these communications from us by following the unsubscribe link or instructions provided in any email we send. - -## Compliance With Laws - -We will disclose your Personal Information where required to do so by law or subpoena or if we believe that such action is necessary to comply with the law and the reasonable requests of law enforcement or to protect the security or integrity of our Service. - -## Security - -The security of your Personal Information is important to us, and we strive to implement and maintain reasonable, commercially acceptable security procedures and practices appropriate to the nature of the information we store, in order to protect it from unauthorized access, destruction, use, modification, or disclosure. - -However, please be aware that no method of transmission over the Internet, or method of electronic storage is 100% secure and we are unable to guarantee the absolute security of the Personal Information we have collected from you. - -## International Transfer - -Your information, including Personal Information, may be transferred to — and maintained on — computers located outside of your state, province, country or other governmental jurisdiction where the data protection laws may differ than those from your jurisdiction. - -Your consent to this Privacy Policy followed by your submission of such information represents your agreement to that transfer. - -## Links To Other Sites - -Our Service may contain links to other sites that are not operated by us. If you click on a third party link, you will be directed to that third party's site. We strongly advise you to review the Privacy Policy of every site you visit. - -We have no control over, and assume no responsibility for the content, privacy policies or practices of any third party sites or services. - -## Changes To This Privacy Policy - -This Privacy Policy is effective as of 8 July, 2015 and will remain in effect except with respect to any changes in its provisions in the future, which will be in effect immediately after being posted on this page. - -We reserve the right to update or change our Privacy Policy at any time and you should check this Privacy Policy periodically. Your continued use of the Service after we post any modifications to the Privacy Policy on this page will constitute your acknowledgment of the modifications and your consent to abide and be bound by the modified Privacy Policy. - -If we make any material changes to this Privacy Policy, we will notify you either through the email address you have provided us, or by placing a prominent notice on our website. diff --git a/pelicanconf.py b/pelicanconf.py index d308ab29..4acba8bf 100644 --- a/pelicanconf.py +++ b/pelicanconf.py @@ -8,10 +8,7 @@ SITEURL = 'http://this-week-in-rust.org/staging' SOURCE_URL = 'https://github.com/cmr/this-week-in-rust' -THEME = 'themes/rusted' - -PLUGIN_PATHS = ["plugins"] -PLUGINS = ['assets'] +THEME = 'pelican-elegant-1.3' TIMEZONE = 'America/New_York' diff --git a/plugins/assets/Readme.rst b/plugins/assets/Readme.rst deleted file mode 100644 index ae18044e..00000000 --- a/plugins/assets/Readme.rst +++ /dev/null @@ -1,106 +0,0 @@ -Asset management ----------------- - -This plugin allows you to use the `Webassets`_ module to manage assets such as -CSS and JS files. The module must first be installed:: - - pip install webassets - -The Webassets module allows you to perform a number of useful asset management -functions, including: - -* CSS minifier (``cssmin``, ``yui_css``, ...) -* CSS compiler (``less``, ``sass``, ...) -* JS minifier (``uglifyjs``, ``yui_js``, ``closure``, ...) - -Others filters include CSS URL rewriting, integration of images in CSS via data -URIs, and more. Webassets can also append a version identifier to your asset -URL to convince browsers to download new versions of your assets when you use -far-future expires headers. Please refer to the `Webassets documentation`_ for -more information. - -When used with Pelican, Webassets is configured to process assets in the -``OUTPUT_PATH/theme`` directory. You can use Webassets in your templates by -including one or more template tags. The Jinja variable ``{{ ASSET_URL }}`` can -be used in templates and is relative to the ``theme/`` url. The -``{{ ASSET_URL }}`` variable should be used in conjunction with the -``{{ SITEURL }}`` variable in order to generate URLs properly. For example: - -.. code-block:: jinja - - {% assets filters="cssmin", output="css/style.min.css", "css/inuit.css", "css/pygment-monokai.css", "css/main.css" %} - - {% endassets %} - -... will produce a minified css file with a version identifier that looks like: - -.. code-block:: html - - - -These filters can be combined. Here is an example that uses the SASS compiler -and minifies the output: - -.. code-block:: jinja - - {% assets filters="sass,cssmin", output="css/style.min.css", "css/style.scss" %} - - {% endassets %} - -Another example for Javascript: - -.. code-block:: jinja - - {% assets filters="uglifyjs", output="js/packed.js", "js/jquery.js", "js/base.js", "js/widgets.js" %} - - {% endassets %} - -The above will produce a minified JS file: - -.. code-block:: html - - - -Pelican's debug mode is propagated to Webassets to disable asset packaging -and instead work with the uncompressed assets. - -If you need to create named bundles (for example, if you need to compile SASS -files before minifying with other CSS files), you can use the ``ASSET_BUNDLES`` -variable in your settings file. This is an ordered sequence of 3-tuples, where -the 3-tuple is defined as ``(name, args, kwargs)``. This tuple is passed to the -`environment's register() method`_. The following will compile two SCSS files -into a named bundle, using the ``pyscss`` filter: - -.. code-block:: python - - ASSET_BUNDLES = ( - ('scss', ['colors.scss', 'main.scss'], {'filters': 'pyscss'}), - ) - -Many of Webasset's available compilers have additional configuration options -(i.e. 'Less', 'Sass', 'Stylus', 'Closure_js'). You can pass these options to -Webassets using the ``ASSET_CONFIG`` in your settings file. - -The following will handle Google Closure's compilation level and locate -LessCSS's binary: - -.. code-block:: python - - ASSET_CONFIG = (('closure_compressor_optimization', 'WHITESPACE_ONLY'), - ('less_bin', 'lessc.cmd'), ) - -If you wish to place your assets in locations other than the theme output -directory, you can use ``ASSET_SOURCE_PATHS`` in your settings file to provide -webassets with a list of additional directories to search, relative to the -theme's top-level directory: - -.. code-block:: python - - ASSET_SOURCE_PATHS = ( - 'vendor/css', - 'scss', - ) - -.. _Webassets: https://github.com/miracle2k/webassets -.. _Webassets documentation: http://webassets.readthedocs.org/en/latest/builtin_filters.html -.. _environment's register() method: http://webassets.readthedocs.org/en/latest/environment.html#registering-bundles diff --git a/plugins/assets/__init__.py b/plugins/assets/__init__.py deleted file mode 100644 index 67b75dd5..00000000 --- a/plugins/assets/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .assets import * diff --git a/plugins/assets/assets.py b/plugins/assets/assets.py deleted file mode 100644 index 6dfb54f5..00000000 --- a/plugins/assets/assets.py +++ /dev/null @@ -1,72 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Asset management plugin for Pelican -=================================== - -This plugin allows you to use the `webassets`_ module to manage assets such as -CSS and JS files. - -The ASSET_URL is set to a relative url to honor Pelican's RELATIVE_URLS -setting. This requires the use of SITEURL in the templates:: - - - -.. _webassets: https://webassets.readthedocs.org/ - -""" -from __future__ import unicode_literals - -import os -import logging - -from pelican import signals -logger = logging.getLogger(__name__) - -try: - import webassets - from webassets import Environment - from webassets.ext.jinja2 import AssetsExtension -except ImportError: - webassets = None - -def add_jinja2_ext(pelican): - """Add Webassets to Jinja2 extensions in Pelican settings.""" - - pelican.settings['JINJA_EXTENSIONS'].append(AssetsExtension) - - -def create_assets_env(generator): - """Define the assets environment and pass it to the generator.""" - - theme_static_dir = generator.settings['THEME_STATIC_DIR'] - assets_destination = os.path.join(generator.output_path, theme_static_dir) - generator.env.assets_environment = Environment( - assets_destination, theme_static_dir) - - if 'ASSET_CONFIG' in generator.settings: - for item in generator.settings['ASSET_CONFIG']: - generator.env.assets_environment.config[item[0]] = item[1] - - if 'ASSET_BUNDLES' in generator.settings: - for name, args, kwargs in generator.settings['ASSET_BUNDLES']: - generator.env.assets_environment.register(name, *args, **kwargs) - - if 'ASSET_DEBUG' in generator.settings: - generator.env.assets_environment.debug = generator.settings['ASSET_DEBUG'] - elif logging.getLevelName(logger.getEffectiveLevel()) == "DEBUG": - generator.env.assets_environment.debug = True - - for path in (generator.settings['THEME_STATIC_PATHS'] + - generator.settings.get('ASSET_SOURCE_PATHS', [])): - full_path = os.path.join(generator.theme, path) - generator.env.assets_environment.append_path(full_path) - - -def register(): - """Plugin registration.""" - if webassets: - signals.initialized.connect(add_jinja2_ext) - signals.generator_init.connect(create_assets_env) - else: - logger.warning('`assets` failed to load dependency `webassets`.' - '`assets` plugin not loaded.') diff --git a/themes/rusted/static/css/_base.scss b/themes/rusted/static/css/_base.scss deleted file mode 100644 index 2adb4946..00000000 --- a/themes/rusted/static/css/_base.scss +++ /dev/null @@ -1,192 +0,0 @@ -/** - * Reset some basic elements - */ -body, h1, h2, h3, h4, h5, h6, -p, blockquote, pre, hr, -dl, dd, ol, ul, figure { - margin: 0; - padding: 0; -} - - - -/** - * Basic styling - */ -body { - font-family: $base-font-family; - font-size: $base-font-size; - line-height: $base-line-height; - font-weight: 300; - color: $text-color; - background-color: $background-color; -} - - - -/** - * Set `margin-bottom` to maintain vertycal rhythm - */ -h1, h2, h3, h4, h5, h6, -p, blockquote, pre, -ul, ol, dl, figure, -%vertical-rhythm { - margin-bottom: $spacing-unit / 2; -} - - - -/** - * Images - */ -img { - max-width: 100%; - vertical-align: middle; -} - - - -/** - * Figures - */ -figure > img { - display: block; -} - -figcaption { - font-size: $small-font-size; -} - - - -/** - * Lists - */ -ul, ol { - margin-left: $spacing-unit; -} - -li { - > ul, - > ol { - margin-bottom: 0; - } -} - - - -/** - * Headings - */ -h1, h2, h3, h4, h5, h6 { - font-weight: 300; -} - - - -/** - * Links - */ -a { - color: $brand-color; - text-decoration: none; - - &:visited { - color: darken($brand-color, 15%); - } - - &:hover { - color: $text-color; - text-decoration: underline; - } -} - - - -/** - * Blockquotes - */ -blockquote { - color: $grey-colour; - border-left: 4px solid $grey-colour-light; - padding-left: $spacing-unit / 2; - font-size: 18px; - letter-spacing: -1px; - font-style: italic; - - > :last-child { - margin-bottom: 0; - } -} - - - -/** - * Code formatting - */ -pre, -code { - font-size: 15px; - border: 1px solid $grey-colour-light; - border-radius: 3px; - background-color: #eef; -} - -code { - padding: 1px 5px; -} - -pre { - padding: 8px 12px; - overflow-x: scroll; - - > code { - border: 0; - padding-right: 0; - padding-left: 0; - } -} - - - -/** - * Wrapper - */ -.wrapper { - // don't use calc(), doesn't seem to work in minified CSS. - max-width: 800px - ($spacing-unit * 2); - margin-right: auto; - margin-left: auto; - padding-right: $spacing-unit; - padding-left: $spacing-unit; - @extend %clearfix; - - @include media-query($on-laptop) { - max-width: 800px - $spacing-unit; - padding-right: $spacing-unit / 2; - padding-left: $spacing-unit / 2; - } -} - - - -/** - * Clearfix - */ -%clearfix { - - &:after { - content: ""; - display: table; - clear: both; - } -} - - - -/** - * Text styling - */ -strong, b { - font-weight: bold; -} diff --git a/themes/rusted/static/css/_bootstrap-overrides.scss b/themes/rusted/static/css/_bootstrap-overrides.scss deleted file mode 100644 index 6bee3a9d..00000000 --- a/themes/rusted/static/css/_bootstrap-overrides.scss +++ /dev/null @@ -1,6 +0,0 @@ - -.btn-primary { - background-color: rgb(66, 139, 202); - border-color: rgb(53, 126, 189); - color: rgb(255, 255, 255); -} diff --git a/themes/rusted/static/css/_homepage.scss b/themes/rusted/static/css/_homepage.scss deleted file mode 100644 index 5fa0deb2..00000000 --- a/themes/rusted/static/css/_homepage.scss +++ /dev/null @@ -1,12 +0,0 @@ - -.pitch { - font-size: 46px; - font-style: italic; - line-height: 1.25; - margin-bottom: 40px; - margin-top: 36px; -} - -.subtext { - -} diff --git a/themes/rusted/static/css/_layout.scss b/themes/rusted/static/css/_layout.scss deleted file mode 100644 index 8148717e..00000000 --- a/themes/rusted/static/css/_layout.scss +++ /dev/null @@ -1,135 +0,0 @@ -/** - * Site header - */ -.site-header { - border-top: 5px solid $grey-colour-dark; - border-bottom: 1px solid $grey-colour-light; - min-height: 56px; - - // Positioning context for the mobile navigation icon - position: relative; -} - -.site-title { - font-size: 36px; - font-weight: bold; - line-height: 64px; - letter-spacing: -1px; - margin-bottom: 0; - - &, - &:visited { - color: $grey-colour-dark; - } -} - - -/** - * Site footer - */ -body > footer { - border-top: 1px solid $grey-colour-light; - padding: $spacing-unit 0; - margin-top: $spacing-unit; -} - - -/** - * Post list - */ - -.past-issues { - margin-top: 20px; - - li.nav-header h2 { - border-bottom: 1px solid $grey-colour-light; - } - - li { - line-height: 1.8; - } -} - -.time-prefix { - font-family: "Fira Mono", monospace; -} - -.post-title { - font-size: 20px; -} - - -/** - * Page content - */ -.page-content { - padding-top: $spacing-unit; -} - -.page-heading { - font-size: 20px; -} - -.post-list { - margin-left: 0; - list-style: none; - - > li { - margin-bottom: $spacing-unit; - } -} - -.post-meta { - font-size: $small-font-size; - color: $grey-colour; -} - -.post-link { - display: block; - font-size: 24px; -} - - - -/** - * Posts - */ - -.post { - margin-top: 32px; - border: 1px solid $grey-colour-light; - padding: 24px; - border-radius: 8px; -} - -.post-header { - margin-bottom: $spacing-unit; -} - -.post-content { - margin-bottom: $spacing-unit; - - h2 { - font-size: 32px; - - @include media-query($on-laptop) { - font-size: 28px; - } - } - - h3 { - font-size: 26px; - - @include media-query($on-laptop) { - font-size: 22px; - } - } - - h4 { - font-size: 20px; - - @include media-query($on-laptop) { - font-size: 18px; - } - } -} diff --git a/themes/rusted/static/css/main.scss b/themes/rusted/static/css/main.scss deleted file mode 100644 index 40e1ed3a..00000000 --- a/themes/rusted/static/css/main.scss +++ /dev/null @@ -1,46 +0,0 @@ -@charset "utf-8"; - - -// Our variables -$base-font-family: 'Fira Sans', "Helvetica Neue", Helvetica, Arial, sans-serif; -$base-font-size: 16px; -$small-font-size: $base-font-size * 0.875; -$base-line-height: 1.5; - -$spacing-unit: 30px; - -$text-color: #444; -$background-color: #fdfdfd; -$brand-color: #2a7ae2; - -$grey-colour: #828282; -$grey-colour-light: lighten($grey-colour, 40%); -$grey-colour-dark: darken($grey-colour, 25%); - -$on-palm: 600px; -$on-laptop: 800px; - - - -// Using media queries with like this: -// @include media-query($palm) { -// .wrapper { -// padding-right: $spacing-unit / 2; -// padding-left: $spacing-unit / 2; -// } -// } -@mixin media-query($device) { - @media screen and (max-width: $device) { - @content; - } -} - - - -// Import partials -@import - "bootstrap-overrides", - "base", - "layout", - "homepage" -; diff --git a/themes/rusted/templates/_post-title.html b/themes/rusted/templates/_post-title.html deleted file mode 100644 index 471135d2..00000000 --- a/themes/rusted/templates/_post-title.html +++ /dev/null @@ -1,10 +0,0 @@ -
-
- - - -
- -
diff --git a/themes/rusted/templates/_subscribe-form.html b/themes/rusted/templates/_subscribe-form.html deleted file mode 100644 index 9177ada0..00000000 --- a/themes/rusted/templates/_subscribe-form.html +++ /dev/null @@ -1,13 +0,0 @@ -
-
-
-
- - - - -
- Receive a weekly newsletter, every Monday. Easy to unsubscribe and no spam, promise. -
-
-
diff --git a/themes/rusted/templates/archives.html b/themes/rusted/templates/archives.html deleted file mode 100644 index 17ebfb1a..00000000 --- a/themes/rusted/templates/archives.html +++ /dev/null @@ -1,16 +0,0 @@ -{% extends "base.html" %} - -{% block content %} -
-
-
    - - {% for article in articles %} -
  • - {% include "_post-title.html" %} -
  • - {% endfor %} -
-
-
-{% endblock content %} diff --git a/themes/rusted/templates/article.html b/themes/rusted/templates/article.html deleted file mode 100644 index 416f91b9..00000000 --- a/themes/rusted/templates/article.html +++ /dev/null @@ -1,37 +0,0 @@ -{% extends "base.html" %} - -{% block title %} -{{ article.title }} {%if article.subtitle %} - {{ article.subtitle }} {% endif %} · {{ super() }} -{% endblock title %} - -{% block head_description %} -{% if article.summary %} -{{ article.summary|striptags }} -{% endif %} -{% endblock head_description %} - -{% block meta_tags_in_head %} -{% if article.tags or article.category or article.keywords %} - -{% endif %} -{% endblock meta_tags_in_head %} - -{% block content %} - -
-

Like what you see? Subscribe!

-
- -{% include "_subscribe-form.html" %} - -
-
- {% include "_post-title.html" %} -
- -
- {{ article.content }} -
- -
-{% endblock content %} diff --git a/themes/rusted/templates/base.html b/themes/rusted/templates/base.html deleted file mode 100644 index a8f56063..00000000 --- a/themes/rusted/templates/base.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - {% if article and article.author %} - - - {% elif page and page.author %} - - - {% else %} - - - {% endif %} - - {% if SITE_DESCRIPTION %} - - {% endif %} - - {% block meta_tags_in_head %} - {% endblock meta_tags_in_head %} - - {% block title %}{{ SITENAME|striptags }}{% endblock title %} - - {% block head_links %} - {% endblock head_links %} - - - - - - {% assets filters="scss,cssmin", output="css/web-min.css", "css/main.scss" %} - - {% endassets %} - - - - -
-
- {% block content %} - {% endblock content %} -
-
- - - - diff --git a/themes/rusted/templates/index.html b/themes/rusted/templates/index.html deleted file mode 100644 index 43fa4609..00000000 --- a/themes/rusted/templates/index.html +++ /dev/null @@ -1,31 +0,0 @@ -{% extends "base.html" %} - -{% block content %} -
-
-

Handpicked Rust updates,
delivered to your inbox.

-

Stay up to date with events, learning resources, and recent developments in Rust community.

-
-
-{% include "_subscribe-form.html" %} -
-
-
    - - {% for article in articles %} - {% if not RECENT_ARTICLES_COUNT %} - {% set RECENT_ARTICLES_COUNT = 5 %} - {% endif %} - {% if loop.index0 < RECENT_ARTICLES_COUNT %} -
  • - {% include "_post-title.html" %} -
  • - {% endif %} - {% endfor %} -
  • - View more → -
  • -
-
-
-{% endblock content %} diff --git a/themes/rusted/templates/page.html b/themes/rusted/templates/page.html deleted file mode 100644 index a4f21f4b..00000000 --- a/themes/rusted/templates/page.html +++ /dev/null @@ -1,31 +0,0 @@ -{% extends "base.html" %} - -{% block title %} -{{ page.title }} {%if page.subtitle %} - {{ page.subtitle }} {% endif %} · {{ super() }} -{% endblock title %} - -{% block head_description %} -{% if page.summary %} -{{ article.summary|striptags }} -{% endif %} -{% endblock head_description %} - -{% block meta_tags_in_head %} -{% if page.tags or page.category or page.keywords %} - -{% endif %} -{% endblock meta_tags_in_head %} - -{% block content %} - -
-
-

{{ page.title }}

-
- -
- {{ page.content }} -
- -
-{% endblock content %} From 0cd857977dc82e304d1c3e0c88e472232e231cf1 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 31 Jul 2015 11:41:22 -0700 Subject: [PATCH 67/80] Fix Paris date --- content/2015-07-27-this-week-in-rust.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2015-07-27-this-week-in-rust.md b/content/2015-07-27-this-week-in-rust.md index 03a72964..26988ad7 100644 --- a/content/2015-07-27-this-week-in-rust.md +++ b/content/2015-07-27-this-week-in-rust.md @@ -141,7 +141,7 @@ decision. Express your opinions now. [This week's FCPs][fcp] are: * [8/5. Montreal](http://www.meetup.com/Montreal-Rust-Language-Meetup/events/224148410/) * [8/10. Seattle](https://www.eventbrite.com/e/mozilla-rust-seattle-meetup-tickets-12222326307?aff=erelexporg) * [8/11. San Diego](http://www.meetup.com/San-Diego-Rust/events/223766853/) -* [8/17. Paris](http://www.meetup.com/Rust-Paris) +* [8/31. Paris](http://www.meetup.com/Rust-Paris) If you are running a Rust event please add it to the [calendar] to get it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian From af25d61f093146b0a852c2156573e3a0067b4720 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 31 Jul 2015 11:41:49 -0700 Subject: [PATCH 68/80] Revert "Revert "Merge pull request #66 from webstream-io/rusty-makeover"" This reverts commit b11ae4d9a0ef9e122ae807e403d40785c4b6a3d6. --- .gitignore | 3 +- content/pages/privacy-policy.md | 80 ++++++++ pelicanconf.py | 5 +- plugins/assets/Readme.rst | 106 ++++++++++ plugins/assets/__init__.py | 1 + plugins/assets/assets.py | 72 +++++++ themes/rusted/static/css/_base.scss | 192 ++++++++++++++++++ .../static/css/_bootstrap-overrides.scss | 6 + themes/rusted/static/css/_homepage.scss | 12 ++ themes/rusted/static/css/_layout.scss | 135 ++++++++++++ themes/rusted/static/css/main.scss | 46 +++++ themes/rusted/templates/_post-title.html | 10 + themes/rusted/templates/_subscribe-form.html | 13 ++ themes/rusted/templates/archives.html | 16 ++ themes/rusted/templates/article.html | 37 ++++ themes/rusted/templates/base.html | 78 +++++++ themes/rusted/templates/index.html | 31 +++ themes/rusted/templates/page.html | 31 +++ 18 files changed, 872 insertions(+), 2 deletions(-) create mode 100644 content/pages/privacy-policy.md create mode 100644 plugins/assets/Readme.rst create mode 100644 plugins/assets/__init__.py create mode 100644 plugins/assets/assets.py create mode 100644 themes/rusted/static/css/_base.scss create mode 100644 themes/rusted/static/css/_bootstrap-overrides.scss create mode 100644 themes/rusted/static/css/_homepage.scss create mode 100644 themes/rusted/static/css/_layout.scss create mode 100644 themes/rusted/static/css/main.scss create mode 100644 themes/rusted/templates/_post-title.html create mode 100644 themes/rusted/templates/_subscribe-form.html create mode 100644 themes/rusted/templates/archives.html create mode 100644 themes/rusted/templates/article.html create mode 100644 themes/rusted/templates/base.html create mode 100644 themes/rusted/templates/index.html create mode 100644 themes/rusted/templates/page.html diff --git a/.gitignore b/.gitignore index 514d1efe..d462c2f1 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ lib include output *~ -cache \ No newline at end of file +cache +.sass-cache \ No newline at end of file diff --git a/content/pages/privacy-policy.md b/content/pages/privacy-policy.md new file mode 100644 index 00000000..7038bb16 --- /dev/null +++ b/content/pages/privacy-policy.md @@ -0,0 +1,80 @@ +Title: Privacy Policy +Date: 2015-07-08 + +Last updated: 8 July, 2015 + +TWiR team ("us", "we", or "our") operates the This Week in Rust website (the "Service"). + +This page informs you of our policies regarding the collection, use and disclosure of Personal Information when you use our Service. + +We will not use or share your information with anyone except as described in this Privacy Policy. + +We use your Personal Information for providing and improving the Service. By using the Service, you agree to the collection and use of information in accordance with this policy. + +## Information Collection And Use + +While using our Service, we may ask you to provide us with certain personally identifiable information that can be used to contact or identify you. Personally identifiable information may include, but is not limited to, your email address ("Personal Information"). + +We collect this information for the purpose of providing the Service, identifying and communicating with you, responding to your requests/enquiries, and improving our services. + +## Log Data + +We collect information that your browser sends whenever you visit our Service ("Log Data"). This Log Data may include information such as your computer's Internet Protocol ("IP") address, browser type, browser version, the pages of our Service that you visit, the time and date of your visit, the time spent on those pages and other statistics. + +## Cookies + +Cookies are files with a small amount of data, which may include an anonymous unique identifier. Cookies are sent to your browser from a web site and transferred to your device. We use cookies to collect information in order to improve our services for you. + +You can instruct your browser to refuse all cookies or to indicate when a cookie is being sent. The Help feature on most browsers provide information on how to accept cookies, disable cookies or to notify you when receiving a new cookie. + +If you do not accept cookies, you may not be able to use some features of our Service and we recommend that you leave them turned on. + +## Do Not Track Disclosure + +We support Do Not Track ("DNT"). Do Not Track is a preference you can set in your web browser to inform websites that you do not want to be tracked. + +You can enable or disable Do Not Track by visiting the Preferences or Settings page of your web browser. + +## Service Providers + +We may employ third party companies and individuals to facilitate our Service, to provide the Service on our behalf, to perform Service-related services and/or to assist us in analyzing how our Service is used. + +These third parties have access to your Personal Information only to perform specific tasks on our behalf and are obligated not to disclose or use your information for any other purpose. + +Following third-party services have access to your Personal Information: MailChimp. + +In future, if we employ any additional third-party services that may access your Personal Information, we'll reflect that information in third-party services list above by updating this Privacy Policy. + +## Communications + +We may use your Personal Information to contact you with newsletters, marketing or promotional materials and other information that may be of interest to you. You may opt out of receiving any, or all, of these communications from us by following the unsubscribe link or instructions provided in any email we send. + +## Compliance With Laws + +We will disclose your Personal Information where required to do so by law or subpoena or if we believe that such action is necessary to comply with the law and the reasonable requests of law enforcement or to protect the security or integrity of our Service. + +## Security + +The security of your Personal Information is important to us, and we strive to implement and maintain reasonable, commercially acceptable security procedures and practices appropriate to the nature of the information we store, in order to protect it from unauthorized access, destruction, use, modification, or disclosure. + +However, please be aware that no method of transmission over the Internet, or method of electronic storage is 100% secure and we are unable to guarantee the absolute security of the Personal Information we have collected from you. + +## International Transfer + +Your information, including Personal Information, may be transferred to — and maintained on — computers located outside of your state, province, country or other governmental jurisdiction where the data protection laws may differ than those from your jurisdiction. + +Your consent to this Privacy Policy followed by your submission of such information represents your agreement to that transfer. + +## Links To Other Sites + +Our Service may contain links to other sites that are not operated by us. If you click on a third party link, you will be directed to that third party's site. We strongly advise you to review the Privacy Policy of every site you visit. + +We have no control over, and assume no responsibility for the content, privacy policies or practices of any third party sites or services. + +## Changes To This Privacy Policy + +This Privacy Policy is effective as of 8 July, 2015 and will remain in effect except with respect to any changes in its provisions in the future, which will be in effect immediately after being posted on this page. + +We reserve the right to update or change our Privacy Policy at any time and you should check this Privacy Policy periodically. Your continued use of the Service after we post any modifications to the Privacy Policy on this page will constitute your acknowledgment of the modifications and your consent to abide and be bound by the modified Privacy Policy. + +If we make any material changes to this Privacy Policy, we will notify you either through the email address you have provided us, or by placing a prominent notice on our website. diff --git a/pelicanconf.py b/pelicanconf.py index 4acba8bf..d308ab29 100644 --- a/pelicanconf.py +++ b/pelicanconf.py @@ -8,7 +8,10 @@ SITEURL = 'http://this-week-in-rust.org/staging' SOURCE_URL = 'https://github.com/cmr/this-week-in-rust' -THEME = 'pelican-elegant-1.3' +THEME = 'themes/rusted' + +PLUGIN_PATHS = ["plugins"] +PLUGINS = ['assets'] TIMEZONE = 'America/New_York' diff --git a/plugins/assets/Readme.rst b/plugins/assets/Readme.rst new file mode 100644 index 00000000..ae18044e --- /dev/null +++ b/plugins/assets/Readme.rst @@ -0,0 +1,106 @@ +Asset management +---------------- + +This plugin allows you to use the `Webassets`_ module to manage assets such as +CSS and JS files. The module must first be installed:: + + pip install webassets + +The Webassets module allows you to perform a number of useful asset management +functions, including: + +* CSS minifier (``cssmin``, ``yui_css``, ...) +* CSS compiler (``less``, ``sass``, ...) +* JS minifier (``uglifyjs``, ``yui_js``, ``closure``, ...) + +Others filters include CSS URL rewriting, integration of images in CSS via data +URIs, and more. Webassets can also append a version identifier to your asset +URL to convince browsers to download new versions of your assets when you use +far-future expires headers. Please refer to the `Webassets documentation`_ for +more information. + +When used with Pelican, Webassets is configured to process assets in the +``OUTPUT_PATH/theme`` directory. You can use Webassets in your templates by +including one or more template tags. The Jinja variable ``{{ ASSET_URL }}`` can +be used in templates and is relative to the ``theme/`` url. The +``{{ ASSET_URL }}`` variable should be used in conjunction with the +``{{ SITEURL }}`` variable in order to generate URLs properly. For example: + +.. code-block:: jinja + + {% assets filters="cssmin", output="css/style.min.css", "css/inuit.css", "css/pygment-monokai.css", "css/main.css" %} + + {% endassets %} + +... will produce a minified css file with a version identifier that looks like: + +.. code-block:: html + + + +These filters can be combined. Here is an example that uses the SASS compiler +and minifies the output: + +.. code-block:: jinja + + {% assets filters="sass,cssmin", output="css/style.min.css", "css/style.scss" %} + + {% endassets %} + +Another example for Javascript: + +.. code-block:: jinja + + {% assets filters="uglifyjs", output="js/packed.js", "js/jquery.js", "js/base.js", "js/widgets.js" %} + + {% endassets %} + +The above will produce a minified JS file: + +.. code-block:: html + + + +Pelican's debug mode is propagated to Webassets to disable asset packaging +and instead work with the uncompressed assets. + +If you need to create named bundles (for example, if you need to compile SASS +files before minifying with other CSS files), you can use the ``ASSET_BUNDLES`` +variable in your settings file. This is an ordered sequence of 3-tuples, where +the 3-tuple is defined as ``(name, args, kwargs)``. This tuple is passed to the +`environment's register() method`_. The following will compile two SCSS files +into a named bundle, using the ``pyscss`` filter: + +.. code-block:: python + + ASSET_BUNDLES = ( + ('scss', ['colors.scss', 'main.scss'], {'filters': 'pyscss'}), + ) + +Many of Webasset's available compilers have additional configuration options +(i.e. 'Less', 'Sass', 'Stylus', 'Closure_js'). You can pass these options to +Webassets using the ``ASSET_CONFIG`` in your settings file. + +The following will handle Google Closure's compilation level and locate +LessCSS's binary: + +.. code-block:: python + + ASSET_CONFIG = (('closure_compressor_optimization', 'WHITESPACE_ONLY'), + ('less_bin', 'lessc.cmd'), ) + +If you wish to place your assets in locations other than the theme output +directory, you can use ``ASSET_SOURCE_PATHS`` in your settings file to provide +webassets with a list of additional directories to search, relative to the +theme's top-level directory: + +.. code-block:: python + + ASSET_SOURCE_PATHS = ( + 'vendor/css', + 'scss', + ) + +.. _Webassets: https://github.com/miracle2k/webassets +.. _Webassets documentation: http://webassets.readthedocs.org/en/latest/builtin_filters.html +.. _environment's register() method: http://webassets.readthedocs.org/en/latest/environment.html#registering-bundles diff --git a/plugins/assets/__init__.py b/plugins/assets/__init__.py new file mode 100644 index 00000000..67b75dd5 --- /dev/null +++ b/plugins/assets/__init__.py @@ -0,0 +1 @@ +from .assets import * diff --git a/plugins/assets/assets.py b/plugins/assets/assets.py new file mode 100644 index 00000000..6dfb54f5 --- /dev/null +++ b/plugins/assets/assets.py @@ -0,0 +1,72 @@ +# -*- coding: utf-8 -*- +""" +Asset management plugin for Pelican +=================================== + +This plugin allows you to use the `webassets`_ module to manage assets such as +CSS and JS files. + +The ASSET_URL is set to a relative url to honor Pelican's RELATIVE_URLS +setting. This requires the use of SITEURL in the templates:: + + + +.. _webassets: https://webassets.readthedocs.org/ + +""" +from __future__ import unicode_literals + +import os +import logging + +from pelican import signals +logger = logging.getLogger(__name__) + +try: + import webassets + from webassets import Environment + from webassets.ext.jinja2 import AssetsExtension +except ImportError: + webassets = None + +def add_jinja2_ext(pelican): + """Add Webassets to Jinja2 extensions in Pelican settings.""" + + pelican.settings['JINJA_EXTENSIONS'].append(AssetsExtension) + + +def create_assets_env(generator): + """Define the assets environment and pass it to the generator.""" + + theme_static_dir = generator.settings['THEME_STATIC_DIR'] + assets_destination = os.path.join(generator.output_path, theme_static_dir) + generator.env.assets_environment = Environment( + assets_destination, theme_static_dir) + + if 'ASSET_CONFIG' in generator.settings: + for item in generator.settings['ASSET_CONFIG']: + generator.env.assets_environment.config[item[0]] = item[1] + + if 'ASSET_BUNDLES' in generator.settings: + for name, args, kwargs in generator.settings['ASSET_BUNDLES']: + generator.env.assets_environment.register(name, *args, **kwargs) + + if 'ASSET_DEBUG' in generator.settings: + generator.env.assets_environment.debug = generator.settings['ASSET_DEBUG'] + elif logging.getLevelName(logger.getEffectiveLevel()) == "DEBUG": + generator.env.assets_environment.debug = True + + for path in (generator.settings['THEME_STATIC_PATHS'] + + generator.settings.get('ASSET_SOURCE_PATHS', [])): + full_path = os.path.join(generator.theme, path) + generator.env.assets_environment.append_path(full_path) + + +def register(): + """Plugin registration.""" + if webassets: + signals.initialized.connect(add_jinja2_ext) + signals.generator_init.connect(create_assets_env) + else: + logger.warning('`assets` failed to load dependency `webassets`.' + '`assets` plugin not loaded.') diff --git a/themes/rusted/static/css/_base.scss b/themes/rusted/static/css/_base.scss new file mode 100644 index 00000000..2adb4946 --- /dev/null +++ b/themes/rusted/static/css/_base.scss @@ -0,0 +1,192 @@ +/** + * Reset some basic elements + */ +body, h1, h2, h3, h4, h5, h6, +p, blockquote, pre, hr, +dl, dd, ol, ul, figure { + margin: 0; + padding: 0; +} + + + +/** + * Basic styling + */ +body { + font-family: $base-font-family; + font-size: $base-font-size; + line-height: $base-line-height; + font-weight: 300; + color: $text-color; + background-color: $background-color; +} + + + +/** + * Set `margin-bottom` to maintain vertycal rhythm + */ +h1, h2, h3, h4, h5, h6, +p, blockquote, pre, +ul, ol, dl, figure, +%vertical-rhythm { + margin-bottom: $spacing-unit / 2; +} + + + +/** + * Images + */ +img { + max-width: 100%; + vertical-align: middle; +} + + + +/** + * Figures + */ +figure > img { + display: block; +} + +figcaption { + font-size: $small-font-size; +} + + + +/** + * Lists + */ +ul, ol { + margin-left: $spacing-unit; +} + +li { + > ul, + > ol { + margin-bottom: 0; + } +} + + + +/** + * Headings + */ +h1, h2, h3, h4, h5, h6 { + font-weight: 300; +} + + + +/** + * Links + */ +a { + color: $brand-color; + text-decoration: none; + + &:visited { + color: darken($brand-color, 15%); + } + + &:hover { + color: $text-color; + text-decoration: underline; + } +} + + + +/** + * Blockquotes + */ +blockquote { + color: $grey-colour; + border-left: 4px solid $grey-colour-light; + padding-left: $spacing-unit / 2; + font-size: 18px; + letter-spacing: -1px; + font-style: italic; + + > :last-child { + margin-bottom: 0; + } +} + + + +/** + * Code formatting + */ +pre, +code { + font-size: 15px; + border: 1px solid $grey-colour-light; + border-radius: 3px; + background-color: #eef; +} + +code { + padding: 1px 5px; +} + +pre { + padding: 8px 12px; + overflow-x: scroll; + + > code { + border: 0; + padding-right: 0; + padding-left: 0; + } +} + + + +/** + * Wrapper + */ +.wrapper { + // don't use calc(), doesn't seem to work in minified CSS. + max-width: 800px - ($spacing-unit * 2); + margin-right: auto; + margin-left: auto; + padding-right: $spacing-unit; + padding-left: $spacing-unit; + @extend %clearfix; + + @include media-query($on-laptop) { + max-width: 800px - $spacing-unit; + padding-right: $spacing-unit / 2; + padding-left: $spacing-unit / 2; + } +} + + + +/** + * Clearfix + */ +%clearfix { + + &:after { + content: ""; + display: table; + clear: both; + } +} + + + +/** + * Text styling + */ +strong, b { + font-weight: bold; +} diff --git a/themes/rusted/static/css/_bootstrap-overrides.scss b/themes/rusted/static/css/_bootstrap-overrides.scss new file mode 100644 index 00000000..6bee3a9d --- /dev/null +++ b/themes/rusted/static/css/_bootstrap-overrides.scss @@ -0,0 +1,6 @@ + +.btn-primary { + background-color: rgb(66, 139, 202); + border-color: rgb(53, 126, 189); + color: rgb(255, 255, 255); +} diff --git a/themes/rusted/static/css/_homepage.scss b/themes/rusted/static/css/_homepage.scss new file mode 100644 index 00000000..5fa0deb2 --- /dev/null +++ b/themes/rusted/static/css/_homepage.scss @@ -0,0 +1,12 @@ + +.pitch { + font-size: 46px; + font-style: italic; + line-height: 1.25; + margin-bottom: 40px; + margin-top: 36px; +} + +.subtext { + +} diff --git a/themes/rusted/static/css/_layout.scss b/themes/rusted/static/css/_layout.scss new file mode 100644 index 00000000..8148717e --- /dev/null +++ b/themes/rusted/static/css/_layout.scss @@ -0,0 +1,135 @@ +/** + * Site header + */ +.site-header { + border-top: 5px solid $grey-colour-dark; + border-bottom: 1px solid $grey-colour-light; + min-height: 56px; + + // Positioning context for the mobile navigation icon + position: relative; +} + +.site-title { + font-size: 36px; + font-weight: bold; + line-height: 64px; + letter-spacing: -1px; + margin-bottom: 0; + + &, + &:visited { + color: $grey-colour-dark; + } +} + + +/** + * Site footer + */ +body > footer { + border-top: 1px solid $grey-colour-light; + padding: $spacing-unit 0; + margin-top: $spacing-unit; +} + + +/** + * Post list + */ + +.past-issues { + margin-top: 20px; + + li.nav-header h2 { + border-bottom: 1px solid $grey-colour-light; + } + + li { + line-height: 1.8; + } +} + +.time-prefix { + font-family: "Fira Mono", monospace; +} + +.post-title { + font-size: 20px; +} + + +/** + * Page content + */ +.page-content { + padding-top: $spacing-unit; +} + +.page-heading { + font-size: 20px; +} + +.post-list { + margin-left: 0; + list-style: none; + + > li { + margin-bottom: $spacing-unit; + } +} + +.post-meta { + font-size: $small-font-size; + color: $grey-colour; +} + +.post-link { + display: block; + font-size: 24px; +} + + + +/** + * Posts + */ + +.post { + margin-top: 32px; + border: 1px solid $grey-colour-light; + padding: 24px; + border-radius: 8px; +} + +.post-header { + margin-bottom: $spacing-unit; +} + +.post-content { + margin-bottom: $spacing-unit; + + h2 { + font-size: 32px; + + @include media-query($on-laptop) { + font-size: 28px; + } + } + + h3 { + font-size: 26px; + + @include media-query($on-laptop) { + font-size: 22px; + } + } + + h4 { + font-size: 20px; + + @include media-query($on-laptop) { + font-size: 18px; + } + } +} diff --git a/themes/rusted/static/css/main.scss b/themes/rusted/static/css/main.scss new file mode 100644 index 00000000..40e1ed3a --- /dev/null +++ b/themes/rusted/static/css/main.scss @@ -0,0 +1,46 @@ +@charset "utf-8"; + + +// Our variables +$base-font-family: 'Fira Sans', "Helvetica Neue", Helvetica, Arial, sans-serif; +$base-font-size: 16px; +$small-font-size: $base-font-size * 0.875; +$base-line-height: 1.5; + +$spacing-unit: 30px; + +$text-color: #444; +$background-color: #fdfdfd; +$brand-color: #2a7ae2; + +$grey-colour: #828282; +$grey-colour-light: lighten($grey-colour, 40%); +$grey-colour-dark: darken($grey-colour, 25%); + +$on-palm: 600px; +$on-laptop: 800px; + + + +// Using media queries with like this: +// @include media-query($palm) { +// .wrapper { +// padding-right: $spacing-unit / 2; +// padding-left: $spacing-unit / 2; +// } +// } +@mixin media-query($device) { + @media screen and (max-width: $device) { + @content; + } +} + + + +// Import partials +@import + "bootstrap-overrides", + "base", + "layout", + "homepage" +; diff --git a/themes/rusted/templates/_post-title.html b/themes/rusted/templates/_post-title.html new file mode 100644 index 00000000..471135d2 --- /dev/null +++ b/themes/rusted/templates/_post-title.html @@ -0,0 +1,10 @@ +
+
+ + + +
+ +
diff --git a/themes/rusted/templates/_subscribe-form.html b/themes/rusted/templates/_subscribe-form.html new file mode 100644 index 00000000..9177ada0 --- /dev/null +++ b/themes/rusted/templates/_subscribe-form.html @@ -0,0 +1,13 @@ +
+
+
+
+ + + + +
+ Receive a weekly newsletter, every Monday. Easy to unsubscribe and no spam, promise. +
+
+
diff --git a/themes/rusted/templates/archives.html b/themes/rusted/templates/archives.html new file mode 100644 index 00000000..17ebfb1a --- /dev/null +++ b/themes/rusted/templates/archives.html @@ -0,0 +1,16 @@ +{% extends "base.html" %} + +{% block content %} +
+
+
    + + {% for article in articles %} +
  • + {% include "_post-title.html" %} +
  • + {% endfor %} +
+
+
+{% endblock content %} diff --git a/themes/rusted/templates/article.html b/themes/rusted/templates/article.html new file mode 100644 index 00000000..416f91b9 --- /dev/null +++ b/themes/rusted/templates/article.html @@ -0,0 +1,37 @@ +{% extends "base.html" %} + +{% block title %} +{{ article.title }} {%if article.subtitle %} - {{ article.subtitle }} {% endif %} · {{ super() }} +{% endblock title %} + +{% block head_description %} +{% if article.summary %} +{{ article.summary|striptags }} +{% endif %} +{% endblock head_description %} + +{% block meta_tags_in_head %} +{% if article.tags or article.category or article.keywords %} + +{% endif %} +{% endblock meta_tags_in_head %} + +{% block content %} + +
+

Like what you see? Subscribe!

+
+ +{% include "_subscribe-form.html" %} + +
+
+ {% include "_post-title.html" %} +
+ +
+ {{ article.content }} +
+ +
+{% endblock content %} diff --git a/themes/rusted/templates/base.html b/themes/rusted/templates/base.html new file mode 100644 index 00000000..a8f56063 --- /dev/null +++ b/themes/rusted/templates/base.html @@ -0,0 +1,78 @@ + + + + + + + + {% if article and article.author %} + + + {% elif page and page.author %} + + + {% else %} + + + {% endif %} + + {% if SITE_DESCRIPTION %} + + {% endif %} + + {% block meta_tags_in_head %} + {% endblock meta_tags_in_head %} + + {% block title %}{{ SITENAME|striptags }}{% endblock title %} + + {% block head_links %} + {% endblock head_links %} + + + + + + {% assets filters="scss,cssmin", output="css/web-min.css", "css/main.scss" %} + + {% endassets %} + + + + +
+
+ {% block content %} + {% endblock content %} +
+
+ + + + diff --git a/themes/rusted/templates/index.html b/themes/rusted/templates/index.html new file mode 100644 index 00000000..43fa4609 --- /dev/null +++ b/themes/rusted/templates/index.html @@ -0,0 +1,31 @@ +{% extends "base.html" %} + +{% block content %} +
+
+

Handpicked Rust updates,
delivered to your inbox.

+

Stay up to date with events, learning resources, and recent developments in Rust community.

+
+
+{% include "_subscribe-form.html" %} +
+
+
    + + {% for article in articles %} + {% if not RECENT_ARTICLES_COUNT %} + {% set RECENT_ARTICLES_COUNT = 5 %} + {% endif %} + {% if loop.index0 < RECENT_ARTICLES_COUNT %} +
  • + {% include "_post-title.html" %} +
  • + {% endif %} + {% endfor %} +
  • + View more → +
  • +
+
+
+{% endblock content %} diff --git a/themes/rusted/templates/page.html b/themes/rusted/templates/page.html new file mode 100644 index 00000000..a4f21f4b --- /dev/null +++ b/themes/rusted/templates/page.html @@ -0,0 +1,31 @@ +{% extends "base.html" %} + +{% block title %} +{{ page.title }} {%if page.subtitle %} - {{ page.subtitle }} {% endif %} · {{ super() }} +{% endblock title %} + +{% block head_description %} +{% if page.summary %} +{{ article.summary|striptags }} +{% endif %} +{% endblock head_description %} + +{% block meta_tags_in_head %} +{% if page.tags or page.category or page.keywords %} + +{% endif %} +{% endblock meta_tags_in_head %} + +{% block content %} + +
+
+

{{ page.title }}

+
+ +
+ {{ page.content }} +
+ +
+{% endblock content %} From 4e2bb21617004472d69609fb4b3df4465e87331c Mon Sep 17 00:00:00 2001 From: Vikrant Chaudhary Date: Mon, 3 Aug 2015 21:50:57 +0530 Subject: [PATCH 69/80] TWiR release 90 (3 August 2015) --- content/2015-08-03-this-week-in-rust.md | 131 ++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 content/2015-08-03-this-week-in-rust.md diff --git a/content/2015-08-03-this-week-in-rust.md b/content/2015-08-03-this-week-in-rust.md new file mode 100644 index 00000000..4c7a8cc9 --- /dev/null +++ b/content/2015-08-03-this-week-in-rust.md @@ -0,0 +1,131 @@ +Title: This Week in Rust 90 +Date: 2015-08-03 +Category: This Week in Rust + +Hello and welcome to another issue of *This Week in Rust*! +[Rust](http://rust-lang.org) is a systems language pursuing the trifecta: +safety, concurrency, and speed. This is a weekly summary of its progress and +community. Want something mentioned? Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) or [send us an +email](mailto:corey@octayn.net?subject=This%20Week%20in%20Rust%20Suggestion)! +Want to get involved? [We love +contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contributors). + +*This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). +If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). + +# From the Blogosphere + +* [A Rusting Rubyist IV](https://medium.com/@mfpiccolo/a-rusting-rubyist-iv-b1d32802944b). Rust Structs and Arrays in Ruby. +* [Rust's Built-in Traits, the When, How & Why](https://llogiq.github.io/2015/07/30/traits.html). +* [Type-checked matrix operations in Rust](https://jadpole.github.io/rust/typechecked-matrix/). +* [Visualizing Rust's type-system](https://jadpole.github.io/rust/type-system/). +* [A web app with Nickel: From first line to Heroku deployment](http://blog.thoughtram.io/rust/2015/07/29/a-web-app-with-nickel-from-first-line-to-heroku-deployment.html). +* [Why you should take a closer look at Rust 1.0](https://jaxenter.com/why-you-should-take-a-closer-look-at-rust-1-0-119191.html). +* [My First PR for the Rust compiler](https://nashenas88.github.io/posts/my-first-pr-for-the-rust-compiler/). +* [book] [The Advanced Rust Programming Language](https://doc.rust-lang.org/nightly/adv-book/). +* [Abstracted Algebra in Rust, part I](http://maniagnosis.crsr.net/2015/07/abstracted-algebra-in-rust.html) and [part II](http://maniagnosis.crsr.net/2015/07/more-abstracted-algebra-in-rust.html). + +# New Releases & Project Updates + +* [Racer is now at v1.0](http://phildawes.net/blog/2015/07/29/racerv1/) +* [Raft implementation is ready to start experimenting with](http://hoverbear.org/2015/08/01/raft-examples/). +* [annotated-std-rs](https://github.com/brson/annotated-std-rs). An annotation of the Rust standard library. +* [rust-syslog](https://github.com/Geal/rust-syslog). Send syslog messages from Rust. +* [unrar.rs](https://github.com/muja/unrar.rs). Rust library for extracting, listing and testing RAR archives. +* [msgpack-rust](https://github.com/3Hren/msgpack-rust). MessagePack implementation for Rust. + +# Slides and talks from RustCamp! + +*some intro here* + +* [pdf] [Making tools for Rust](https://dl.dropboxusercontent.com/u/74741329/rust-tools.pdf) by [Nick Cameron](http://www.ncameron.org/). +* [pdf] [Mio: Fast Async IO for Rust](https://www.dropbox.com/s/fzf7tiukacyft3b/Rustcamp%20-%20Mio.pdf) by [Carl Lerche](https://twitter.com/carllerche). +* [slides] [OMG ITERATORS](http://cglab.ca/~abeinges/talks/iter/) by [Alexis Beingessner](https://twitter.com/gankro). + +# What's cooking on nightly? + +XXX pull requests were [merged in the last week][merged]. + +[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-05-18..2015-06-07 + +# New Contributors + + + +# Approved RFCs + +Changes to Rust follow the Rust [RFC (request for comments) +process](https://github.com/rust-lang/rfcs#rust-rfcs). These +are the RFCs that were approved for implementation this week: + + +# Final Comment Period + +Every week [the team](https://rust-lang.org/team.html) announces the +'final comment period' for RFCs and key PRs which are reaching a +decision. Express your opinions now. [This week's FCPs][fcp] are: + +[fcp]: https://github.com/issues?utf8=%E2%9C%93&q=is%3Apr+org%3Arust-lang+label%3Afinal-comment-period+is%3Aopen+updated%3A2015-07-06..2015-07-13 + +* TODO + +# New RFCs + + +# Friend of the Tree + +[The Rust Team](http://www.rust-lang.org/team.html) likes to +occassionally recognize people who have made +outstanding contributions to The Rust Project, its ecosystem, and its +community. These people are 'friends of the tree'. + +[This week's friend of the tree](TODO) was ... + + +# Subteam reports + +Every week [The Rust Team](http://www.rust-lang.org/team.html) release +a report on what is going on in their corner of the project. Here are +the highlights from [this week's report](TODO). + +* TODO + +# Internals discussions + +# Crate of the Week + +There are so many crates! It's easy to lose track of the good ones, +like [THING]. + +THING is a ... + + +# Upcoming Events + +* [What?] + +If you are running a Rust event please add it to the [calendar] to get +it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian +Anderson][brson] for access. + +[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com +[erickt]: mailto:erick.tryzelaar@gmail.com +[brson]: mailto:banderson@mozilla.com + +# fn work(on: RustProject) -> Money + +There are some jobs writing Rust! This week's listings: + +* TODO + +(Don't forget to re-list last-week's). + +# Quote of the Week + +*"Quote"* + +Explanation and link. + +Thanks to XXX for the tip. [Submit your quotes for next week!][submit]. + +[submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328 From 36d7834994f4dcb192ac53dc107572c2e30e34fa Mon Sep 17 00:00:00 2001 From: Vikrant Chaudhary Date: Mon, 3 Aug 2015 22:23:57 +0530 Subject: [PATCH 70/80] Added Final Comment Period --- content/2015-08-03-this-week-in-rust.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/content/2015-08-03-this-week-in-rust.md b/content/2015-08-03-this-week-in-rust.md index 4c7a8cc9..0c69e453 100644 --- a/content/2015-08-03-this-week-in-rust.md +++ b/content/2015-08-03-this-week-in-rust.md @@ -65,9 +65,18 @@ Every week [the team](https://rust-lang.org/team.html) announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now. [This week's FCPs][fcp] are: -[fcp]: https://github.com/issues?utf8=%E2%9C%93&q=is%3Apr+org%3Arust-lang+label%3Afinal-comment-period+is%3Aopen+updated%3A2015-07-06..2015-07-13 +[fcp]: https://github.com/issues?utf8=%E2%9C%93&q=is%3Apr+org%3Arust-lang+label%3Afinal-comment-period+is%3Aopen+updated%3A2015-07-27..2015-07-03 -* TODO +* [Allow renaming imports when importing a group of symbols from a module.](https://github.com/rust-lang/rfcs/pull/1219). +* [Clarify rules for projections and well-formedness](https://github.com/rust-lang/rfcs/pull/1214). +* [Introduce a mid-level IR (MIR) in the compiler](https://github.com/rust-lang/rfcs/pull/1211). +* [Update FOLLOW set for `ty` tokens](https://github.com/rust-lang/rfcs/pull/1209). +* [Add `cargo install`](https://github.com/rust-lang/rfcs/pull/1200). +* [Improve ordered query API](https://github.com/rust-lang/rfcs/pull/1195). +* [Add item recovery collection APIs](https://github.com/rust-lang/rfcs/pull/1194). +* [Implement raw fat pointer comparisons](https://github.com/rust-lang/rfcs/pull/1135). +* [Add `read_exact` to `Read` trait](https://github.com/rust-lang/rfcs/pull/980). +* [Allow `#[must_use]` on functions, rather than just types.](https://github.com/rust-lang/rfcs/pull/886). # New RFCs From ddda4ce134b5b7036d0102a0fae514020e8356ff Mon Sep 17 00:00:00 2001 From: Vikrant Chaudhary Date: Mon, 3 Aug 2015 22:43:32 +0530 Subject: [PATCH 71/80] Add missing slides from RustCamp. --- content/2015-08-03-this-week-in-rust.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/content/2015-08-03-this-week-in-rust.md b/content/2015-08-03-this-week-in-rust.md index 0c69e453..565ece44 100644 --- a/content/2015-08-03-this-week-in-rust.md +++ b/content/2015-08-03-this-week-in-rust.md @@ -38,9 +38,11 @@ If you find any errors in this week's issue, [please submit a PR](https://github *some intro here* +* [pdf] [Keynote](http://rustcamp.com/RustCampKeynote.pdf) by [Aaron Turon](http://www.mpi-sws.org/~turon/) and [Niko Matsakis](https://twitter.com/nikomatsakis). +* [notes] [Navigating the Open Seas](http://carol-nichols.com/2015/08/01/rustcamp-talk-notes/) by [Carol (Nichols || Goulding)](http://carol-nichols.com/). * [pdf] [Making tools for Rust](https://dl.dropboxusercontent.com/u/74741329/rust-tools.pdf) by [Nick Cameron](http://www.ncameron.org/). * [pdf] [Mio: Fast Async IO for Rust](https://www.dropbox.com/s/fzf7tiukacyft3b/Rustcamp%20-%20Mio.pdf) by [Carl Lerche](https://twitter.com/carllerche). -* [slides] [OMG ITERATORS](http://cglab.ca/~abeinges/talks/iter/) by [Alexis Beingessner](https://twitter.com/gankro). +* [slides] [Who Owns This Stream of Data?](http://cglab.ca/~abeinges/talks/iter/) by [Alexis Beingessner](https://twitter.com/gankro). # What's cooking on nightly? From 4f1ed203968c0208fa0a6c73f3bd51800c3acb10 Mon Sep 17 00:00:00 2001 From: Elaine Nemo Date: Mon, 3 Aug 2015 13:25:35 -0400 Subject: [PATCH 72/80] Revert "Revert "Revert "Merge pull request #66 from webstream-io/rusty-makeover""" This reverts commit af25d61f093146b0a852c2156573e3a0067b4720. --- .gitignore | 3 +- content/pages/privacy-policy.md | 80 -------- pelicanconf.py | 5 +- plugins/assets/Readme.rst | 106 ---------- plugins/assets/__init__.py | 1 - plugins/assets/assets.py | 72 ------- themes/rusted/static/css/_base.scss | 192 ------------------ .../static/css/_bootstrap-overrides.scss | 6 - themes/rusted/static/css/_homepage.scss | 12 -- themes/rusted/static/css/_layout.scss | 135 ------------ themes/rusted/static/css/main.scss | 46 ----- themes/rusted/templates/_post-title.html | 10 - themes/rusted/templates/_subscribe-form.html | 13 -- themes/rusted/templates/archives.html | 16 -- themes/rusted/templates/article.html | 37 ---- themes/rusted/templates/base.html | 78 ------- themes/rusted/templates/index.html | 31 --- themes/rusted/templates/page.html | 31 --- 18 files changed, 2 insertions(+), 872 deletions(-) delete mode 100644 content/pages/privacy-policy.md delete mode 100644 plugins/assets/Readme.rst delete mode 100644 plugins/assets/__init__.py delete mode 100644 plugins/assets/assets.py delete mode 100644 themes/rusted/static/css/_base.scss delete mode 100644 themes/rusted/static/css/_bootstrap-overrides.scss delete mode 100644 themes/rusted/static/css/_homepage.scss delete mode 100644 themes/rusted/static/css/_layout.scss delete mode 100644 themes/rusted/static/css/main.scss delete mode 100644 themes/rusted/templates/_post-title.html delete mode 100644 themes/rusted/templates/_subscribe-form.html delete mode 100644 themes/rusted/templates/archives.html delete mode 100644 themes/rusted/templates/article.html delete mode 100644 themes/rusted/templates/base.html delete mode 100644 themes/rusted/templates/index.html delete mode 100644 themes/rusted/templates/page.html diff --git a/.gitignore b/.gitignore index d462c2f1..514d1efe 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,4 @@ lib include output *~ -cache -.sass-cache \ No newline at end of file +cache \ No newline at end of file diff --git a/content/pages/privacy-policy.md b/content/pages/privacy-policy.md deleted file mode 100644 index 7038bb16..00000000 --- a/content/pages/privacy-policy.md +++ /dev/null @@ -1,80 +0,0 @@ -Title: Privacy Policy -Date: 2015-07-08 - -Last updated: 8 July, 2015 - -TWiR team ("us", "we", or "our") operates the This Week in Rust website (the "Service"). - -This page informs you of our policies regarding the collection, use and disclosure of Personal Information when you use our Service. - -We will not use or share your information with anyone except as described in this Privacy Policy. - -We use your Personal Information for providing and improving the Service. By using the Service, you agree to the collection and use of information in accordance with this policy. - -## Information Collection And Use - -While using our Service, we may ask you to provide us with certain personally identifiable information that can be used to contact or identify you. Personally identifiable information may include, but is not limited to, your email address ("Personal Information"). - -We collect this information for the purpose of providing the Service, identifying and communicating with you, responding to your requests/enquiries, and improving our services. - -## Log Data - -We collect information that your browser sends whenever you visit our Service ("Log Data"). This Log Data may include information such as your computer's Internet Protocol ("IP") address, browser type, browser version, the pages of our Service that you visit, the time and date of your visit, the time spent on those pages and other statistics. - -## Cookies - -Cookies are files with a small amount of data, which may include an anonymous unique identifier. Cookies are sent to your browser from a web site and transferred to your device. We use cookies to collect information in order to improve our services for you. - -You can instruct your browser to refuse all cookies or to indicate when a cookie is being sent. The Help feature on most browsers provide information on how to accept cookies, disable cookies or to notify you when receiving a new cookie. - -If you do not accept cookies, you may not be able to use some features of our Service and we recommend that you leave them turned on. - -## Do Not Track Disclosure - -We support Do Not Track ("DNT"). Do Not Track is a preference you can set in your web browser to inform websites that you do not want to be tracked. - -You can enable or disable Do Not Track by visiting the Preferences or Settings page of your web browser. - -## Service Providers - -We may employ third party companies and individuals to facilitate our Service, to provide the Service on our behalf, to perform Service-related services and/or to assist us in analyzing how our Service is used. - -These third parties have access to your Personal Information only to perform specific tasks on our behalf and are obligated not to disclose or use your information for any other purpose. - -Following third-party services have access to your Personal Information: MailChimp. - -In future, if we employ any additional third-party services that may access your Personal Information, we'll reflect that information in third-party services list above by updating this Privacy Policy. - -## Communications - -We may use your Personal Information to contact you with newsletters, marketing or promotional materials and other information that may be of interest to you. You may opt out of receiving any, or all, of these communications from us by following the unsubscribe link or instructions provided in any email we send. - -## Compliance With Laws - -We will disclose your Personal Information where required to do so by law or subpoena or if we believe that such action is necessary to comply with the law and the reasonable requests of law enforcement or to protect the security or integrity of our Service. - -## Security - -The security of your Personal Information is important to us, and we strive to implement and maintain reasonable, commercially acceptable security procedures and practices appropriate to the nature of the information we store, in order to protect it from unauthorized access, destruction, use, modification, or disclosure. - -However, please be aware that no method of transmission over the Internet, or method of electronic storage is 100% secure and we are unable to guarantee the absolute security of the Personal Information we have collected from you. - -## International Transfer - -Your information, including Personal Information, may be transferred to — and maintained on — computers located outside of your state, province, country or other governmental jurisdiction where the data protection laws may differ than those from your jurisdiction. - -Your consent to this Privacy Policy followed by your submission of such information represents your agreement to that transfer. - -## Links To Other Sites - -Our Service may contain links to other sites that are not operated by us. If you click on a third party link, you will be directed to that third party's site. We strongly advise you to review the Privacy Policy of every site you visit. - -We have no control over, and assume no responsibility for the content, privacy policies or practices of any third party sites or services. - -## Changes To This Privacy Policy - -This Privacy Policy is effective as of 8 July, 2015 and will remain in effect except with respect to any changes in its provisions in the future, which will be in effect immediately after being posted on this page. - -We reserve the right to update or change our Privacy Policy at any time and you should check this Privacy Policy periodically. Your continued use of the Service after we post any modifications to the Privacy Policy on this page will constitute your acknowledgment of the modifications and your consent to abide and be bound by the modified Privacy Policy. - -If we make any material changes to this Privacy Policy, we will notify you either through the email address you have provided us, or by placing a prominent notice on our website. diff --git a/pelicanconf.py b/pelicanconf.py index d308ab29..4acba8bf 100644 --- a/pelicanconf.py +++ b/pelicanconf.py @@ -8,10 +8,7 @@ SITEURL = 'http://this-week-in-rust.org/staging' SOURCE_URL = 'https://github.com/cmr/this-week-in-rust' -THEME = 'themes/rusted' - -PLUGIN_PATHS = ["plugins"] -PLUGINS = ['assets'] +THEME = 'pelican-elegant-1.3' TIMEZONE = 'America/New_York' diff --git a/plugins/assets/Readme.rst b/plugins/assets/Readme.rst deleted file mode 100644 index ae18044e..00000000 --- a/plugins/assets/Readme.rst +++ /dev/null @@ -1,106 +0,0 @@ -Asset management ----------------- - -This plugin allows you to use the `Webassets`_ module to manage assets such as -CSS and JS files. The module must first be installed:: - - pip install webassets - -The Webassets module allows you to perform a number of useful asset management -functions, including: - -* CSS minifier (``cssmin``, ``yui_css``, ...) -* CSS compiler (``less``, ``sass``, ...) -* JS minifier (``uglifyjs``, ``yui_js``, ``closure``, ...) - -Others filters include CSS URL rewriting, integration of images in CSS via data -URIs, and more. Webassets can also append a version identifier to your asset -URL to convince browsers to download new versions of your assets when you use -far-future expires headers. Please refer to the `Webassets documentation`_ for -more information. - -When used with Pelican, Webassets is configured to process assets in the -``OUTPUT_PATH/theme`` directory. You can use Webassets in your templates by -including one or more template tags. The Jinja variable ``{{ ASSET_URL }}`` can -be used in templates and is relative to the ``theme/`` url. The -``{{ ASSET_URL }}`` variable should be used in conjunction with the -``{{ SITEURL }}`` variable in order to generate URLs properly. For example: - -.. code-block:: jinja - - {% assets filters="cssmin", output="css/style.min.css", "css/inuit.css", "css/pygment-monokai.css", "css/main.css" %} - - {% endassets %} - -... will produce a minified css file with a version identifier that looks like: - -.. code-block:: html - - - -These filters can be combined. Here is an example that uses the SASS compiler -and minifies the output: - -.. code-block:: jinja - - {% assets filters="sass,cssmin", output="css/style.min.css", "css/style.scss" %} - - {% endassets %} - -Another example for Javascript: - -.. code-block:: jinja - - {% assets filters="uglifyjs", output="js/packed.js", "js/jquery.js", "js/base.js", "js/widgets.js" %} - - {% endassets %} - -The above will produce a minified JS file: - -.. code-block:: html - - - -Pelican's debug mode is propagated to Webassets to disable asset packaging -and instead work with the uncompressed assets. - -If you need to create named bundles (for example, if you need to compile SASS -files before minifying with other CSS files), you can use the ``ASSET_BUNDLES`` -variable in your settings file. This is an ordered sequence of 3-tuples, where -the 3-tuple is defined as ``(name, args, kwargs)``. This tuple is passed to the -`environment's register() method`_. The following will compile two SCSS files -into a named bundle, using the ``pyscss`` filter: - -.. code-block:: python - - ASSET_BUNDLES = ( - ('scss', ['colors.scss', 'main.scss'], {'filters': 'pyscss'}), - ) - -Many of Webasset's available compilers have additional configuration options -(i.e. 'Less', 'Sass', 'Stylus', 'Closure_js'). You can pass these options to -Webassets using the ``ASSET_CONFIG`` in your settings file. - -The following will handle Google Closure's compilation level and locate -LessCSS's binary: - -.. code-block:: python - - ASSET_CONFIG = (('closure_compressor_optimization', 'WHITESPACE_ONLY'), - ('less_bin', 'lessc.cmd'), ) - -If you wish to place your assets in locations other than the theme output -directory, you can use ``ASSET_SOURCE_PATHS`` in your settings file to provide -webassets with a list of additional directories to search, relative to the -theme's top-level directory: - -.. code-block:: python - - ASSET_SOURCE_PATHS = ( - 'vendor/css', - 'scss', - ) - -.. _Webassets: https://github.com/miracle2k/webassets -.. _Webassets documentation: http://webassets.readthedocs.org/en/latest/builtin_filters.html -.. _environment's register() method: http://webassets.readthedocs.org/en/latest/environment.html#registering-bundles diff --git a/plugins/assets/__init__.py b/plugins/assets/__init__.py deleted file mode 100644 index 67b75dd5..00000000 --- a/plugins/assets/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .assets import * diff --git a/plugins/assets/assets.py b/plugins/assets/assets.py deleted file mode 100644 index 6dfb54f5..00000000 --- a/plugins/assets/assets.py +++ /dev/null @@ -1,72 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Asset management plugin for Pelican -=================================== - -This plugin allows you to use the `webassets`_ module to manage assets such as -CSS and JS files. - -The ASSET_URL is set to a relative url to honor Pelican's RELATIVE_URLS -setting. This requires the use of SITEURL in the templates:: - - - -.. _webassets: https://webassets.readthedocs.org/ - -""" -from __future__ import unicode_literals - -import os -import logging - -from pelican import signals -logger = logging.getLogger(__name__) - -try: - import webassets - from webassets import Environment - from webassets.ext.jinja2 import AssetsExtension -except ImportError: - webassets = None - -def add_jinja2_ext(pelican): - """Add Webassets to Jinja2 extensions in Pelican settings.""" - - pelican.settings['JINJA_EXTENSIONS'].append(AssetsExtension) - - -def create_assets_env(generator): - """Define the assets environment and pass it to the generator.""" - - theme_static_dir = generator.settings['THEME_STATIC_DIR'] - assets_destination = os.path.join(generator.output_path, theme_static_dir) - generator.env.assets_environment = Environment( - assets_destination, theme_static_dir) - - if 'ASSET_CONFIG' in generator.settings: - for item in generator.settings['ASSET_CONFIG']: - generator.env.assets_environment.config[item[0]] = item[1] - - if 'ASSET_BUNDLES' in generator.settings: - for name, args, kwargs in generator.settings['ASSET_BUNDLES']: - generator.env.assets_environment.register(name, *args, **kwargs) - - if 'ASSET_DEBUG' in generator.settings: - generator.env.assets_environment.debug = generator.settings['ASSET_DEBUG'] - elif logging.getLevelName(logger.getEffectiveLevel()) == "DEBUG": - generator.env.assets_environment.debug = True - - for path in (generator.settings['THEME_STATIC_PATHS'] + - generator.settings.get('ASSET_SOURCE_PATHS', [])): - full_path = os.path.join(generator.theme, path) - generator.env.assets_environment.append_path(full_path) - - -def register(): - """Plugin registration.""" - if webassets: - signals.initialized.connect(add_jinja2_ext) - signals.generator_init.connect(create_assets_env) - else: - logger.warning('`assets` failed to load dependency `webassets`.' - '`assets` plugin not loaded.') diff --git a/themes/rusted/static/css/_base.scss b/themes/rusted/static/css/_base.scss deleted file mode 100644 index 2adb4946..00000000 --- a/themes/rusted/static/css/_base.scss +++ /dev/null @@ -1,192 +0,0 @@ -/** - * Reset some basic elements - */ -body, h1, h2, h3, h4, h5, h6, -p, blockquote, pre, hr, -dl, dd, ol, ul, figure { - margin: 0; - padding: 0; -} - - - -/** - * Basic styling - */ -body { - font-family: $base-font-family; - font-size: $base-font-size; - line-height: $base-line-height; - font-weight: 300; - color: $text-color; - background-color: $background-color; -} - - - -/** - * Set `margin-bottom` to maintain vertycal rhythm - */ -h1, h2, h3, h4, h5, h6, -p, blockquote, pre, -ul, ol, dl, figure, -%vertical-rhythm { - margin-bottom: $spacing-unit / 2; -} - - - -/** - * Images - */ -img { - max-width: 100%; - vertical-align: middle; -} - - - -/** - * Figures - */ -figure > img { - display: block; -} - -figcaption { - font-size: $small-font-size; -} - - - -/** - * Lists - */ -ul, ol { - margin-left: $spacing-unit; -} - -li { - > ul, - > ol { - margin-bottom: 0; - } -} - - - -/** - * Headings - */ -h1, h2, h3, h4, h5, h6 { - font-weight: 300; -} - - - -/** - * Links - */ -a { - color: $brand-color; - text-decoration: none; - - &:visited { - color: darken($brand-color, 15%); - } - - &:hover { - color: $text-color; - text-decoration: underline; - } -} - - - -/** - * Blockquotes - */ -blockquote { - color: $grey-colour; - border-left: 4px solid $grey-colour-light; - padding-left: $spacing-unit / 2; - font-size: 18px; - letter-spacing: -1px; - font-style: italic; - - > :last-child { - margin-bottom: 0; - } -} - - - -/** - * Code formatting - */ -pre, -code { - font-size: 15px; - border: 1px solid $grey-colour-light; - border-radius: 3px; - background-color: #eef; -} - -code { - padding: 1px 5px; -} - -pre { - padding: 8px 12px; - overflow-x: scroll; - - > code { - border: 0; - padding-right: 0; - padding-left: 0; - } -} - - - -/** - * Wrapper - */ -.wrapper { - // don't use calc(), doesn't seem to work in minified CSS. - max-width: 800px - ($spacing-unit * 2); - margin-right: auto; - margin-left: auto; - padding-right: $spacing-unit; - padding-left: $spacing-unit; - @extend %clearfix; - - @include media-query($on-laptop) { - max-width: 800px - $spacing-unit; - padding-right: $spacing-unit / 2; - padding-left: $spacing-unit / 2; - } -} - - - -/** - * Clearfix - */ -%clearfix { - - &:after { - content: ""; - display: table; - clear: both; - } -} - - - -/** - * Text styling - */ -strong, b { - font-weight: bold; -} diff --git a/themes/rusted/static/css/_bootstrap-overrides.scss b/themes/rusted/static/css/_bootstrap-overrides.scss deleted file mode 100644 index 6bee3a9d..00000000 --- a/themes/rusted/static/css/_bootstrap-overrides.scss +++ /dev/null @@ -1,6 +0,0 @@ - -.btn-primary { - background-color: rgb(66, 139, 202); - border-color: rgb(53, 126, 189); - color: rgb(255, 255, 255); -} diff --git a/themes/rusted/static/css/_homepage.scss b/themes/rusted/static/css/_homepage.scss deleted file mode 100644 index 5fa0deb2..00000000 --- a/themes/rusted/static/css/_homepage.scss +++ /dev/null @@ -1,12 +0,0 @@ - -.pitch { - font-size: 46px; - font-style: italic; - line-height: 1.25; - margin-bottom: 40px; - margin-top: 36px; -} - -.subtext { - -} diff --git a/themes/rusted/static/css/_layout.scss b/themes/rusted/static/css/_layout.scss deleted file mode 100644 index 8148717e..00000000 --- a/themes/rusted/static/css/_layout.scss +++ /dev/null @@ -1,135 +0,0 @@ -/** - * Site header - */ -.site-header { - border-top: 5px solid $grey-colour-dark; - border-bottom: 1px solid $grey-colour-light; - min-height: 56px; - - // Positioning context for the mobile navigation icon - position: relative; -} - -.site-title { - font-size: 36px; - font-weight: bold; - line-height: 64px; - letter-spacing: -1px; - margin-bottom: 0; - - &, - &:visited { - color: $grey-colour-dark; - } -} - - -/** - * Site footer - */ -body > footer { - border-top: 1px solid $grey-colour-light; - padding: $spacing-unit 0; - margin-top: $spacing-unit; -} - - -/** - * Post list - */ - -.past-issues { - margin-top: 20px; - - li.nav-header h2 { - border-bottom: 1px solid $grey-colour-light; - } - - li { - line-height: 1.8; - } -} - -.time-prefix { - font-family: "Fira Mono", monospace; -} - -.post-title { - font-size: 20px; -} - - -/** - * Page content - */ -.page-content { - padding-top: $spacing-unit; -} - -.page-heading { - font-size: 20px; -} - -.post-list { - margin-left: 0; - list-style: none; - - > li { - margin-bottom: $spacing-unit; - } -} - -.post-meta { - font-size: $small-font-size; - color: $grey-colour; -} - -.post-link { - display: block; - font-size: 24px; -} - - - -/** - * Posts - */ - -.post { - margin-top: 32px; - border: 1px solid $grey-colour-light; - padding: 24px; - border-radius: 8px; -} - -.post-header { - margin-bottom: $spacing-unit; -} - -.post-content { - margin-bottom: $spacing-unit; - - h2 { - font-size: 32px; - - @include media-query($on-laptop) { - font-size: 28px; - } - } - - h3 { - font-size: 26px; - - @include media-query($on-laptop) { - font-size: 22px; - } - } - - h4 { - font-size: 20px; - - @include media-query($on-laptop) { - font-size: 18px; - } - } -} diff --git a/themes/rusted/static/css/main.scss b/themes/rusted/static/css/main.scss deleted file mode 100644 index 40e1ed3a..00000000 --- a/themes/rusted/static/css/main.scss +++ /dev/null @@ -1,46 +0,0 @@ -@charset "utf-8"; - - -// Our variables -$base-font-family: 'Fira Sans', "Helvetica Neue", Helvetica, Arial, sans-serif; -$base-font-size: 16px; -$small-font-size: $base-font-size * 0.875; -$base-line-height: 1.5; - -$spacing-unit: 30px; - -$text-color: #444; -$background-color: #fdfdfd; -$brand-color: #2a7ae2; - -$grey-colour: #828282; -$grey-colour-light: lighten($grey-colour, 40%); -$grey-colour-dark: darken($grey-colour, 25%); - -$on-palm: 600px; -$on-laptop: 800px; - - - -// Using media queries with like this: -// @include media-query($palm) { -// .wrapper { -// padding-right: $spacing-unit / 2; -// padding-left: $spacing-unit / 2; -// } -// } -@mixin media-query($device) { - @media screen and (max-width: $device) { - @content; - } -} - - - -// Import partials -@import - "bootstrap-overrides", - "base", - "layout", - "homepage" -; diff --git a/themes/rusted/templates/_post-title.html b/themes/rusted/templates/_post-title.html deleted file mode 100644 index 471135d2..00000000 --- a/themes/rusted/templates/_post-title.html +++ /dev/null @@ -1,10 +0,0 @@ -
-
- - - -
- -
diff --git a/themes/rusted/templates/_subscribe-form.html b/themes/rusted/templates/_subscribe-form.html deleted file mode 100644 index 9177ada0..00000000 --- a/themes/rusted/templates/_subscribe-form.html +++ /dev/null @@ -1,13 +0,0 @@ -
-
-
-
- - - - -
- Receive a weekly newsletter, every Monday. Easy to unsubscribe and no spam, promise. -
-
-
diff --git a/themes/rusted/templates/archives.html b/themes/rusted/templates/archives.html deleted file mode 100644 index 17ebfb1a..00000000 --- a/themes/rusted/templates/archives.html +++ /dev/null @@ -1,16 +0,0 @@ -{% extends "base.html" %} - -{% block content %} -
-
-
    - - {% for article in articles %} -
  • - {% include "_post-title.html" %} -
  • - {% endfor %} -
-
-
-{% endblock content %} diff --git a/themes/rusted/templates/article.html b/themes/rusted/templates/article.html deleted file mode 100644 index 416f91b9..00000000 --- a/themes/rusted/templates/article.html +++ /dev/null @@ -1,37 +0,0 @@ -{% extends "base.html" %} - -{% block title %} -{{ article.title }} {%if article.subtitle %} - {{ article.subtitle }} {% endif %} · {{ super() }} -{% endblock title %} - -{% block head_description %} -{% if article.summary %} -{{ article.summary|striptags }} -{% endif %} -{% endblock head_description %} - -{% block meta_tags_in_head %} -{% if article.tags or article.category or article.keywords %} - -{% endif %} -{% endblock meta_tags_in_head %} - -{% block content %} - -
-

Like what you see? Subscribe!

-
- -{% include "_subscribe-form.html" %} - -
-
- {% include "_post-title.html" %} -
- -
- {{ article.content }} -
- -
-{% endblock content %} diff --git a/themes/rusted/templates/base.html b/themes/rusted/templates/base.html deleted file mode 100644 index a8f56063..00000000 --- a/themes/rusted/templates/base.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - {% if article and article.author %} - - - {% elif page and page.author %} - - - {% else %} - - - {% endif %} - - {% if SITE_DESCRIPTION %} - - {% endif %} - - {% block meta_tags_in_head %} - {% endblock meta_tags_in_head %} - - {% block title %}{{ SITENAME|striptags }}{% endblock title %} - - {% block head_links %} - {% endblock head_links %} - - - - - - {% assets filters="scss,cssmin", output="css/web-min.css", "css/main.scss" %} - - {% endassets %} - - - - -
-
- {% block content %} - {% endblock content %} -
-
- - - - diff --git a/themes/rusted/templates/index.html b/themes/rusted/templates/index.html deleted file mode 100644 index 43fa4609..00000000 --- a/themes/rusted/templates/index.html +++ /dev/null @@ -1,31 +0,0 @@ -{% extends "base.html" %} - -{% block content %} -
-
-

Handpicked Rust updates,
delivered to your inbox.

-

Stay up to date with events, learning resources, and recent developments in Rust community.

-
-
-{% include "_subscribe-form.html" %} -
-
-
    - - {% for article in articles %} - {% if not RECENT_ARTICLES_COUNT %} - {% set RECENT_ARTICLES_COUNT = 5 %} - {% endif %} - {% if loop.index0 < RECENT_ARTICLES_COUNT %} -
  • - {% include "_post-title.html" %} -
  • - {% endif %} - {% endfor %} -
  • - View more → -
  • -
-
-
-{% endblock content %} diff --git a/themes/rusted/templates/page.html b/themes/rusted/templates/page.html deleted file mode 100644 index a4f21f4b..00000000 --- a/themes/rusted/templates/page.html +++ /dev/null @@ -1,31 +0,0 @@ -{% extends "base.html" %} - -{% block title %} -{{ page.title }} {%if page.subtitle %} - {{ page.subtitle }} {% endif %} · {{ super() }} -{% endblock title %} - -{% block head_description %} -{% if page.summary %} -{{ article.summary|striptags }} -{% endif %} -{% endblock head_description %} - -{% block meta_tags_in_head %} -{% if page.tags or page.category or page.keywords %} - -{% endif %} -{% endblock meta_tags_in_head %} - -{% block content %} - -
-
-

{{ page.title }}

-
- -
- {{ page.content }} -
- -
-{% endblock content %} From 247ae409c44774d83e5f7dd4e466479e21aa38a8 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 3 Aug 2015 15:32:07 -0700 Subject: [PATCH 73/80] 2015-08-3 --- content/2015-08-03-this-week-in-rust.md | 128 +++++++++++++++++------- drafts/YYYY-MM-DD-this-week-in-rust.md | 2 +- 2 files changed, 94 insertions(+), 36 deletions(-) diff --git a/content/2015-08-03-this-week-in-rust.md b/content/2015-08-03-this-week-in-rust.md index 565ece44..db0a3cac 100644 --- a/content/2015-08-03-this-week-in-rust.md +++ b/content/2015-08-03-this-week-in-rust.md @@ -36,7 +36,11 @@ If you find any errors in this week's issue, [please submit a PR](https://github # Slides and talks from RustCamp! -*some intro here* +[RustCamp](http://rustcamp.com) was on Saturday, August 1st. It was +lovely event populated by lovely people. If you couldn't make it here +are the slides from some of the talks. Hopefully the remainder of +slides will become available this week. Video recordings will be +available at an indeterminate future date. * [pdf] [Keynote](http://rustcamp.com/RustCampKeynote.pdf) by [Aaron Turon](http://www.mpi-sws.org/~turon/) and [Niko Matsakis](https://twitter.com/nikomatsakis). * [notes] [Navigating the Open Seas](http://carol-nichols.com/2015/08/01/rustcamp-talk-notes/) by [Carol (Nichols || Goulding)](http://carol-nichols.com/). @@ -46,13 +50,71 @@ If you find any errors in this week's issue, [please submit a PR](https://github # What's cooking on nightly? -XXX pull requests were [merged in the last week][merged]. +130 pull requests were [merged in the last week][merged]. -[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-05-18..2015-06-07 +[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-07-27..2015-08-03 + +* Gankro landed [The Advanced Rust Programming + Language](https://github.com/rust-lang/rust/pull/27032), which was + quickly renamed to [The + Rustonomicon](https://github.com/rust-lang/rust/pull/27444). This + book is about unsafe Rust and will become Gankro's master's + thesis. [Read it + online](http://doc.rust-lang.org/nightly/adv-book/). +* [Nonzeroing move + hints](https://github.com/rust-lang/rust/pull/26173). This patch + adds drop flags to the stack as part of the [non-zeroing drop + RFC](https://github.com/rust-lang/rfcs/blob/master/text/0320-nonzeroing-dynamic-drop.md). It + does not yet remove the drop flag from objects. +* [@azerupi](http://github.com/azerupi) cleaned up the design of + gitbook, the tool that generates The Book. +* [Deprecated + `VecMap`](https://github.com/rust-lang/rust/pull/26734). This + little-used unstable collection has been moved to the `vec_map` + crate. +* [Deprecate a number of unstable + features](https://github.com/rust-lang/rust/pull/26914). The list is + sizable. +* [Implement `Clone` for `Box where T: + Clone`](https://github.com/rust-lang/rust/pull/26934) +* [Make `AtomicPtr` `Send`](https://github.com/rust-lang/rust/pull/27052) +* [Make `Rc` and `Arc` `mem::forget` + safe](https://github.com/rust-lang/rust/pull/27174). This closes + some corner-case soundness holes in reference counting. +* [More extended errors!](https://github.com/rust-lang/rust/pull/27230). +* [Add a `--cap-lints` flag to the + compiler](https://github.com/rust-lang/rust/pull/27260). This flag + [will be used by Cargo to avoid breaking dependencies when lints + change](https://github.com/rust-lang/rfcs/blob/master/text/1193-cap-lints.md). +* [Rewrite dropck to be more + correct](https://github.com/rust-lang/rust/pull/27261). +* [Improve SipHash performance for longer + data](https://github.com/rust-lang/rust/pull/27280). +* [Stabilize a number of small + APIs](https://github.com/rust-lang/rust/pull/27370). +* [Implement `Clone` for + `Box`](https://github.com/rust-lang/rust/pull/27371). +* [Gate associated type + defaults](https://github.com/rust-lang/rust/pull/27382). 1.1 stable + mistakenly allowed default associated types to be written, but their + use was completely broken. With other outstanding questions about + the feature it has been gated for 1.2. # New Contributors - +* Agoston Szepessy +* Andrew +* Andrew Kuchev +* Blake Loring +* Daniel Albert +* diaphore +* Jeehoon Kang +* Kieran Hunt +* krumelmonster +* Mark Buer +* Nicolette Verlinden +* Ralf Jung +* Taliesin Beynon # Approved RFCs @@ -60,6 +122,8 @@ Changes to Rust follow the Rust [RFC (request for comments) process](https://github.com/rust-lang/rfcs#rust-rfcs). These are the RFCs that were approved for implementation this week: +* [RFC 1183: Allow changing the default allocator](https://github.com/rust-lang/rfcs/blob/master/text/1183-swap-out-jemalloc.md) +* [RFC 1184: Stabilize the `#[no_std]` attribute](https://github.com/rust-lang/rfcs/blob/master/text/1184-stabilize-no_std.md) # Final Comment Period @@ -82,38 +146,28 @@ decision. Express your opinions now. [This week's FCPs][fcp] are: # New RFCs - -# Friend of the Tree - -[The Rust Team](http://www.rust-lang.org/team.html) likes to -occassionally recognize people who have made -outstanding contributions to The Rust Project, its ecosystem, and its -community. These people are 'friends of the tree'. - -[This week's friend of the tree](TODO) was ... - - -# Subteam reports - -Every week [The Rust Team](http://www.rust-lang.org/team.html) release -a report on what is going on in their corner of the project. Here are -the highlights from [this week's report](TODO). - -* TODO +* [Place left arrow syntax (`place <- + expr`)](https://github.com/rust-lang/rfcs/pull/1228). Another + attempt at coming up with a pleasing 'placement new' syntax. +* [Turn statically-known erroneous code into a warning and + unconditional panic](https://github.com/rust-lang/rfcs/pull/1229). +* [Add `Box::leak` to leak `Box` to a `&'static mut + T`](https://github.com/rust-lang/rfcs/pull/1233). +* [Specify that `CoerceUnsized` should ignore `PhantomData` + fields](https://github.com/rust-lang/rfcs/pull/1234). # Internals discussions -# Crate of the Week - -There are so many crates! It's easy to lose track of the good ones, -like [THING]. - -THING is a ... - +* [Pre-RFC?: rustc UX guidelines](https://internals.rust-lang.org/t/pre-rfc-rustc-ux-guidelines/2419/1). # Upcoming Events -* [What?] +* [8/5. Montreal](http://www.meetup.com/Montreal-Rust-Language-Meetup/events/224148410/). +* [8/10. Seattle](https://www.eventbrite.com/e/mozilla-rust-seattle-meetup-tickets-12222326307?aff=erelexporg). +* [8/11. San Diego](http://www.meetup.com/San-Diego-Rust/events/223766853/). +* [8/19. Los Angeles](http://www.meetup.com/Rust-Los-Angeles/events/224231575/). +* [8/26. Columbus Rust Society](http://www.meetup.com/columbus-rs/). +* [8/31. Paris](http://www.meetup.com/Rust-Paris). If you are running a Rust event please add it to the [calendar] to get it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian @@ -127,16 +181,20 @@ Anderson][brson] for access. There are some jobs writing Rust! This week's listings: -* TODO +* Assistant Researcher in Karlsruhe, Germany for embedded development on ARM stm32. Contact [Oliver Schneider][oli_obk] -(Don't forget to re-list last-week's). +[oli_obk]: mailto:oliver.schneider@kit.edu # Quote of the Week -*"Quote"* +> It should be noted that the authentic Rust learning experience involves +> writing code, having the compiler scream at you, and trying to figure out +> what the heck that means. I will be carefully ensuring that this occurs as +> frequently as possible. -Explanation and link. +From @Gankro's [Learning Rust With Entirely Too Many Linked +Lists](http://cglab.ca/~abeinges/blah/too-many-lists/book/). -Thanks to XXX for the tip. [Submit your quotes for next week!][submit]. +Thanks to @carols10cents for the tip. [Submit your quotes for next week!][submit]. [submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328 diff --git a/drafts/YYYY-MM-DD-this-week-in-rust.md b/drafts/YYYY-MM-DD-this-week-in-rust.md index 141f67dd..fc74b40b 100644 --- a/drafts/YYYY-MM-DD-this-week-in-rust.md +++ b/drafts/YYYY-MM-DD-this-week-in-rust.md @@ -56,7 +56,7 @@ decision. Express your opinions now. [This week's FCPs][fcp] are: # Friend of the Tree [The Rust Team](http://www.rust-lang.org/team.html) likes to -occassionally recognize people who have made +occasionally recognize people who have made outstanding contributions to The Rust Project, its ecosystem, and its community. These people are 'friends of the tree'. From 0d4c3910caf79f1bd74735a0459becb5676149e8 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 3 Aug 2015 15:45:04 -0700 Subject: [PATCH 74/80] Revert "Staging" This reverts commit 2481d31759a120ead1f429c65fbf738f317d32a3. --- pelicanconf.py | 2 +- run.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pelicanconf.py b/pelicanconf.py index 4acba8bf..dfc83736 100644 --- a/pelicanconf.py +++ b/pelicanconf.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals AUTHOR = u'Corey Richardson' SITENAME = u"This Week in Rust" -SITEURL = 'http://this-week-in-rust.org/staging' +SITEURL = 'http://this-week-in-rust.org' SOURCE_URL = 'https://github.com/cmr/this-week-in-rust' diff --git a/run.sh b/run.sh index 4b5f4fc4..1dd2966b 100755 --- a/run.sh +++ b/run.sh @@ -2,5 +2,5 @@ . ./bin/activate ./bin/pelican content -s pelicanconf.py -t themes/pelican-elegant-1.3 || exit if [ "$REALLY_DEPLOY" = "1" ]; then - rsync -razvP --delete-after output/ cmr@octayn.net:twir-staging + rsync -razvP --delete-after output/ cmr@octayn.net:twir fi From ffb1a32fc236468b86c41fd10c1786ba685a22af Mon Sep 17 00:00:00 2001 From: Scott Olson Date: Mon, 3 Aug 2015 19:02:30 -0400 Subject: [PATCH 75/80] Fix `Clone` for `Box<[T]>` issue title. --- content/2015-08-03-this-week-in-rust.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2015-08-03-this-week-in-rust.md b/content/2015-08-03-this-week-in-rust.md index db0a3cac..667d4754 100644 --- a/content/2015-08-03-this-week-in-rust.md +++ b/content/2015-08-03-this-week-in-rust.md @@ -75,7 +75,7 @@ available at an indeterminate future date. * [Deprecate a number of unstable features](https://github.com/rust-lang/rust/pull/26914). The list is sizable. -* [Implement `Clone` for `Box where T: +* [Implement `Clone` for `Box<[T]> where T: Clone`](https://github.com/rust-lang/rust/pull/26934) * [Make `AtomicPtr` `Send`](https://github.com/rust-lang/rust/pull/27052) * [Make `Rc` and `Arc` `mem::forget` From 65243152f0b8f4bf261a5b23c09e25eae70bcc03 Mon Sep 17 00:00:00 2001 From: Vikrant Chaudhary Date: Mon, 10 Aug 2015 19:56:13 +0530 Subject: [PATCH 76/80] TWiR release 91 (10 August 2015). For now, directly added links to some emoticons. Later, should extend Markdown to parse emoticon :tags:. --- content/2015-08-10-this-week-in-rust.md | 119 ++++++++++++++++++ .../pelican-elegant-1.3/static/css/style.css | 7 ++ 2 files changed, 126 insertions(+) create mode 100644 content/2015-08-10-this-week-in-rust.md diff --git a/content/2015-08-10-this-week-in-rust.md b/content/2015-08-10-this-week-in-rust.md new file mode 100644 index 00000000..9447fa14 --- /dev/null +++ b/content/2015-08-10-this-week-in-rust.md @@ -0,0 +1,119 @@ +Title: This Week in Rust 91 +Date: 2015-08-10 +Category: This Week in Rust + +Hello and welcome to another issue of *This Week in Rust*! +[Rust](http://rust-lang.org) is a systems language pursuing the trifecta: +safety, concurrency, and speed. This is a weekly summary of its progress and +community. Want something mentioned? Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) or [send us an +email](mailto:corey@octayn.net?subject=This%20Week%20in%20Rust%20Suggestion)! +Want to get involved? [We love +contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contributors). + +*This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). +If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). + +# From the Blogosphere + +* balloontada [Announcing Rust 1.2](http://blog.rust-lang.org/2015/08/06/Rust-1.2.html). tadaballoon +* [Writing Unsafe and Low-Level Code in Rust](http://smallcultfollowing.com/rust-int-variations/imem-umem/guide-unsafe.html). +* [Creating a PHP Extension to Rust](http://hermanradtke.com/2015/08/03/creating-a-php-extension-to-rust.html). +* [Objective-C from Rust: objc_msgSend](http://sasheldon.com/blog/2015/08/02/objective-c-from-rust-objc_msgsend/). +* [A Simple Web App in Rust, Part 4 -- CLI Option Parsing](https://joelmccracken.github.io/entries/a-simple-web-app-in-rust-pt-4--cli-option-parsing/). +* [video] [The Rust Programming Language](https://youtu.be/d1uraoHM8Gg) from Google TechTalks. + +# New Releases & Project Updates + +* [rust-cpp](https://github.com/mystor/rust-cpp). Embed C++ directly inside your rust code. +* [rustty](https://github.com/cpjreynolds/rustty). A terminal UI library. +* [coalesce-rs](https://github.com/arcnmx/coalesce-rs). Combine disjoint types that share common traits. +* [mdBook](https://github.com/azerupi/mdBook). Create a book from markdown files. +* [Serde 0.5.0 adds support for bincode](https://erickt.github.io/blog/2015/08/07/serde-0-dot-5-0-many-many-changes/). + +# What's cooking on nightly? + +XXX pull requests were [merged in the last week][merged]. + +[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-05-18..2015-06-07 + +# New Contributors + + + +# Approved RFCs + +Changes to Rust follow the Rust [RFC (request for comments) +process](https://github.com/rust-lang/rfcs#rust-rfcs). These +are the RFCs that were approved for implementation this week: + + +# Final Comment Period + +Every week [the team](https://rust-lang.org/team.html) announces the +'final comment period' for RFCs and key PRs which are reaching a +decision. Express your opinions now. [This week's FCPs][fcp] are: + +[fcp]: https://github.com/issues?utf8=%E2%9C%93&q=is%3Apr+org%3Arust-lang+label%3Afinal-comment-period+is%3Aopen+updated%3A2015-07-06..2015-07-13 + +* TODO + +# New RFCs + + +# Friend of the Tree + +[The Rust Team](http://www.rust-lang.org/team.html) likes to +occasionally recognize people who have made +outstanding contributions to The Rust Project, its ecosystem, and its +community. These people are 'friends of the tree'. + +[This week's friend of the tree](TODO) was ... + + +# Subteam reports + +Every week [The Rust Team](http://www.rust-lang.org/team.html) release +a report on what is going on in their corner of the project. Here are +the highlights from [this week's report](TODO). + +* TODO + +# Internals discussions + +# Crate of the Week + +There are so many crates! It's easy to lose track of the good ones, +like [THING]. + +THING is a ... + + +# Upcoming Events + +* [What?] + +If you are running a Rust event please add it to the [calendar] to get +it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian +Anderson][brson] for access. + +[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com +[erickt]: mailto:erick.tryzelaar@gmail.com +[brson]: mailto:banderson@mozilla.com + +# fn work(on: RustProject) -> Money + +There are some jobs writing Rust! This week's listings: + +* TODO + +(Don't forget to re-list last-week's). + +# Quote of the Week + +*"Quote"* + +Explanation and link. + +Thanks to XXX for the tip. [Submit your quotes for next week!][submit]. + +[submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328 diff --git a/themes/pelican-elegant-1.3/static/css/style.css b/themes/pelican-elegant-1.3/static/css/style.css index bb6efd8b..e9170e76 100644 --- a/themes/pelican-elegant-1.3/static/css/style.css +++ b/themes/pelican-elegant-1.3/static/css/style.css @@ -416,3 +416,10 @@ a#allposts { width: inherit; } } + +.emoji { + width: 20px; + height: 20px; + vertical-align: middle; + border: 0px none; +} \ No newline at end of file From cc2b52eff8f682a2a11e062586b69680c0e2e4ec Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 10 Aug 2015 15:12:39 -0700 Subject: [PATCH 77/80] 2015-08-10 --- content/2015-08-10-this-week-in-rust.md | 183 +++++++++++++++++------- 1 file changed, 132 insertions(+), 51 deletions(-) diff --git a/content/2015-08-10-this-week-in-rust.md b/content/2015-08-10-this-week-in-rust.md index 9447fa14..2132949b 100644 --- a/content/2015-08-10-this-week-in-rust.md +++ b/content/2015-08-10-this-week-in-rust.md @@ -29,68 +29,147 @@ If you find any errors in this week's issue, [please submit a PR](https://github * [coalesce-rs](https://github.com/arcnmx/coalesce-rs). Combine disjoint types that share common traits. * [mdBook](https://github.com/azerupi/mdBook). Create a book from markdown files. * [Serde 0.5.0 adds support for bincode](https://erickt.github.io/blog/2015/08/07/serde-0-dot-5-0-many-many-changes/). - -# What's cooking on nightly? - -XXX pull requests were [merged in the last week][merged]. - -[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-05-18..2015-06-07 +* [Cargo Crusader 0.1](https://users.rust-lang.org/t/cargo-crusader-0-1-test-the-downstream-impact-of-rust-crate-changes-before-publishing/2373/5). A tool for validating changes to APIs prior to publishing. # New Contributors - - -# Approved RFCs - -Changes to Rust follow the Rust [RFC (request for comments) -process](https://github.com/rust-lang/rfcs#rust-rfcs). These -are the RFCs that were approved for implementation this week: - - -# Final Comment Period - -Every week [the team](https://rust-lang.org/team.html) announces the -'final comment period' for RFCs and key PRs which are reaching a -decision. Express your opinions now. [This week's FCPs][fcp] are: - -[fcp]: https://github.com/issues?utf8=%E2%9C%93&q=is%3Apr+org%3Arust-lang+label%3Afinal-comment-period+is%3Aopen+updated%3A2015-07-06..2015-07-13 - -* TODO - -# New RFCs - - -# Friend of the Tree - -[The Rust Team](http://www.rust-lang.org/team.html) likes to -occasionally recognize people who have made -outstanding contributions to The Rust Project, its ecosystem, and its -community. These people are 'friends of the tree'. - -[This week's friend of the tree](TODO) was ... - +* Ivan Jager +* Jan Likar +* Marko Lalic +* Matt Friedman +* Mike Marcacci +* Ruby +* Tim Neumann # Subteam reports Every week [The Rust Team](http://www.rust-lang.org/team.html) release a report on what is going on in their corner of the project. Here are -the highlights from [this week's report](TODO). +the highlights from [this week's report](https://internals.rust-lang.org/t/subteam-reports-2015-08-07/2473). -* TODO +## Libs team -# Internals discussions +[Full report](https://github.com/rust-lang/subteams/blob/master/libs/reports/2015-08-07.md) -# Crate of the Week +First off, we had a great RustCamp last weekend! As many of us were +involved with the event, it was a bit of a slow week. -There are so many crates! It's easy to lose track of the good ones, -like [THING]. +Decisions from last week: -THING is a ... +- [RFC PR #1184](https://github.com/rust-lang/rfcs/pull/1184): + RFC: Stabilize the #![no_std] attribute + - Merged +- [RFC PR #1183](https://github.com/rust-lang/rfcs/pull/1183): + RFC: Allow changing the default allocator + - Merged +- [RFC PR #770](https://github.com/rust-lang/rfcs/pull/770): + io error handling design + - Closed +- [RFC PR #980](https://github.com/rust-lang/rfcs/pull/980): + read_exact + - Merged +- [RFC PR #1194](https://github.com/rust-lang/rfcs/pull/1194): + RFC: Add item recovery collection APIs + - To be merged, pending last bits of bikeshedding +- [PR #26818](https://github.com/rust-lang/rust/pull/26818): + Stabilize duration (with renamings) + - Merge, need to decide about 1.3 backport +We'd like to call attention to the following two policy RFCs: + +- [PR #1242](https://github.com/rust-lang/rfcs/pull/1242): + RFC: policy for rust-lang crates +- [PR #1224](https://github.com/rust-lang/rfcs/pull/1224): + Update the RFC process with sub-teams, amongst other things. + +as well as an RFC relating to `catch_panic` and exception safety in Rust: + +- [PR #1236](https://github.com/rust-lang/rfcs/pull/1236): + RFC: Stabilize catch_panic + +This week's RFCs going into (or staying in) **final comment period**: + +- [FCP PR #1195](https://github.com/rust-lang/rfcs/pull/1195): + ordered query API +- [FCP PR #1192](https://github.com/rust-lang/rfcs/pull/1192): + RFC for inclusive ranges with ... + +## Lang team + +[Full report](https://github.com/rust-lang/subteams/blob/master/lang/reports/2015-08-07.md) + +The following RFCs are being promoted to **final comment period**: + +- [PR #886](https://github.com/rust-lang/rfcs/pull/886): Permit + `#[must_use]` attributes on functions as well as types. This allows + for functions whose return value should not be ignored even if the + type of that value is unexceptional (e.g., the `ok()` method of + `Result`). +- [PR #890](https://github.com/rust-lang/rfcs/pull/890): Custom + preludes. This RFC proposes an extension that allows crates to + define their own preludes. This can be used to have common names + available throughout a crate without forcing them to be explicitly + imported everywhere. This is particularly useful when combined with + the convention of having external crates define a `pub mod prelude` + that downstream crates can import into their own local + preludes. While clearly convenient, there were some concerns raised + that this will give rise to multiple dialects of Rust. +- [PR #953](https://github.com/rust-lang/rfcs/pull/953): This defines + traits to support `+=` and other operators, closing a gap in our + operator overloading support. The traits take the LHS via an `&mut` + reference to permit in-place updates, take the RHS by value, and do + not require that the `Add` trait also be implemented. +- [PR #1135](https://github.com/rust-lang/rfcs/pull/1135): This PR + permits raw fat pointers (e.g., `*[i32]` or `*Trait`) to be + compared, just like raw thin pointer (e.g., `*i32`). The semantics + are to compare both the pointer itself *and* any accompanying data + (e.g., the length of the slice). +- [PR #1189](https://github.com/rust-lang/rfcs/pull/1189): This PR + simply corrects typos. + +The following two RFCs have been accepted: + +- [PR #1214](https://github.com/rust-lang/rfcs/pull/1214): Clarify + (and improve) rules for projections and well-formedness. +- [PR #1219](https://github.com/rust-lang/rfcs/pull/1219): Allow + aliasing imports when importing as a group. + +In addition, I would like to call attention to the following RFC: + +- [PR #1238](https://github.com/rust-lang/rfcs/pull/1238): + Nonparametric dropck. This RFC simplifies the dropck rules to close + some soundness holes and make room for specialization. The change is + expected to cause little to no breakage in practice, e.g., a crater + run found no affected crates, but it nonetheless affects a core + component of the language. + +## Compiler team + +[Full report](https://github.com/rust-lang/subteams/blob/master/compiler/reports/2015-08-07.md) + +@arielb1 opened +[PR #27551](https://github.com/rust-lang/rust/pull/27551), which +changes how structs and enums are represented in the compiler, +replacing various hashtables with a single `AdtDef` struct. This is a +reimplementation of a similar PR by @aatch. In addition to cleaner +code, it results in a small performance boost (approximately 5%). + +There has been some progress towards removing drop flags. @pnkfelix +landed his "nonzeroing move hints" branch +([PR #26173](https://github.com/rust-lang/rust/pull/26173)). Unfortunately, +some critical bugs were found shortly thereafter. The fix +([PR #27413](https://github.com/rust-lang/rust/pull/27413)) is not yet +ready. # Upcoming Events -* [What?] +* [8/10. Seattle](https://www.eventbrite.com/e/mozilla-rust-seattle-meetup-tickets-12222326307?aff=erelexporg). +* [8/11. San Diego](http://www.meetup.com/San-Diego-Rust/events/223766853/). +* [8/18. Sydney](http://www.meetup.com/Rust-Sydney/). +* [8/19. Los Angeles](http://www.meetup.com/Rust-Los-Angeles/events/224231575/). +* [8/20. Berlin](http://www.meetup.com/Rust-Berlin/events/224141638/). +* [8/26. Columbus Rust Society](http://www.meetup.com/columbus-rs/). +* [8/32. Paris](http://www.meetup.com/Rust-Paris). If you are running a Rust event please add it to the [calendar] to get it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian @@ -104,16 +183,18 @@ Anderson][brson] for access. There are some jobs writing Rust! This week's listings: -* TODO - -(Don't forget to re-list last-week's). +* Student Research Assistant in Karlsruhe, Germany for embedded development on ARM stm32. Contact [Oliver Schneider][oli_obk] # Quote of the Week -*"Quote"* +``` + I've tried using unchecked indexing in non-trivial code now a couple of times. It never makes a big difference + Profiling shows like 1-2% improvement if that + so it's the tightest loops you should worry about, not much more +``` -Explanation and link. +@bluss knows a few things about micro-optimization. -Thanks to XXX for the tip. [Submit your quotes for next week!][submit]. +Thanks to @bluss for the tip. [Submit your quotes for next week!][submit]. [submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328 From d6e9db528c803c03757f78a8cd5838d377f6f364 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 10 Aug 2015 15:15:25 -0700 Subject: [PATCH 78/80] Add link to rustplatz.de --- content/2015-08-10-this-week-in-rust.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/2015-08-10-this-week-in-rust.md b/content/2015-08-10-this-week-in-rust.md index 2132949b..7a90ecb7 100644 --- a/content/2015-08-10-this-week-in-rust.md +++ b/content/2015-08-10-this-week-in-rust.md @@ -24,6 +24,7 @@ If you find any errors in this week's issue, [please submit a PR](https://github # New Releases & Project Updates +* Check out the new unofficial [German-language Rust forums](http://forum.rustplatz.de/). * [rust-cpp](https://github.com/mystor/rust-cpp). Embed C++ directly inside your rust code. * [rustty](https://github.com/cpjreynolds/rustty). A terminal UI library. * [coalesce-rs](https://github.com/arcnmx/coalesce-rs). Combine disjoint types that share common traits. From 005ea6a91475f2265737696752ee390818d9987f Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 10 Aug 2015 15:17:34 -0700 Subject: [PATCH 79/80] . --- content/2015-08-10-this-week-in-rust.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/2015-08-10-this-week-in-rust.md b/content/2015-08-10-this-week-in-rust.md index 7a90ecb7..7883cb4a 100644 --- a/content/2015-08-10-this-week-in-rust.md +++ b/content/2015-08-10-this-week-in-rust.md @@ -186,6 +186,8 @@ There are some jobs writing Rust! This week's listings: * Student Research Assistant in Karlsruhe, Germany for embedded development on ARM stm32. Contact [Oliver Schneider][oli_obk] +[oli_obk]: mailto:oliver.schneider@kit.edu + # Quote of the Week ``` From 2a7c964e0cfcc0c64a955a71a169965221639302 Mon Sep 17 00:00:00 2001 From: Vikrant Chaudhary Date: Sun, 16 Aug 2015 21:00:00 +0530 Subject: [PATCH 80/80] Revert "Revert "Revert "Revert "Merge pull request #66 from webstream-io/rusty-makeover"""" This reverts commit 4f1ed203968c0208fa0a6c73f3bd51800c3acb10. --- .gitignore | 3 +- content/pages/privacy-policy.md | 80 ++++++++ pelicanconf.py | 5 +- plugins/assets/Readme.rst | 106 ++++++++++ plugins/assets/__init__.py | 1 + plugins/assets/assets.py | 72 +++++++ themes/rusted/static/css/_base.scss | 192 ++++++++++++++++++ .../static/css/_bootstrap-overrides.scss | 6 + themes/rusted/static/css/_homepage.scss | 12 ++ themes/rusted/static/css/_layout.scss | 135 ++++++++++++ themes/rusted/static/css/main.scss | 46 +++++ themes/rusted/templates/_post-title.html | 10 + themes/rusted/templates/_subscribe-form.html | 13 ++ themes/rusted/templates/archives.html | 16 ++ themes/rusted/templates/article.html | 37 ++++ themes/rusted/templates/base.html | 78 +++++++ themes/rusted/templates/index.html | 31 +++ themes/rusted/templates/page.html | 31 +++ 18 files changed, 872 insertions(+), 2 deletions(-) create mode 100644 content/pages/privacy-policy.md create mode 100644 plugins/assets/Readme.rst create mode 100644 plugins/assets/__init__.py create mode 100644 plugins/assets/assets.py create mode 100644 themes/rusted/static/css/_base.scss create mode 100644 themes/rusted/static/css/_bootstrap-overrides.scss create mode 100644 themes/rusted/static/css/_homepage.scss create mode 100644 themes/rusted/static/css/_layout.scss create mode 100644 themes/rusted/static/css/main.scss create mode 100644 themes/rusted/templates/_post-title.html create mode 100644 themes/rusted/templates/_subscribe-form.html create mode 100644 themes/rusted/templates/archives.html create mode 100644 themes/rusted/templates/article.html create mode 100644 themes/rusted/templates/base.html create mode 100644 themes/rusted/templates/index.html create mode 100644 themes/rusted/templates/page.html diff --git a/.gitignore b/.gitignore index 514d1efe..d462c2f1 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ lib include output *~ -cache \ No newline at end of file +cache +.sass-cache \ No newline at end of file diff --git a/content/pages/privacy-policy.md b/content/pages/privacy-policy.md new file mode 100644 index 00000000..7038bb16 --- /dev/null +++ b/content/pages/privacy-policy.md @@ -0,0 +1,80 @@ +Title: Privacy Policy +Date: 2015-07-08 + +Last updated: 8 July, 2015 + +TWiR team ("us", "we", or "our") operates the This Week in Rust website (the "Service"). + +This page informs you of our policies regarding the collection, use and disclosure of Personal Information when you use our Service. + +We will not use or share your information with anyone except as described in this Privacy Policy. + +We use your Personal Information for providing and improving the Service. By using the Service, you agree to the collection and use of information in accordance with this policy. + +## Information Collection And Use + +While using our Service, we may ask you to provide us with certain personally identifiable information that can be used to contact or identify you. Personally identifiable information may include, but is not limited to, your email address ("Personal Information"). + +We collect this information for the purpose of providing the Service, identifying and communicating with you, responding to your requests/enquiries, and improving our services. + +## Log Data + +We collect information that your browser sends whenever you visit our Service ("Log Data"). This Log Data may include information such as your computer's Internet Protocol ("IP") address, browser type, browser version, the pages of our Service that you visit, the time and date of your visit, the time spent on those pages and other statistics. + +## Cookies + +Cookies are files with a small amount of data, which may include an anonymous unique identifier. Cookies are sent to your browser from a web site and transferred to your device. We use cookies to collect information in order to improve our services for you. + +You can instruct your browser to refuse all cookies or to indicate when a cookie is being sent. The Help feature on most browsers provide information on how to accept cookies, disable cookies or to notify you when receiving a new cookie. + +If you do not accept cookies, you may not be able to use some features of our Service and we recommend that you leave them turned on. + +## Do Not Track Disclosure + +We support Do Not Track ("DNT"). Do Not Track is a preference you can set in your web browser to inform websites that you do not want to be tracked. + +You can enable or disable Do Not Track by visiting the Preferences or Settings page of your web browser. + +## Service Providers + +We may employ third party companies and individuals to facilitate our Service, to provide the Service on our behalf, to perform Service-related services and/or to assist us in analyzing how our Service is used. + +These third parties have access to your Personal Information only to perform specific tasks on our behalf and are obligated not to disclose or use your information for any other purpose. + +Following third-party services have access to your Personal Information: MailChimp. + +In future, if we employ any additional third-party services that may access your Personal Information, we'll reflect that information in third-party services list above by updating this Privacy Policy. + +## Communications + +We may use your Personal Information to contact you with newsletters, marketing or promotional materials and other information that may be of interest to you. You may opt out of receiving any, or all, of these communications from us by following the unsubscribe link or instructions provided in any email we send. + +## Compliance With Laws + +We will disclose your Personal Information where required to do so by law or subpoena or if we believe that such action is necessary to comply with the law and the reasonable requests of law enforcement or to protect the security or integrity of our Service. + +## Security + +The security of your Personal Information is important to us, and we strive to implement and maintain reasonable, commercially acceptable security procedures and practices appropriate to the nature of the information we store, in order to protect it from unauthorized access, destruction, use, modification, or disclosure. + +However, please be aware that no method of transmission over the Internet, or method of electronic storage is 100% secure and we are unable to guarantee the absolute security of the Personal Information we have collected from you. + +## International Transfer + +Your information, including Personal Information, may be transferred to — and maintained on — computers located outside of your state, province, country or other governmental jurisdiction where the data protection laws may differ than those from your jurisdiction. + +Your consent to this Privacy Policy followed by your submission of such information represents your agreement to that transfer. + +## Links To Other Sites + +Our Service may contain links to other sites that are not operated by us. If you click on a third party link, you will be directed to that third party's site. We strongly advise you to review the Privacy Policy of every site you visit. + +We have no control over, and assume no responsibility for the content, privacy policies or practices of any third party sites or services. + +## Changes To This Privacy Policy + +This Privacy Policy is effective as of 8 July, 2015 and will remain in effect except with respect to any changes in its provisions in the future, which will be in effect immediately after being posted on this page. + +We reserve the right to update or change our Privacy Policy at any time and you should check this Privacy Policy periodically. Your continued use of the Service after we post any modifications to the Privacy Policy on this page will constitute your acknowledgment of the modifications and your consent to abide and be bound by the modified Privacy Policy. + +If we make any material changes to this Privacy Policy, we will notify you either through the email address you have provided us, or by placing a prominent notice on our website. diff --git a/pelicanconf.py b/pelicanconf.py index dfc83736..8ca3f653 100644 --- a/pelicanconf.py +++ b/pelicanconf.py @@ -8,7 +8,10 @@ SITEURL = 'http://this-week-in-rust.org' SOURCE_URL = 'https://github.com/cmr/this-week-in-rust' -THEME = 'pelican-elegant-1.3' +THEME = 'themes/rusted' + +PLUGIN_PATHS = ["plugins"] +PLUGINS = ['assets'] TIMEZONE = 'America/New_York' diff --git a/plugins/assets/Readme.rst b/plugins/assets/Readme.rst new file mode 100644 index 00000000..ae18044e --- /dev/null +++ b/plugins/assets/Readme.rst @@ -0,0 +1,106 @@ +Asset management +---------------- + +This plugin allows you to use the `Webassets`_ module to manage assets such as +CSS and JS files. The module must first be installed:: + + pip install webassets + +The Webassets module allows you to perform a number of useful asset management +functions, including: + +* CSS minifier (``cssmin``, ``yui_css``, ...) +* CSS compiler (``less``, ``sass``, ...) +* JS minifier (``uglifyjs``, ``yui_js``, ``closure``, ...) + +Others filters include CSS URL rewriting, integration of images in CSS via data +URIs, and more. Webassets can also append a version identifier to your asset +URL to convince browsers to download new versions of your assets when you use +far-future expires headers. Please refer to the `Webassets documentation`_ for +more information. + +When used with Pelican, Webassets is configured to process assets in the +``OUTPUT_PATH/theme`` directory. You can use Webassets in your templates by +including one or more template tags. The Jinja variable ``{{ ASSET_URL }}`` can +be used in templates and is relative to the ``theme/`` url. The +``{{ ASSET_URL }}`` variable should be used in conjunction with the +``{{ SITEURL }}`` variable in order to generate URLs properly. For example: + +.. code-block:: jinja + + {% assets filters="cssmin", output="css/style.min.css", "css/inuit.css", "css/pygment-monokai.css", "css/main.css" %} + + {% endassets %} + +... will produce a minified css file with a version identifier that looks like: + +.. code-block:: html + + + +These filters can be combined. Here is an example that uses the SASS compiler +and minifies the output: + +.. code-block:: jinja + + {% assets filters="sass,cssmin", output="css/style.min.css", "css/style.scss" %} + + {% endassets %} + +Another example for Javascript: + +.. code-block:: jinja + + {% assets filters="uglifyjs", output="js/packed.js", "js/jquery.js", "js/base.js", "js/widgets.js" %} + + {% endassets %} + +The above will produce a minified JS file: + +.. code-block:: html + + + +Pelican's debug mode is propagated to Webassets to disable asset packaging +and instead work with the uncompressed assets. + +If you need to create named bundles (for example, if you need to compile SASS +files before minifying with other CSS files), you can use the ``ASSET_BUNDLES`` +variable in your settings file. This is an ordered sequence of 3-tuples, where +the 3-tuple is defined as ``(name, args, kwargs)``. This tuple is passed to the +`environment's register() method`_. The following will compile two SCSS files +into a named bundle, using the ``pyscss`` filter: + +.. code-block:: python + + ASSET_BUNDLES = ( + ('scss', ['colors.scss', 'main.scss'], {'filters': 'pyscss'}), + ) + +Many of Webasset's available compilers have additional configuration options +(i.e. 'Less', 'Sass', 'Stylus', 'Closure_js'). You can pass these options to +Webassets using the ``ASSET_CONFIG`` in your settings file. + +The following will handle Google Closure's compilation level and locate +LessCSS's binary: + +.. code-block:: python + + ASSET_CONFIG = (('closure_compressor_optimization', 'WHITESPACE_ONLY'), + ('less_bin', 'lessc.cmd'), ) + +If you wish to place your assets in locations other than the theme output +directory, you can use ``ASSET_SOURCE_PATHS`` in your settings file to provide +webassets with a list of additional directories to search, relative to the +theme's top-level directory: + +.. code-block:: python + + ASSET_SOURCE_PATHS = ( + 'vendor/css', + 'scss', + ) + +.. _Webassets: https://github.com/miracle2k/webassets +.. _Webassets documentation: http://webassets.readthedocs.org/en/latest/builtin_filters.html +.. _environment's register() method: http://webassets.readthedocs.org/en/latest/environment.html#registering-bundles diff --git a/plugins/assets/__init__.py b/plugins/assets/__init__.py new file mode 100644 index 00000000..67b75dd5 --- /dev/null +++ b/plugins/assets/__init__.py @@ -0,0 +1 @@ +from .assets import * diff --git a/plugins/assets/assets.py b/plugins/assets/assets.py new file mode 100644 index 00000000..6dfb54f5 --- /dev/null +++ b/plugins/assets/assets.py @@ -0,0 +1,72 @@ +# -*- coding: utf-8 -*- +""" +Asset management plugin for Pelican +=================================== + +This plugin allows you to use the `webassets`_ module to manage assets such as +CSS and JS files. + +The ASSET_URL is set to a relative url to honor Pelican's RELATIVE_URLS +setting. This requires the use of SITEURL in the templates:: + + + +.. _webassets: https://webassets.readthedocs.org/ + +""" +from __future__ import unicode_literals + +import os +import logging + +from pelican import signals +logger = logging.getLogger(__name__) + +try: + import webassets + from webassets import Environment + from webassets.ext.jinja2 import AssetsExtension +except ImportError: + webassets = None + +def add_jinja2_ext(pelican): + """Add Webassets to Jinja2 extensions in Pelican settings.""" + + pelican.settings['JINJA_EXTENSIONS'].append(AssetsExtension) + + +def create_assets_env(generator): + """Define the assets environment and pass it to the generator.""" + + theme_static_dir = generator.settings['THEME_STATIC_DIR'] + assets_destination = os.path.join(generator.output_path, theme_static_dir) + generator.env.assets_environment = Environment( + assets_destination, theme_static_dir) + + if 'ASSET_CONFIG' in generator.settings: + for item in generator.settings['ASSET_CONFIG']: + generator.env.assets_environment.config[item[0]] = item[1] + + if 'ASSET_BUNDLES' in generator.settings: + for name, args, kwargs in generator.settings['ASSET_BUNDLES']: + generator.env.assets_environment.register(name, *args, **kwargs) + + if 'ASSET_DEBUG' in generator.settings: + generator.env.assets_environment.debug = generator.settings['ASSET_DEBUG'] + elif logging.getLevelName(logger.getEffectiveLevel()) == "DEBUG": + generator.env.assets_environment.debug = True + + for path in (generator.settings['THEME_STATIC_PATHS'] + + generator.settings.get('ASSET_SOURCE_PATHS', [])): + full_path = os.path.join(generator.theme, path) + generator.env.assets_environment.append_path(full_path) + + +def register(): + """Plugin registration.""" + if webassets: + signals.initialized.connect(add_jinja2_ext) + signals.generator_init.connect(create_assets_env) + else: + logger.warning('`assets` failed to load dependency `webassets`.' + '`assets` plugin not loaded.') diff --git a/themes/rusted/static/css/_base.scss b/themes/rusted/static/css/_base.scss new file mode 100644 index 00000000..2adb4946 --- /dev/null +++ b/themes/rusted/static/css/_base.scss @@ -0,0 +1,192 @@ +/** + * Reset some basic elements + */ +body, h1, h2, h3, h4, h5, h6, +p, blockquote, pre, hr, +dl, dd, ol, ul, figure { + margin: 0; + padding: 0; +} + + + +/** + * Basic styling + */ +body { + font-family: $base-font-family; + font-size: $base-font-size; + line-height: $base-line-height; + font-weight: 300; + color: $text-color; + background-color: $background-color; +} + + + +/** + * Set `margin-bottom` to maintain vertycal rhythm + */ +h1, h2, h3, h4, h5, h6, +p, blockquote, pre, +ul, ol, dl, figure, +%vertical-rhythm { + margin-bottom: $spacing-unit / 2; +} + + + +/** + * Images + */ +img { + max-width: 100%; + vertical-align: middle; +} + + + +/** + * Figures + */ +figure > img { + display: block; +} + +figcaption { + font-size: $small-font-size; +} + + + +/** + * Lists + */ +ul, ol { + margin-left: $spacing-unit; +} + +li { + > ul, + > ol { + margin-bottom: 0; + } +} + + + +/** + * Headings + */ +h1, h2, h3, h4, h5, h6 { + font-weight: 300; +} + + + +/** + * Links + */ +a { + color: $brand-color; + text-decoration: none; + + &:visited { + color: darken($brand-color, 15%); + } + + &:hover { + color: $text-color; + text-decoration: underline; + } +} + + + +/** + * Blockquotes + */ +blockquote { + color: $grey-colour; + border-left: 4px solid $grey-colour-light; + padding-left: $spacing-unit / 2; + font-size: 18px; + letter-spacing: -1px; + font-style: italic; + + > :last-child { + margin-bottom: 0; + } +} + + + +/** + * Code formatting + */ +pre, +code { + font-size: 15px; + border: 1px solid $grey-colour-light; + border-radius: 3px; + background-color: #eef; +} + +code { + padding: 1px 5px; +} + +pre { + padding: 8px 12px; + overflow-x: scroll; + + > code { + border: 0; + padding-right: 0; + padding-left: 0; + } +} + + + +/** + * Wrapper + */ +.wrapper { + // don't use calc(), doesn't seem to work in minified CSS. + max-width: 800px - ($spacing-unit * 2); + margin-right: auto; + margin-left: auto; + padding-right: $spacing-unit; + padding-left: $spacing-unit; + @extend %clearfix; + + @include media-query($on-laptop) { + max-width: 800px - $spacing-unit; + padding-right: $spacing-unit / 2; + padding-left: $spacing-unit / 2; + } +} + + + +/** + * Clearfix + */ +%clearfix { + + &:after { + content: ""; + display: table; + clear: both; + } +} + + + +/** + * Text styling + */ +strong, b { + font-weight: bold; +} diff --git a/themes/rusted/static/css/_bootstrap-overrides.scss b/themes/rusted/static/css/_bootstrap-overrides.scss new file mode 100644 index 00000000..6bee3a9d --- /dev/null +++ b/themes/rusted/static/css/_bootstrap-overrides.scss @@ -0,0 +1,6 @@ + +.btn-primary { + background-color: rgb(66, 139, 202); + border-color: rgb(53, 126, 189); + color: rgb(255, 255, 255); +} diff --git a/themes/rusted/static/css/_homepage.scss b/themes/rusted/static/css/_homepage.scss new file mode 100644 index 00000000..5fa0deb2 --- /dev/null +++ b/themes/rusted/static/css/_homepage.scss @@ -0,0 +1,12 @@ + +.pitch { + font-size: 46px; + font-style: italic; + line-height: 1.25; + margin-bottom: 40px; + margin-top: 36px; +} + +.subtext { + +} diff --git a/themes/rusted/static/css/_layout.scss b/themes/rusted/static/css/_layout.scss new file mode 100644 index 00000000..8148717e --- /dev/null +++ b/themes/rusted/static/css/_layout.scss @@ -0,0 +1,135 @@ +/** + * Site header + */ +.site-header { + border-top: 5px solid $grey-colour-dark; + border-bottom: 1px solid $grey-colour-light; + min-height: 56px; + + // Positioning context for the mobile navigation icon + position: relative; +} + +.site-title { + font-size: 36px; + font-weight: bold; + line-height: 64px; + letter-spacing: -1px; + margin-bottom: 0; + + &, + &:visited { + color: $grey-colour-dark; + } +} + + +/** + * Site footer + */ +body > footer { + border-top: 1px solid $grey-colour-light; + padding: $spacing-unit 0; + margin-top: $spacing-unit; +} + + +/** + * Post list + */ + +.past-issues { + margin-top: 20px; + + li.nav-header h2 { + border-bottom: 1px solid $grey-colour-light; + } + + li { + line-height: 1.8; + } +} + +.time-prefix { + font-family: "Fira Mono", monospace; +} + +.post-title { + font-size: 20px; +} + + +/** + * Page content + */ +.page-content { + padding-top: $spacing-unit; +} + +.page-heading { + font-size: 20px; +} + +.post-list { + margin-left: 0; + list-style: none; + + > li { + margin-bottom: $spacing-unit; + } +} + +.post-meta { + font-size: $small-font-size; + color: $grey-colour; +} + +.post-link { + display: block; + font-size: 24px; +} + + + +/** + * Posts + */ + +.post { + margin-top: 32px; + border: 1px solid $grey-colour-light; + padding: 24px; + border-radius: 8px; +} + +.post-header { + margin-bottom: $spacing-unit; +} + +.post-content { + margin-bottom: $spacing-unit; + + h2 { + font-size: 32px; + + @include media-query($on-laptop) { + font-size: 28px; + } + } + + h3 { + font-size: 26px; + + @include media-query($on-laptop) { + font-size: 22px; + } + } + + h4 { + font-size: 20px; + + @include media-query($on-laptop) { + font-size: 18px; + } + } +} diff --git a/themes/rusted/static/css/main.scss b/themes/rusted/static/css/main.scss new file mode 100644 index 00000000..40e1ed3a --- /dev/null +++ b/themes/rusted/static/css/main.scss @@ -0,0 +1,46 @@ +@charset "utf-8"; + + +// Our variables +$base-font-family: 'Fira Sans', "Helvetica Neue", Helvetica, Arial, sans-serif; +$base-font-size: 16px; +$small-font-size: $base-font-size * 0.875; +$base-line-height: 1.5; + +$spacing-unit: 30px; + +$text-color: #444; +$background-color: #fdfdfd; +$brand-color: #2a7ae2; + +$grey-colour: #828282; +$grey-colour-light: lighten($grey-colour, 40%); +$grey-colour-dark: darken($grey-colour, 25%); + +$on-palm: 600px; +$on-laptop: 800px; + + + +// Using media queries with like this: +// @include media-query($palm) { +// .wrapper { +// padding-right: $spacing-unit / 2; +// padding-left: $spacing-unit / 2; +// } +// } +@mixin media-query($device) { + @media screen and (max-width: $device) { + @content; + } +} + + + +// Import partials +@import + "bootstrap-overrides", + "base", + "layout", + "homepage" +; diff --git a/themes/rusted/templates/_post-title.html b/themes/rusted/templates/_post-title.html new file mode 100644 index 00000000..471135d2 --- /dev/null +++ b/themes/rusted/templates/_post-title.html @@ -0,0 +1,10 @@ +
+
+ + + +
+ +
diff --git a/themes/rusted/templates/_subscribe-form.html b/themes/rusted/templates/_subscribe-form.html new file mode 100644 index 00000000..9177ada0 --- /dev/null +++ b/themes/rusted/templates/_subscribe-form.html @@ -0,0 +1,13 @@ +
+
+
+
+ + + + +
+ Receive a weekly newsletter, every Monday. Easy to unsubscribe and no spam, promise. +
+
+
diff --git a/themes/rusted/templates/archives.html b/themes/rusted/templates/archives.html new file mode 100644 index 00000000..17ebfb1a --- /dev/null +++ b/themes/rusted/templates/archives.html @@ -0,0 +1,16 @@ +{% extends "base.html" %} + +{% block content %} +
+
+
    + + {% for article in articles %} +
  • + {% include "_post-title.html" %} +
  • + {% endfor %} +
+
+
+{% endblock content %} diff --git a/themes/rusted/templates/article.html b/themes/rusted/templates/article.html new file mode 100644 index 00000000..416f91b9 --- /dev/null +++ b/themes/rusted/templates/article.html @@ -0,0 +1,37 @@ +{% extends "base.html" %} + +{% block title %} +{{ article.title }} {%if article.subtitle %} - {{ article.subtitle }} {% endif %} · {{ super() }} +{% endblock title %} + +{% block head_description %} +{% if article.summary %} +{{ article.summary|striptags }} +{% endif %} +{% endblock head_description %} + +{% block meta_tags_in_head %} +{% if article.tags or article.category or article.keywords %} + +{% endif %} +{% endblock meta_tags_in_head %} + +{% block content %} + +
+

Like what you see? Subscribe!

+
+ +{% include "_subscribe-form.html" %} + +
+
+ {% include "_post-title.html" %} +
+ +
+ {{ article.content }} +
+ +
+{% endblock content %} diff --git a/themes/rusted/templates/base.html b/themes/rusted/templates/base.html new file mode 100644 index 00000000..a8f56063 --- /dev/null +++ b/themes/rusted/templates/base.html @@ -0,0 +1,78 @@ + + + + + + + + {% if article and article.author %} + + + {% elif page and page.author %} + + + {% else %} + + + {% endif %} + + {% if SITE_DESCRIPTION %} + + {% endif %} + + {% block meta_tags_in_head %} + {% endblock meta_tags_in_head %} + + {% block title %}{{ SITENAME|striptags }}{% endblock title %} + + {% block head_links %} + {% endblock head_links %} + + + + + + {% assets filters="scss,cssmin", output="css/web-min.css", "css/main.scss" %} + + {% endassets %} + + + + +
+
+ {% block content %} + {% endblock content %} +
+
+ + + + diff --git a/themes/rusted/templates/index.html b/themes/rusted/templates/index.html new file mode 100644 index 00000000..43fa4609 --- /dev/null +++ b/themes/rusted/templates/index.html @@ -0,0 +1,31 @@ +{% extends "base.html" %} + +{% block content %} +
+
+

Handpicked Rust updates,
delivered to your inbox.

+

Stay up to date with events, learning resources, and recent developments in Rust community.

+
+
+{% include "_subscribe-form.html" %} +
+
+
    + + {% for article in articles %} + {% if not RECENT_ARTICLES_COUNT %} + {% set RECENT_ARTICLES_COUNT = 5 %} + {% endif %} + {% if loop.index0 < RECENT_ARTICLES_COUNT %} +
  • + {% include "_post-title.html" %} +
  • + {% endif %} + {% endfor %} +
  • + View more → +
  • +
+
+
+{% endblock content %} diff --git a/themes/rusted/templates/page.html b/themes/rusted/templates/page.html new file mode 100644 index 00000000..a4f21f4b --- /dev/null +++ b/themes/rusted/templates/page.html @@ -0,0 +1,31 @@ +{% extends "base.html" %} + +{% block title %} +{{ page.title }} {%if page.subtitle %} - {{ page.subtitle }} {% endif %} · {{ super() }} +{% endblock title %} + +{% block head_description %} +{% if page.summary %} +{{ article.summary|striptags }} +{% endif %} +{% endblock head_description %} + +{% block meta_tags_in_head %} +{% if page.tags or page.category or page.keywords %} + +{% endif %} +{% endblock meta_tags_in_head %} + +{% block content %} + +
+
+

{{ page.title }}

+
+ +
+ {{ page.content }} +
+ +
+{% endblock content %}