Utopian Weekly Automation

in #utopian-io6 years ago (edited)

image.png

Some of the early Utopians will remember the Utopian Weekly, the Newsletter promoting the most interesting projects and contributions of the past week. As you might notice, the last Weekly has been posted quite a while ago... To give the name "Weekly" a bit more meaning again, we decided to automate the process as far as possible. ;)

Right now there's still some manual work needed as we can't pull all the data that's needed from the API, like images and a proper project description. But what it does for now is the following:

  • read two Twig templates, one for the markdown and one for the HTML version for mails
  • render and populate them with data from the API (projects, contributions, moderators, sponsors)
  • make a post on the Steem blockchain and send an email
  • (generate a general purpose markdown template)

Not too special but does what it's supposed to do.

If you look in the repository there are a lot of files because what you see is the Vue.js webpack template. I wanted and still want to have a UI to generate and edit templates. That's why all this is there, although currently only two files are relevant. Maybe I should have started with just those two files but... well... it's committed now, so be it. :]

src/weekly.js

// generate weekly templates with data
node src/weekly --generate
// generate templates and publish post/mail
node src/weekly --generate-and-send
// publish post/mail from a template that's already generated
node src/weekly --send-generated static/archive/utopian-weekly-yyyy-mm-dd

src/post.js

// generate general post template for other purposes:
node src/post

Templates

templates/weekly.html
templates/weekly.md
teampltes/post.md

(example outputs)

Technology Stack

TODO

  • integrate newsletter subscribers (currently only a test mail gets sent because email version is still postponed)
  • pull project images and descriptions from the API once available
  • improve algorithm to sort projects
  • implement UI (Vue) to edit and generate templates
  • more decoupled approach to make it more general purpose

Contribute

I would be most interested in the UI thing. If there's someone who want's to work on this with Vue.js, contact me on discord (@mkt#8655).

Thank you @wehmoen, who has already submitted some commits!

For everything else... simply fork and submit pull requests. You are also very welcome to fork and adjust things to use it with your own templates.



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Hey @mkt I am @utopian-io. I have just upvoted you!

Achievements

  • Seems like you contribute quite often. AMAZING!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x

Thank you for the contribution. It has been approved.

Great post, nice use of markdown to make the post look good.

I'm looking forward see this weekly post come back as well.

I've found a bug, and made PR#6 to fix it.

You can contact us on Discord.
[utopian-moderator]

Master 😍😍 thanks for contributions 😘😀

Congratulations @mkt, this post is the seventh most rewarded post (based on pending payouts) in the last 12 hours written by a Superuser account holder (accounts that hold between 1 and 10 Mega Vests). The total number of posts by Superuser account holders during this period was 1374 and the total pending payments to posts in this category was $13926.98. To see the full list of highest paid posts across all accounts categories, click here.

If you do not wish to receive these messages in future, please reply stop to this comment.

And here I am.. just surfing the blockchain. HELLO FUTURE BLOCKCHAIN ARCHAEOLOGISTS!!

Good work done. Looking forward to seeing the email version resume.

Coin Marketplace

STEEM 0.35
TRX 0.12
JST 0.040
BTC 70557.88
ETH 3560.83
USDT 1.00
SBD 4.75