npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

joplin-plugin-life-calendar

v1.4.1

Published

This plugin renders yaml-based fenced code into a Life Calendar inspired by Tim Urban's article "Your Life in Weeks".

Downloads

13

Readme

Life Calendar

This plugin renders yaml-based fenced code into a Life Calendar inspired by Tim Urban's article "Your Life in Weeks".

screenshot

The purpose of Life Calendar is documenting the events in your life but there is nothing stopping you from using it for other purposes such as project management. The yaml-based syntax make it easy to export data to other format.

Usage

You need to create a fenced code with life as language to render the calendar then input the events using the the follow template:

  - date : yyyy-mm-dd    # (required) (interpretation DD/MM/YYYY 12:00 local time)
    title:               # (required) event title
    icon :               # (optional) event icon, use 1st character of title if icon is null
    z-index:             # (optional) priority of the event, the one with the bigest value will be shown (default:0)
    className:           # (optional) css class of the event (color, background-color, etc.)
    color:               # (optional) overwrite color
    backgroundColor:     # (optional) overwrite background-color

This plugin also support periods which is a span of time instead of a point in time. The template for period is as follow:

  - start: yyyy-mm-dd    # (required) (interpretation: DD/MM/YYYY 01:00 local time)
    end  : yyyy-mm-dd    # (required) (interpretation: DD/MM/YYYY 23:00 local time)
    title:               # (required) event title
    className:           # (optional) css class of the event (color, background-color, etc.)
    color:               # (optional) overwrite color
    icon:                # (optional) period icon
    backgroundColor:     # (optional) overwrite background-color

The example below should demostrate all the supported features. It is recommended to intend the events block with spaces as yalm parser is quite sensitive. You may encounter parsing problems when typing with Joplin as it use tab for intending.

From v1.3.0 forward, this plugin also support day-based, month-based, and year-based calendar beside week-based by writting down the desired type type: month. Moreover you can click on the a square to pin down the details window so you can read. Click again at any square to unpin it.

# 📆 Life Calendar

<style>
  .education { color:white !important; background-color:red !important; } 
</style>

- **Date of Birth**: 01/01/2020

```life
type: week        # [ day, week, month, year ]
dob : 2020-01-01  # alias=startDate
lifespan: 4       # alias=duration
# dod: 2026-01-01 # alias=endDate
ages: [1,2,3,4,5,6]
events:
  - { date: 2022-04-19, title: Inline Event, icon: 🍿, backgroundColor: navy, color: white }
  - date : 2021-06-12
    title: Two events in the same week
    color: yellow
  - date : 2021-06-10
    title: Got a Gold Medal
    icon : 🥇
    z-index: 1 # shown icon of this event in calendar board instead of the other one
    backgroundColor: green
  - date : 2021-03-28
    title: Random Event
    icon : 🎤
    color: black
    backgroundColor: '#6495ED'
  - date : 2021-01-03
    title: Birthday Party
    icon : 🎂
    color: black
    backgroundColor: hotpink
  - date : 2020-08-19
    title: Obtain Magician License
    icon : 🎩
    className: education
  - date : 2020-03-19
    title: First character used as icon
    backgroundColor: orange
    color: black
  - date : 2020-03-27
    title: Used explicit icon
    icon : '<b>F</b>'
    color: orange
    backgroundColor: black
  - date : 2020-01-01
    title: Date of Birth
    icon : 👶
    backgroundColor: transparent
periods:
  - start: 2022-09-19
    end  : 2022-11-05
    title: Sunny
    icon : 🌤
  - start: 2022-02-16
    end  : 2022-08-16
    title: Advanced Magic Course
    className: education
  - start: 2020-12-15
    end: 2022-01-01
    title: High school
    color: black
    backgroundColor: lightblue
  - start: 2020-02-01
    end: 2020-12-15
    title: Preschool
    backgroundColor: yellow
    color: black
```

You can further customize the apperance using userstyle.css

Tips & Tricks

Ages template

Some pre-prepared templates for ages option, just copy it to your note instead of typing yourself:

ages: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
ages: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98]
ages: [3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]
ages: [4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96]
ages: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]

Acknowledgements

License

MIT