Closed jperras closed 5 years ago
Are you the one I was chatting with on Twitter about this? Or is "curmudgeonly subscribers" appropriately pluralized? 😉
@jerodsanto Apparently there are dozens of us! It wasn't me on Twitter.
I read my email in text/plain, and while w3m
does a decent job of formatting the HTML into ASCII, it's not as good as it could be. I know I'm one of the minority of people that abhor HTML in emails, though, so I make do with what I can :)
That's hilarious. This is not that hard of a feature, really, I just figured nobody cared. 😆
So we do send it in both html and text formats currently, but we're just letting Campaign Monitor consume our html and spit out a text version, which is not ideal.
Are you saying that your client ignores the text version we deliver and does its own ASCII conversion?
Are you saying that your client ignores the text version we deliver and does its own ASCII conversion?
I thought I was only receiving HTML emails, which my client would then convert to something more readable (I can usually tell by how it ends up looking), but I was mistaken. You are actually sending the text/plain content type:
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
So, it must be the conversion from HTML to text/plain
that Campaign Monitor is performing that just looks odd, as you mentioned.
Ok that makes sense. I'm keen on making this happen, but as an html kinda dude I don't know what a good text version would look like...
Would sensible Markdown text be ideal? If not, maybe you could take the most recent issue and convert it to an ASCII style that is pleasing to you and we can go from there?
Would sensible Markdown text be ideal? If not, maybe you could take the most recent issue and convert it to an ASCII style that is pleasing to you and we can go from there?
I can definitely do that. Is appending the result to this issue ok?
Yeah that works for me
Here's a first pass at it. I took some liberty to add in pseudo template variables:
* View Web Version: {WEB_VERSION_URL}
* Fork on GitHub: {NIGHTLY_REPO_URL}
* Changelog Weekly: {CHANGELOG_WEEKLY_URL}
* Changelog Nightly: {CHANGELOG_NIGHTLY_URL
--
## Top Starred Repositories – First Timers
These repos were not previously featured in Changelog Nightly
### {REPOSITORY_NAME} - {REPOSITORY_URL} ({REPO_MAIN_LANGUAGE})
{STARS_COUNT} stars, up by {UP_COUNT}.
{REPO_DESCRIPTION}
### {REPOSITORY_NAME} - {REPOSITORY_URL} ({REPO_MAIN_LANGUAGE})
{STARS_COUNT} stars, up by {UP_COUNT}.
{REPO_DESCRIPTION}
### {REPOSITORY_NAME} - {REPOSITORY_URL} ({REPO_MAIN_LANGUAGE})
{STARS_COUNT} stars, up by {UP_COUNT}.
{REPO_DESCRIPTION}
--
## Top New Repositories
These repos were open sourced on {NEW_REPO_DATE}
### {REPOSITORY_NAME} - {REPOSITORY_URL} ({REPO_MAIN_LANGUAGE})
{STARS_COUNT} stars, up by {UP_COUNT}.
{REPO_DESCRIPTION}
### {REPOSITORY_NAME} - {REPOSITORY_URL} ({REPO_MAIN_LANGUAGE})
{STARS_COUNT} stars, up by {UP_COUNT}.
{REPO_DESCRIPTION}
### {REPOSITORY_NAME} - {REPOSITORY_URL} ({REPO_MAIN_LANGUAGE})
{STARS_COUNT} stars, up by {UP_COUNT}.
{REPO_DESCRIPTION}
--
## Top Starred Repositories – Repeat Performers
These repos were previously featured in Changelog Nightly.
### {REPOSITORY_NAME} - {REPOSITORY_URL} ({REPO_MAIN_LANGUAGE})
{TOTAL_STARS_COUNT} stars, up by {UP_COUNT}, and listed {NUM_LIST_COUNT} times.
{REPO_DESCRIPTION}
### {REPOSITORY_NAME} - {REPOSITORY_URL} ({REPO_MAIN_LANGUAGE})
{TOTAL_STARS_COUNT} stars, up by {UP_COUNT}, and listed {NUM_LIST_COUNT} times.
{REPO_DESCRIPTION}
### {REPOSITORY_NAME} - {REPOSITORY_URL} ({REPO_MAIN_LANGUAGE})
{TOTAL_STARS_COUNT} stars, up by {UP_COUNT}, and listed {NUM_LIST_COUNT} times.
{REPO_DESCRIPTION}
--
Subscribe to Changelog Weekly [https://changelog.com/weekly] – our curated and less frequent email.
You're receiving this because you subscribed at https://changelog.com/nightly/
I kept it as Markdown but without the [url](href)
structure, since if you're not rendering the raw ASCII into Markdown it doesn't really make sense, and adds to the line noise.
I dig it; will blend with a few ideas I have and get something shipped. Then you can live with it a few days and provide feedback. I'll also look up the Twitter person and invite them here to give their feedback as well.
@jerodsanto Thanks! Sounds like a plan to me.
Ok here's what I have so far. One thing I considered, but wasn't sure about is maybe indenting the star counts and details would make it easier to scan?
If you're happy with this we can ship it and see what it looks like in an actual email...
# Changelog Nightly
* View on Web: http://nightly.changelog.com/2019/03/16
* Fork on GitHub: https://github.com/thechangelog/nightly
* Changelog Weekly: https://changelog.com/weekly
---
## Top Starred Repositories - First Timers
(These repos were not previously featured in Changelog Nightly)
### the-craft-of-selfteaching (Jupyter Notebook) - https://github.com/selfteaching/the-craft-of-selfteaching
3,168 stars, up by 668
One has no future if one couldn't teach themself.
### code-server (TypeScript) - https://github.com/codercom/code-server
9,760 stars, up by 362
Run VS Code on a remote server.
### js-dev-reads - https://github.com/twhite96/js-dev-reads
941 stars, up by 303
A list of books 📚and articles 📠for the discerning web developer to read.
### laxxx (JavaScript) - https://github.com/alexfoxy/laxxx
1,694 stars, up by 254
Simple & light weight (2kb minified & zipped) vanilla javascript plugin to create smooth & beautiful animations when you scrolllll! Harness the power of the most intuitive interaction and make your websites come alive!
### LARK (Python) - https://github.com/PaddlePaddle/LARK
529 stars, up by 253
LAnguage Representations Kit
### Machine-Learning-Study-Path-March-2019 - https://github.com/clone95/Machine-Learning-Study-Path-March-2019
966 stars, up by 210
A complete ML study path, focused on TensorFlow and Scikit-Learn
### calculator (C++) - https://github.com/Microsoft/calculator
13,370 stars, up by 176
Windows Calculator: A simple yet powerful calculator that ships with Windows
### V - https://github.com/vlang-io/V
1,014 stars, up by 168
Simple, fast, safe, compiled language for creating maintainable software. Supports translation from C/C++.
### ghidra - https://github.com/NationalSecurityAgency/ghidra
11,115 stars, up by 123
Ghidra is a software reverse engineering (SRE) framework
### wechat-format (JavaScript) - https://github.com/lyricat/wechat-format
754 stars, up by 119
微信公众å·æŽ’ç‰ˆç¼–è¾‘å™¨ï¼Œè½¬æ¢ Markdown 到微信特制的 HTML
### gmail_clone (Dart) - https://github.com/AppleEducate/gmail_clone
316 stars, up by 117
A Gmail Clone built with Flutter
### Submit News - https://changelog.com/submit
Where do you think we should shine the light?
---
## Top New Repositories
(These repos were open sourced on March 16, 2019)
### strace-little-book - https://github.com/NanXiao/strace-little-book
63 stars, up by 28
A little book which introduces strace.
### GTANativeResolution (C) - https://github.com/TheOfficialFloW/GTANativeResolution
22 stars, up by 14
Internal resolution patch for PSP GTA series
### vue-skeleton-mvp (Vue) - https://github.com/davellanedam/vue-skeleton-mvp
40 stars, up by 13
VueJs, Vuetify, Vue Router and Vuex skeleton MVP written on JavaScript using async/await built to work with API REST skeleton: <a href='https://github.com/davellanedam/node-express-mongodb-jwt-rest-api-skeleton'>https://github.com/davellanedam/node-express-mongodb-jwt-rest-api-skeleton</a>
### copyless (Rust) - https://github.com/kvark/copyless
19 stars, up by 12
Avoid memcpy calls when working with standard containers
### asmshare - https://github.com/cch123/asmshare
23 stars, up by 11
some ideas about asm && plan9 asm
### EVTX-SAMPLES - https://github.com/sbousseaden/EVTX-SAMPLES
14 stars, up by 9
Windows Events Samples
### jikefm (Go) - https://github.com/0neSe7en/jikefm
11 stars, up by 8
å³åˆ»ç”µå° for cli
### coloursum (Rust) - https://github.com/ticky/coloursum
17 stars, up by 8
🎨 Colourise your checksum output
### Founders Talk - https://changelog.com/founderstalk
In-depth, one on one conversations with founders, CEOs, and makers
---
## Top Starred Repositories - Repeat Performers
(These repos were previously featured in Changelog Nightly)
### libfacedetection (C++) - https://github.com/ShiqiYu/libfacedetection
5,240 stars, up by 508, listed 2 times
An open source library for face detection in images. The face detection speed can reach 1500FPS.
### send (JavaScript) - https://github.com/mozilla/send
6,201 stars, up by 157, listed 4 times
Simple, private file sharing from the makers of Firefox
## END
Subscribe to Changelog Weekly (https://changelog.com/weekly) - our curated and less frequent email
You're receiving this because you subscribed at https://changelog.com/nightly
Copyright Changelog Media, All rights reserved
This looks great. Two suggestions, after thinking about it for a bit:
It might be advantageous to put repo URLs on their own separate line - some repos have very long names, and I can see that being a problem. Example:
### this-is-a-really-long-project-name-just-for-the-sake-of-having-a-long-name (JavaScript)
- https://github.com/example/this-is-a-really-long-project-name-just-for-the-sake-of-having-a-long-name
- 6,201 stars, up by 157, listed 4 times
Some really long project that is just to be used as an example.
@jperras okie doke, first plaintext issue will be shipping tonight! 💪
@jerodsanto Thanks! Looking forward to it!
Received it, and it looks great:
(the blue [N]
marks are added by my mail reader so that I can open up URLs by a number instead of having to mouse click/copy them; ignore them in this screenshot)
It also continues to render high plane unicode symbols, which is 👍. The only thing that seems to be amiss is the HTML entities that made their way into the description of one of the repositories, as I've highlighted via red circles in the screenshot above.
The entities are a bit annoying, but not a deal breaker; it might also only be for this particular description, too, since the unicode symbols were encoded just fine.
In any regard, I've dealt with far worse in my mail client. If you're able to figure out what's causing the quoted HTML entities to show up without pulling your hair out then go for it, otherwise I'm really happy with the result!
Thank you for this! I was the one asking for this on twitter but did not found the time to take a look at the issue 😅
@jperras we're now unescaping html entities in text descriptions (b80bc92), so that shouldn't be a problem going forward.
I think we can call this feature a wrap, closing issue ✊
Very awesome. Thanks for implementing this, @jerodsanto. It is very much appreciated!
It would be advantageous for some of the more curmudgeonly subscribers, such as myself, to receive the nightly newsletter in
text/plain
.