# Plugin: Life Calendar

**URL:** <https://discourse.joplinapp.org/t/plugin-life-calendar/23523>\
**Category:** Plugins\
**Created:** [5 February 2022 14:08 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523 "2022-02-05T14:08:21Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![hieuthi](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/hieuthi/32/10815_2.png) [@hieuthi](https://discourse.joplinapp.org/u/hieuthi)\
**Post date:** [5 February 2022 14:08 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523/1 "2022-02-05T14:08:21Z")

</div>

I have been looking for a way to document events in a timeline kind of sort, but haven't able to figure out the best way to do it until now. I came across Tim Urban's article ["Your Life in Weeks"](https://waitbutwhy.com/2014/05/life-weeks.html) which is exactly what I am looking for, so I developed a plugin for it.

![Screenshot](https://raw.githubusercontent.com/hieuthi/joplin-plugin-life-calendar/main/docs/life-calendar-v1.0.0-screenshot.png)

While it is specifically developed to document one's life, you can also use it to document the "life" of a project.

The plugin should be available for download soon. You can check usages in the GitHub repository.

> **[GitHub - hieuthi/joplin-plugin-life-calendar: Your Life in Week Plugin for...](https://github.com/hieuthi/joplin-plugin-life-calendar)**
>
> Your Life in Week Plugin for Joplin. Contribute to hieuthi/joplin-plugin-life-calendar development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![shbach](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/shbach/32/4312_2.png) [@shbach](https://discourse.joplinapp.org/u/shbach)\
**Post date:** [5 February 2022 18:32 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523/2 "2022-02-05T18:32:08Z")

</div>

Cool plugin! I was actually looking for something like this a few weeks ago so great timing. Would it be possible to mark a range of dates? e.g. mark the time ranges I was in college, grad school, etc. Also, can you add a layout option to make each row one year? Maybe something like [this](https://pewu.github.io/life-in-weeks/).

---

<div class="post-metadata">

**Author:** ![Krash](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/krash/32/11763_2.png) [@Krash](https://discourse.joplinapp.org/u/Krash)\
**Post date:** [5 February 2022 20:33 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523/3 "2022-02-05T20:33:02Z")

</div>

I tried to create something similiar in Python, but it turned out uglym unusable and I didn't have the time to redesign my code.

Thank you for this!

---

<div class="post-metadata">

**Author:** ![hieuthi](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/hieuthi/32/10815_2.png) [@hieuthi](https://discourse.joplinapp.org/u/hieuthi)\
**Post date:** [6 February 2022 01:29 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523/4 "2022-02-06T01:29:29Z")

</div>

> Would it be possible to mark a range of dates?

This feature is in my backlog and would be implemented soon.

> can you add a layout option to make each row one year?

I personally don't like this look, and it is very annoying to implement correctly with joplin as it is not responsive, so it is unlikely that it will be implemented.

---

<div class="post-metadata">

**Author:** ![hieuthi](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/hieuthi/32/10815_2.png) [@hieuthi](https://discourse.joplinapp.org/u/hieuthi)\
**Post date:** [6 February 2022 13:23 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523/5 "2022-02-06T13:23:53Z")

</div>

## Life Calendar v1.1.0

Fixed minor bugs and add support for "className", so you can group events into types

---

<div class="post-metadata">

**Author:** ![shbach](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/shbach/32/4312_2.png) [@shbach](https://discourse.joplinapp.org/u/shbach)\
**Post date:** [6 February 2022 19:48 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523/6 "2022-02-06T19:48:17Z")

</div>

> [@hieuthi](#):
>
> > can you add a layout option to make each row one year?
> 
> I personally don't like this look, and it is very annoying to implement correctly with joplin as it is not responsive, so it is unlikely that it will be implemented.

Fair enough. Actually, the main reason I want this is so I can easily see each week my birthday is in. Another way to do this without changing the layout would be to have an option to highlight the weeks your birthday is in. It would be the "Highlight every year" option in the [implementation](https://life-calendar-in-weeks.vercel.app/) you noted as a reference. The existing `ages:` option would be to emphasize certain ages. Would this be possible?

Or if that is too complicated would it be possible to do a range for the ages e.g. `ages: [1:80]` That way I wouldn't have to type every age individually.

Edit: Actually even better would be able to do something like `ages: [1:5:80]` So it would be ages 1 to 80 with steps of 5 e.g. 1, 5, 10, 15, etc

---

<div class="post-metadata">

**Author:** ![shbach](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/shbach/32/4312_2.png) [@shbach](https://discourse.joplinapp.org/u/shbach)\
**Post date:** [6 February 2022 20:24 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523/7 "2022-02-06T20:24:12Z")

</div>

With `className` would it be possible to specify an icon or is that for colors only? e.g.

```auto
<style>
.graduation { icon:🎓 !important; background-color:transparent !important; } 
</style>

```

---

<div class="post-metadata">

**Author:** ![hieuthi](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/hieuthi/32/10815_2.png) [@hieuthi](https://discourse.joplinapp.org/u/hieuthi)\
**Post date:** [7 February 2022 00:52 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523/8 "2022-02-07T00:52:07Z")

</div>

> [@shbach](#):
>
> Another way to do this without changing the layout would be to have an option to highlight the weeks your birthday is in. It would be the "Highlight every year" option in the [implementation](https://life-calendar-in-weeks.vercel.app/) you noted as a reference. The existing `ages:` option would be to emphasize certain ages. Would this be possible?

You don't need new features to do this, you just need to manually add "New Year Event" and "Birthday Event" for every year, then it will be all set. It may sound likes a lot, but just use a spreadsheet or something. The event system is bare bone but extremely flexible.

> [@shbach](#):
>
> Edit: Actually even better would be able to do something like `ages: [1:5:80]` So it would be ages 1 to 80 with steps of 5 e.g. 1, 5, 10, 15, etc

Similarly, this may sounds like a good idea at first, but it is very restrictive because age is not linear. Some age is simply more important than other (18,21,etc.) and it is not like you're going to live forever. Here some pre-prepared parameters, just paste it to your note.

```auto
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: [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100]

```

> [@shbach](#):
>
> With `className` would it be possible to specify an icon or is that for colors only? e.g.

No, you cannot specify icon with `className`, it is just a css class. There is css trick to have the same icon using class, but I will not explain it as I don't think it is a good idea.

---

<div class="post-metadata">

**Author:** ![whitewall](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/whitewall/32/6018_2.png) [@whitewall](https://discourse.joplinapp.org/u/whitewall)\
**Post date:** [7 February 2022 03:50 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523/9 "2022-02-07T03:50:40Z")

</div>

Thanks for all your hard work and your effort to bring your personal projects to completion so they are usable by others. It's a great service to the community.

---

<div class="post-metadata">

**Author:** ![shbach](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/shbach/32/4312_2.png) [@shbach](https://discourse.joplinapp.org/u/shbach)\
**Post date:** [7 February 2022 09:07 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523/10 "2022-02-07T09:07:32Z")

</div>

> [@hieuthi](#):
>
> `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]`

This will work fine. Thanks!

> [@whitewall](#):
>
> Thanks for all your hard work and your effort to bring your personal projects to completion so they are usable by others. It's a great service to the community.

Seconded. Really appreciate the plugins you've made!

---

<div class="post-metadata">

**Author:** ![skim1124](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/skim1124/32/7296_2.png) [@skim1124](https://discourse.joplinapp.org/u/skim1124)\
**Post date:** [7 February 2022 14:42 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523/11 "2022-02-07T14:42:27Z")

</div>

I can't seem to add icons using the markdown list of emoji markups? What's the trick?

---

<div class="post-metadata">

**Author:** ![hieuthi](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/hieuthi/32/10815_2.png) [@hieuthi](https://discourse.joplinapp.org/u/hieuthi)\
**Post date:** [8 February 2022 02:07 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523/12 "2022-02-08T02:07:00Z")

</div>

This plugin does not support markdown. You need to copy unicode emoji from other sources.

> [@How to get icons in the titles of the notes?](https://discourse.joplinapp.org/t/how-to-get-icons-in-the-titles-of-the-notes/1650/9):
>
> Comes from Linux! CTRL + Space

---

<div class="post-metadata">

**Author:** ![skim1124](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/skim1124/32/7296_2.png) [@skim1124](https://discourse.joplinapp.org/u/skim1124)\
**Post date:** [8 February 2022 02:51 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523/13 "2022-02-08T02:51:29Z")

</div>

Got it. Thank you for the reply. I will use the Windows+. keyboard shortcut to find emojis.

---

<div class="post-metadata">

**Author:** ![antoniopaolini](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/antoniopaolini/32/12225_2.png) [@antoniopaolini](https://discourse.joplinapp.org/u/antoniopaolini)\
**Post date:** [8 February 2022 17:58 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523/14 "2022-02-08T17:58:10Z")

</div>

I grabbed [this](https://github.com/ikatyang/emoji-cheat-sheet) with Joplin web clipper and then a do copy and paste. 😅

---

<div class="post-metadata">

**Author:** ![GabrielMPhi](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/gabrielmphi/32/6962_2.png) [@GabrielMPhi](https://discourse.joplinapp.org/u/GabrielMPhi)\
**Post date:** [8 February 2022 18:34 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523/15 "2022-02-08T18:34:15Z")

</div>

What a lovely and great idea! Thanks for that. It's awesome!

---

<div class="post-metadata">

**Author:** ![hieuthi](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/hieuthi/32/10815_2.png) [@hieuthi](https://discourse.joplinapp.org/u/hieuthi)\
**Post date:** [14 February 2022 12:37 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523/16 "2022-02-14T12:37:44Z")

</div>

## Version 1.2.0

Add support for `periods`

![screenshot](https://raw.githubusercontent.com/hieuthi/joplin-plugin-life-calendar/main/docs/life-calendar-v1.2.0-screenshot.png)

---

<div class="post-metadata">

**Author:** ![GabrielMPhi](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/gabrielmphi/32/6962_2.png) [@GabrielMPhi](https://discourse.joplinapp.org/u/GabrielMPhi)\
**Post date:** [14 February 2022 14:24 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523/17 "2022-02-14T14:24:19Z")

</div>

I love the period addition. I would like to suggest another option : having it by day and not by week. I imagine a usecase for project management. One could use your plugin to tell the tale of a trip day by day or of an important project? That person would not list all of the day of a life, but from the starting date of the project and the end. I would use that if you could add the option of having square being a day.  
But it's just a suggeston. I love your plugin 🙂 Thanks again for the work!

---

<div class="post-metadata">

**Author:** ![hieuthi](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/hieuthi/32/10815_2.png) [@hieuthi](https://discourse.joplinapp.org/u/hieuthi)\
**Post date:** [15 February 2022 03:42 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523/18 "2022-02-15T03:42:13Z")

</div>

## Version 1.2.1

Fixed some silly visual date string bug

> [@GabrielMPhi](#):
>
> I would like to suggest another option : having it by day and not by week

That would be a useful plugin, but its implementation is not as simple as switching from week to day (but it is not too difficult either). As I am quite content with current week-based timeline, it is unlikely I will implement day-based feature anytime soon.

Maybe someone else can implement activity history similar to Gihub. I actually looked for such plugin before I decided to implement this one.

---

<div class="post-metadata">

**Author:** ![GabrielMPhi](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/gabrielmphi/32/6962_2.png) [@GabrielMPhi](https://discourse.joplinapp.org/u/GabrielMPhi)\
**Post date:** [15 February 2022 12:47 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523/19 "2022-02-15T12:47:43Z")

</div>

I clearly understand. It was just a thought I had using your plugin. Using it a lot 🙂 Thanks again for the work 🙂

---

<div class="post-metadata">

**Author:** ![shbach](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/shbach/32/4312_2.png) [@shbach](https://discourse.joplinapp.org/u/shbach)\
**Post date:** [16 February 2022 06:08 UTC](https://discourse.joplinapp.org/t/plugin-life-calendar/23523/20 "2022-02-16T06:08:51Z")

</div>

> [@hieuthi](#):
>
> Add support for `periods`

This has been a great addition! However, I'm wondering how you deal with multiday events? For example lets say I have a very memorable 5 day road trip that I want to add. It seems better suited as an event rather than a period but at the same time, creating an event for each day seems a bit unwieldy.

[Next page](https://discourse.joplinapp.org/t/plugin-life-calendar/23523.md?page=2)
