All Projects β†’ muesli β†’ Markscribe

muesli / Markscribe

Licence: mit
Your personal markdown scribe with template-engine and Git(Hub) & RSS powers πŸ“œ

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Markscribe

Pvr.hts
Kodi's Tvheadend HTSP client addon
Stars: ✭ 104 (-0.95%)
Mutual labels:  hacktoberfest
Serenity
A Rust library for the Discord API.
Stars: ✭ 1,387 (+1220.95%)
Mutual labels:  hacktoberfest
Larasupport
πŸ“¦ Adds Laravel Packages Support to Lumen and Vendor Publish Artisan Command.
Stars: ✭ 104 (-0.95%)
Mutual labels:  hacktoberfest
React Native Draftjs
A full fledged React Native Rich Text editor based on draft.js
Stars: ✭ 103 (-1.9%)
Mutual labels:  hacktoberfest
Ts React Boilerplate
Universal React App with Redux 4, Typescript 3, and Webpack 4
Stars: ✭ 104 (-0.95%)
Mutual labels:  hacktoberfest
Markor
Text editor - Notes & ToDo (for Android) - Markdown, todo.txt, plaintext, math, ..
Stars: ✭ 1,394 (+1227.62%)
Mutual labels:  hacktoberfest
Cuban Opensource
Awesome list of Cuban opensource projects. Just to know what is being openly developed in Cuba.
Stars: ✭ 103 (-1.9%)
Mutual labels:  hacktoberfest
Powershell
Development repository for the powershell cookbook
Stars: ✭ 104 (-0.95%)
Mutual labels:  hacktoberfest
Filosofunk
Lindas frases para aquecer o seu coração
Stars: ✭ 104 (-0.95%)
Mutual labels:  hacktoberfest
Bonjourbrowser
Service Browser is a utility that discovers all services registered in a network
Stars: ✭ 104 (-0.95%)
Mutual labels:  hacktoberfest
Request.js
Send parameterized requests to GitHub’s APIs with sensible defaults in browsers and Node
Stars: ✭ 104 (-0.95%)
Mutual labels:  hacktoberfest
Wingpanel
Stylish top panel that holds indicators and spawns an application launcher
Stars: ✭ 104 (-0.95%)
Mutual labels:  hacktoberfest
Rakudo
πŸ¦‹ Rakudo – Raku on MoarVM, JVM, and JS
Stars: ✭ 1,471 (+1300.95%)
Mutual labels:  hacktoberfest
Community.vmware
Ansible Collection for VMWare
Stars: ✭ 104 (-0.95%)
Mutual labels:  hacktoberfest
Libmtev
Mount Everest Application Framework
Stars: ✭ 104 (-0.95%)
Mutual labels:  hacktoberfest
Snek
PowerShell wrapper around Python for .NET to invoke Python from PowerShell
Stars: ✭ 103 (-1.9%)
Mutual labels:  hacktoberfest
Operating System
πŸ”° Home Assistant Operating System
Stars: ✭ 1,920 (+1728.57%)
Mutual labels:  hacktoberfest
Famous Bugs
Famous bugs fixed, problems solved and failures experienced in software history πŸ› 🐝 🐜 🐞
Stars: ✭ 105 (+0%)
Mutual labels:  hacktoberfest
Vagrant Librarian Puppet
A Vagrant plugin to install Puppet modules using Librarian-Puppet.
Stars: ✭ 104 (-0.95%)
Mutual labels:  hacktoberfest
Paraunit
Run PHPUnit tests in parallel
Stars: ✭ 104 (-0.95%)
Mutual labels:  hacktoberfest

markscribe

Latest Release Build Status Go ReportCard GoDoc

Your personal markdown scribe with template-engine and Git(Hub) & RSS powers πŸ“œ

You can run markscribe as a GitHub Action: readme-scribe

Usage

Render a template to stdout:

markscribe template.tpl

Render to a file:

markscribe -write /tmp/output.md template.tpl

Installation

Packages & Binaries

If you use Brew, you can simply install the package:

brew install muesli/tap/markscribe

Or download a binary from the releases page. Linux (including ARM) binaries are available, as well as Debian and RPM packages.

Build From Source

Alternatively you can also build markscribe from source. Make sure you have a working Go environment (Go 1.11 or higher is required). See the install instructions.

To install markscribe, simply run:

go get github.com/muesli/markscribe

Templates

You can find an example template to generate a GitHub profile README under templates/github-profile.tpl. Make sure to fill in (or remove) placeholders, like the RSS-feed or social media URLs.

Rendered it looks a little like my own profile page: https://github.com/muesli

Functions

RSS feed

{{range rss "https://domain.tld/feed.xml" 5}}
Title: {{.Title}}
URL: {{.URL}}
Published: {{humanize .PublishedAt}}
{{end}}

Your recent contributions

{{range recentContributions 10}}
Name: {{.Repo.Name}}
Description: {{.Repo.Description}}
URL: {{.Repo.URL}})
Occurred: {{humanize .OccurredAt}}
{{end}}

This function requires GitHub authentication!

Repositories you recently created

{{range recentRepos 10}}
Name: {{.Name}}
Description: {{.Description}}
URL: {{.URL}})
Stars: {{.Stargazers}}
{{end}}

This function requires GitHub authentication!

Recent releases you contributed to

{{range recentReleases 10}}
Name: {{.Name}}
Git Tag: {{.LastRelease.TagName}}
URL: {{.LastRelease.URL}}
Published: {{humanize .LastRelease.PublishedAt}}
{{end}}

This function requires GitHub authentication!

Your published gists

{{range gists 10}}
Name: {{.Name}}
Description: {{.Description}}
URL: {{.URL}}
Created: {{humanize .CreatedAt}}
{{end}}

This function requires GitHub authentication!

Your latest followers

{{range followers 5}}
Username: {{.Login}}
Name: {{.Name}}
Avatar: {{.AvatarURL}}
URL: {{.URL}}
{{end}}

This function requires GitHub authentication!

Your sponsors

{{range sponsors 5}}
Username: {{.User.Login}}
Name: {{.User.Name}}
Avatar: {{.User.AvatarURL}}
URL: {{.User.URL}}
Created: {{humanize .CreatedAt}}
{{end}}

This function requires GitHub authentication!

Your GoodReads reviews

{{range goodReadsReviews 5}}
- {{.Book.Title}} - {{.Book.Link}} - {{.Rating}} - {{humanize .DateUpdated}}
{{- end}}

This function requires GoodReads API key!

Your GoodReads currently reading books

{{range goodReadsCurrentlyReading 5}}
- {{.Book.Title}} - {{.Book.Link}} - {{humanize .DateUpdated}}
{{- end}}

This function requires GoodReads API key!

Template Engine

markscribe uses Go's powerful template engine. You can find its documentation here: https://golang.org/pkg/text/template/

Template Helpers

markscribe comes with a few handy template helpers:

To format timestamps, call humanize:

{{humanize .Timestamp}}

To reverse the order of a slice, call reverse:

{{reverse (rss "https://domain.tld/feed.xml" 5)}}

GitHub Authentication

In order to access some of GitHub's API, markscribe requires you to provide a valid GitHub token in an environment variable called GITHUB_TOKEN. You can create a new token by going to your profile settings:

Developer settings > Personal access tokens > Generate new token

GoodReads API key

In order to access some of GoodReads' API, markscribe requires you to provide a valid GoodReads key in an environment variable called GOODREADS_TOKEN. You can create a new token by going here. Then you need to go to your repository and add it, Settings -> Secrets -> New secret. You also need to set your GoodReads user ID in your secrets as GOODREADS_USER_ID.

FAQ

Q: That's awesome, but can you expose more APIs and data?
A: Of course, just open a new issue and let me know what you'd like to do with markscribe!

Q: That's awesome, but I don't have my own server to run this on. Can you help?
A: Check out readme-scribe, a GitHub Action that runs markscribe for you!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].