Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×

[Script] Chronicle - Full Calendar and Event Tracking for Your Campaign

1780600359

Edited 1780600520
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Chronicle [ Intro Video ]  — Available now on One Click Chronicle is a comprehensive calendar management tool that runs directly as a mod in Roll20. If you're running a campaign with actual in-game time, whether it's a single year or a thousand-year history, this script gives you a professional calendar interface, automatic event tracking, weather generation, and moon phase calculations all in one place. Create your own custom calendars from scratch, or load one of five pre-built options (Gregorian, Pathfinder's Golarion, Forgotten Realms, Greyhawk, or Eberron). Track what happened when, organize your world's history with tags, and switch between calendar and timeline views to explore your story from every angle. Why you might want to use Chronicle You're running a long campaign with significant in-game time You want players to feel time passing meaningfully You want to track downtime You like tracking cause-and-effect across sessions You love world building and want to organize what happened when You need a quick way to answer "wait, when did that happen?" Features at a Glance Calendar Mode View your world on a traditional calendar grid. Navigate forward and backward through time, add events and notes, generate weather, and see moon phases all on a single interface. The featured date system lets you always know what "today" is in your world, and everything—holidays, weather, moons—updates automatically as you move through time. Timeline Mode Read your world's history as a chronological story. Filter by tags, event type, date range, or show only untagged items. Jump between timeline and calendar views instantly. See at a glance how much time has passed between important moments using elapsed time displays. Design Mode Edit a pre-existing calendar or build a calendar system from scratch with custom month names, variable day counts, and defined week structures. The script handles all the math—day-of-week calculations, date navigation, year progression—automatically. Or load a preset calendar and start tracking immediately. Event & Note Organization Create events (broad historical happenings) or notes (specific dates and times). Tag everything for fast searching. The timeline remembers every detail, and you can add new tags on the fly or search existing ones. Holiday System Define recurring holidays or special days that appear every year on your calendar. Announce them to the party, whisper descriptions to players, or keep them as GM notes. Weather Generation Set up climate zones and temperature ranges once, then generate realistic weather for any date. Weather sticks to the dates you create it for—check back months later and the conditions are still there. Moon Phases Add multiple moons to your world, each with its own orbital period and color. The script calculates the correct phase for any date automatically. Display them on the calendar grid or just track them in the background. Display Modes Chronicle ships with Light Mode, Dark Mode and Fantasy Mode. Send to Chat: Sharing Calendar Information The "Send to Chat" button lets you broadcast calendar information to all players without leaving the interface. It automatically formats and displays the current date's information in a clean, readable message, showing the day, weather, moon phase, events and notes, and the week for reference. Send to chat does not display any item tagged with "gm". Getting Started First-Time Setup: Run the initialization command ( !chr ) and you'll get a main interface handout. From there, you can either load a preset calendar (one click and go!) or create a custom one from scratch, basically by pushing buttons and answering questions. All items are editable. Presets Available: Gregorian — Standard Earth calendar. Note: Holidays with complex calculations (Ex: Easter, most Jewish and Muslim holidays) are not included. Absalom Reckoning — Pathfinder's Golarion calendar Faerun — Forgotten Realms (Harptos calendar) Greyhawk — Common Year with festival weeks Eberron — Galifar Calendar with 12 moons Core Features in Detail Basic Calendar Structure Every calendar needs: Calendar Name : What you call your calendar system ("Mystara," "Exandrian," etc.). Calendar Description :   Optional context about your calendar. Built-in calendars come with descriptions you can read or replace. Months :   Define the month names and how many days each has. Your months don't have to be the same length. Weeks :   Set up how many days are in a week and give them names (Monday through Sunday, or whatever your world uses). Climate Zones :   If you want weather, define your climate regions (temperate, desert, arctic, etc.) with temperature ranges. This is used to make weather generation more believable. Days in Year :   The script calculates this automatically based on your months, but you can override it. Events and Notes Events : The big things that happened in your world's history. Wars, plagues, the founding of kingdoms. Events appear at the beginning of the year they're in—no specific date needed. Notes :   Specific moments tied to exact dates. The party fought goblins on the 3rd of Deepwinter. They discovered a hidden artifact on the 15th of Springtide. Notes are where session details live. Tags :   Labels for organizing everything. Tag a note "Waterdeep," and you can filter to see everything that happened in that city. Tag it "party," "drow," "main-quest," or whatever makes sense for your campaign. Tags can be created on-the-fly or selected from existing ones. GM Identifier :   Every event and note shows who added it. If multiple GMs are running the campaign, this helps track who recorded what. This can help organize a West Marches-style campaign, for example. Holidays and Special Days Set up holidays once, and they appear on your calendar every single year. Define the name, which month and day it falls on, and an optional description. From Calendar Mode, click any holiday to whisper its description to yourself or announce it to the party. Weather System Setup : Answer a few basic questions about your campaign area's geography to define the climate zone with minimum and maximum temperatures, and appropriate precipitation. That's it. Generation : Click "Generate Weather" on any date and the script creates realistic conditions—temperature, conditions (clear, rainy, snowy, etc.), and wind. The weather sticks to that date. Check back a week later and it's still there. Display : In Calendar Mode, weather appears in the Featured Date section. In Timeline Mode, you can filter weather visibility in and out depending on whether you want to focus on story or conditions. Notes : Weather is completely optional. If you don't generate any, the system doesn't show it. Moons and Lunar Cycles Moon Properties: Name :   What you call it (Selûne, Luna, the Red Moon, etc.) Orbital Period :   How many days it takes to complete a full cycle Full Moon Reference :   A date when you know it was full (used to calculate phases for all other dates) Size :   Display multiplier (0.1 to 1.0, where 1.0 is full size) Color :   Choose from 12 options (yellow, red, green, blue, cyan, orange, purple, tan, brown, white, gray, dark). Useful for campaign worlds with multiple moons. Visibility :   Toggle whether it shows on the calendar grid How It Works: The script calculates moon phases automatically based on your reference date. Add three moons with different periods, and they'll all show their correct phase for any date you look at. When multiple moons are visible, hover over them to see names. Single-moon calendars have no tooltip to reduce clutter. Timeline Mode See all your events and notes in chronological order (oldest-first or newest-first). Zoom in to see day-by-day detail, or zoom out to see yearly summaries. Filtering: Filtering allows you to see just specific types of events in your timeline: broad historical events, actions of a single PC group, biography of a single character. By type (events only, notes only, holidays only, weather only) By tag (click any tag to filter) By [Untagged] to find items without tags By date range (last month, specific year, all history) More Controls: Tag Mode : Choose "Any" to show items with any of the selected tags, or "All" to show only items with every selected tag. Useful for complex queries. Elapsed Time : Next to each entry, see how much time has passed since the featured date. Click the elapsed time button to mark that as the reference date without leaving Timeline Mode. Editing : Toggle "Details" to see edit buttons, delete options, and tag management right in the timeline. Quick way to organize on the fly. Calendar Navigation Date Navigation: Jump year-by-year, month-by-month, or day-by-day Click any date on the calendar to jump directly there Click dates in Timeline Mode to switch to Calendar Mode at that date Use the dropdowns to skip to specific months or years Featured Date: The date currently displayed (think of it as "today" in your world). This is where new events and notes are added. Everything on the calendar is shown relative to this date. Design Mode: Building Your Calendar If you're using a preset calendar, you're done. If you're building custom: Months Table :  Add each month with name and day count. Weeks Configuration :   Name your days of the week. Climate Setup : Optional. Define regions and temperature ranges for weather generation. Holidays :   Add recurring annual holidays. Moons :   Add celestial bodies with their periods and colors. Leap Years (Optional) :   Enable leap years, set cycle length, and define exceptions. Seasons (Optional) :   Mark the days of the year when seasons change (solstices, equinoxes). The interface shows a table for every configurable element. Use the Edit and Delete buttons to manage entries. Setup is super simple. Tips for Getting the Most Out of Chronicle Be consistent with tags. Don't invent them as you go. Decide early on whether you're tagging by location, character, story arc, or something else. Consistency makes searching powerful. Add notes regularly. After each session, spend two minutes adding what happened. You'll thank yourself when you need to reference something three months of real time later. Use both views. Calendar Mode is great for prepping sessions and seeing "what's today?" Timeline Mode is perfect for planning future sessions and understanding your world's narrative arc. Switch modes by need. Use Design Mode when you're building. Use Calendar Mode when you're running the game. Use Timeline Mode when you're planning or exploring history. Don't overthink weather. If you don't want it, don't set it up. Chronicle works fine without it. What You'll Find in Your Game When you install Chronicle: Chronicle — The main interface handout (this is what you interact with) Chronicle Calendar: [Name] — Your calendar data (pre-archived for protection against corruption) Chronicle Events: [Name] — Your events, notes, and weather (pre-archived for protection against corruption) The main interface handout stays visible. The calendar and events handouts are archived to keep your Journal clean. Command Reference (Basics) !chr — Open the main interface All other actions are handled through the interface buttons. Commands are rarely needed, but you can discover them by pressing a button, going into the chat, and pressing the up arrow to discover what was sent. This script was released early for playtesting, for free, on my Patreon .
Saw you video today and immediately added this to a campaign.  Question, is there a way to hide moons from being visible to players on the calendar.  My homebrew world has a moon that does not reflect any light and most people don't know it or believe it is real even if they have heard about it.  I guess the same thing for other items on the calendar as well :)
1780611211
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Hi Darryn! The Chronicle handout is primarily designed as a GM tool, with the ability to send individual days to the players in chat. You can edit the permissions on the Chronicle handout, and then any player can edit it. That's intended for collaborative world building, or games in which players take the notes. However, sine it is a single handout, there's no way to have one group of people see one thing on it, and another group of people see another. A handout is a handout. The only place I hard coded GM privilege into the script is when using the Send to Chat feature. Since that is expressly player-facing, any item tagged with "gm" does not go to chat. That being said, if you want to hide the moon, you can toggle the visibility on and off. You can either do this in the design mode, or with a bit of effort you could construct a macro to toggle it off and on. I can help with that if it sounds like a viable solution.
Very nice bit of work Keith, however, I ran into a couple of issues; 1. I'm trying to setup a chronicle for a Traveller RPG game (details here <a href="https://wiki.travellerrpg.com/Imperial_Calendar" rel="nofollow">https://wiki.travellerrpg.com/Imperial_Calendar</a> &nbsp;) Briefly "The year is divided into 365 standard days, which are grouped into 52 weeks of seven days each. Days are numbered consecutively, beginning with one. The first day of the year is a holiday and is not part of any week. For example, The first day (Holiday) of the year 1116 is 001-1116 and the last day of the year is 365-1116. The days of each week are named based upon their ordinal position in the week: Wonday or 1day, Tuday or 2day, Thirday or 3day, Forday or 4day, Fiday or 5day, Sixday or 6day, Senday or 7day. The holiday day does not belong any week and is simply named "Holiday"." Chronicle doesn't like not having months, I get this error in chat if I don't setup months and then try to add the 'Holiday' - day 001 Is there a way I can set this up or will it need a code change? 2. on first run I got this error in the api log the buttons appeared in chat but nothing saved, I restarted the api and it then ran&nbsp; ok Your scripts are currently disabled due to an error that was detected. Please make appropriate changes to your script's code and click the "Save Script" button. We will then attempt to start running the scripts again. More info... If this script was installed from the Mod Library, you might find help in the Community API Forum. For reference, the error message generated was: TypeError: Cannot read properties of undefined (reading 'name') at 1-CLICK: Chronicle [Tab 32]:2727:48 at Array.forEach (&lt;anonymous&gt;) at Object.renderDesignMode (1-CLICK: Chronicle [Tab 32]:2696:21) at Object.render (1-CLICK: Chronicle [Tab 32]:1838:40) at 1-CLICK: Chronicle [Tab 32]:3879:27 at 1-CLICK: Chronicle [Tab 32]:1313:11 at /home/node/d20-api-server/api.js:1000:43 at new Promise (&lt;anonymous&gt;) at getLatestBlob (/home/node/d20-api-server/api.js:996:10) at TrackedObj.get (/home/node/d20-api-server/api.js:1875:5)
1780683830
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
That is a toughie. I'm trying out some configurations.
1780686081
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Norman said: Very nice bit of work Keith, however, I ran into a couple of issues; 1. I'm trying to setup a chronicle for a Traveller RPG game (details here <a href="https://wiki.travellerrpg.com/Imperial_Calendar" rel="nofollow">https://wiki.travellerrpg.com/Imperial_Calendar</a> &nbsp;) ... Yeah, that looks like it is going to require some extra code. I have it marked to solve for the next update.
Ok, I'm loving this.&nbsp; Feature request?&nbsp; Recuring events, i.e. every Monday or every 2 weeks?&nbsp; I'm running Strixhaven (starting year 2) and putting the class schedule would be cool.... but a lot of work if I have to go one day at a time. :)
1780725008
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I thought about that while building the script, but thought that was edging into Personal Assistant territory. Still, I can see the advantage. I'll have to think about the best way to handle that one.
Hi, this is amazing and I'm adding it immediately. I wonder if you can imagine a way to export from a game and import into another. we use a mix of homemade and acquired (and modified) so the characters in a sense move between games within the same campaign. that would avoid rebuilding every time..... thanks Andrea
Hi Keith, Recurring events mentioned above would be really useful for Setting Bastion Turns. Already installed and really liking this. Amazing work as always
1780768036
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Andrea L. said: Hi, this is amazing and I'm adding it immediately. I wonder if you can imagine a way to export from a game and import into another. we use a mix of homemade and acquired (and modified) so the characters in a sense move between games within the same campaign. that would avoid rebuilding every time..... thanks Andrea Super Easy, Barely an Inconvenience. The Calendar definition and the event record are stored as archived handouts . You can unarchive them and transmogrify them into new games. You can even re-archive them once they are moved. When you run Chronicle, it looks for that sort of handout and automatically includes them in the Design Mode. You can click the button for the transmogrified calendar and it should load seamlessly.
1780768525
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
OK, I'm hearing interest in repeating events, and I can see the utility. I would like these not to just flood the data file with a million events, so I think it needs to be one event with some simple repeat display rules. That would mean that we would not have the ability to cancel one repetition out of a string of repetitions. I'd also like to keep the repetition rules manageable. Every X days is manageable. Every Xth day of the month is manageable, although I'd need to figure out what to do when you specify the 29th of every month and February happens. Every 3rd Monday of the month is probably not going to happen. I'd also need to figure out what to do about intercalary days, those which don't receive a weekday or aren't part of a month. Are they skipped? I'm leaning towards just a simple interval: "every 14 days", but would like to hear input.
1780768904
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
One more note on the calendar data handouts. By default they are archived, to reduce the chance of accidental corruption. I would suggest that it would be good practice to occasionally temporarily unarchive them and duplicate them. Maybe even transmogrify them into a&nbsp; Library Campaign &nbsp;for safekeeping. If they do ever become corrupted, there's no restoring them, and that's a lot of data that is hard to re-create. In fact, a "Make Backup" button might be a good idea to add, in order to do this automatically. I've done this for Director and Jukebox Plus .
1780779647

Edited 1780780491
playing with it and loving it. one request: the TAG button for events seems present only in timeline mode and not in calendar mode and would be useful in both places.&nbsp; found it: is the plus and the list small buttons at the end of the text so basically my message is fully invalid and on TAGS I would love I slight different approach if doable and if you think could make sense. 1) a create tag like the one we have now that creates a tag in the tags section 2) the + tag linked to notes and events as select from dropdown. thanks for the info on data migration will try it soon Andrea
1780781598

Edited 1780781864
another one: any way to put in a note a link to another handout? found this too.... putting as usual the text in bracket shows a text in bracket BUT if you then edit the chronicle handout (as if it was a normal handout) and just save, then it becomes a link
1780783126
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Actually, links do resolve, if you use markdown, but only in chat: [image Name](Image URL) will display as an image when sent to chat, but as code when looking on the grid (it could get difficult to read, otherwise.) Same with [command][!APICommand)
1780783248
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Hmm. I might revisit that too. It seems to be it could be more useful to have links resolve in the Featured Date area, at least. And maybe a thumbnail of the image rendered at lineheight, that is clickable, to send the full image to chat?
we plan to use this amazing tool as the note taker (I'll give it to players). so there could be days with a lot of notes. this overflow in the month line happens
1780783927

Edited 1780783978
keithcurtis said: Actually, links do resolve, if you use markdown, but only in chat: [image Name](Image URL) will display as an image when sent to chat, but as code when looking on the grid (it could get difficult to read, otherwise.) Same with [command][!APICommand) does not seem to work for me i get the link to the other handout should be in the second point (il baule) also note that the week shown is 7 days 11-17 but the featured is 18 and today is 19 so not very useful...
1780784117

Edited 1780784269
keithcurtis said: Hmm. I might revisit that too. It seems to be it could be more useful to have links resolve in the Featured Date area, at least. And maybe a thumbnail of the image rendered at lineheight, that is clickable, to send the full image to chat? Yes for the first point useful when players can edit (more so because my workaround fails as soon as I change day - reverts to plain text until I edit-save agin) cannot say on the image as I do not see it using a lot many thanks, this is amazing Andrea p.s. in your image the day has more space than I have! resizing the chronicle seems to only give me more space on the gm note side....
Last one and then I'm off to bed!!! send to chat when in timeline mode sends the button to launch chronicle. is that by design? Andrea
1780786234
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Hi Andrea! I'll try to address these point by point. Note Overflow and Week Display: Not sure what's happening there. The grid should expand with content, like in the images I shared. I can investigate if you'd like to shoot me a link in a Direct Message. It looks like you have notes on an intercalary day? I can test against that. I did when I was first developing that feature, but I did a lot of work after that, and something might have been broken or overwritten. That might also have something to do with the inaccurate week preview. Thanks for finding this. My home campaign calendar does not have such days, so I probably didn't test their behavior as rigorously. Links As for the handout link: you are using a Roll20 link there, where you just input the name of the journal in square brackets. That's not Markdown. You can demonstrate this by putting [name of handout] in chat. It won't parse to anything. Markdown links are another sort of thing. A markdown link is what you would use in something like discord, and is understood by the Roll20 chat parser: [display name](URL) No spaces between ] and ( A typical handout link would look like: [Name of Handout](<a href="http://journal.roll20.net/handout/-Oo6E6oIS6sbsXjuMZVQ" rel="nofollow">http://journal.roll20.net/handout/-Oo6E6oIS6sbsXjuMZVQ</a>) Put that into chat, and it will resolve to an actual link. That last number is the journal id, which you can find and copy by right clicking on an item in the journal tab. If you put that sort of construction into a note, it will be captured by the chat parser and natively converted by Roll20 when sent to chat. For display in a handout, the script actually writes to the handout. This bypasses the normal handout save link parser. This is necessary because the data is actually stored as plain text in JSON. The Chronicle handout is dynamically updated and never "saved" in the traditional sense. One more caveat: you mentioned editing the data handout. This is possible, but it is very easy to break if you are not extremely careful. That's why I decided to store them pre-archived.
1780786935
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Andrea, I can't duplicate any of the display bugs you are experiencing. Feel free to invite me to investigate if you want.
1780816490

Edited 1780816550
Note Overflow and Week Display: Not sure what's happening there. The grid should expand with content, like in the images I shared. I can investigate if you'd like to shoot me a link in a Direct Message Sent you the link, thanks! It looks like you have notes on an intercalary day? I can test against that. I did when I was first developing that feature, but I did a lot of work after that, and something might have been broken or overwritten. That might also have something to do with the inaccurate week preview. Thanks for finding this. My home campaign calendar does not have such days, so I probably didn't test their behavior as rigorously. no, the note is in a normal day two weeks above Links As for the handout link: you are using a Roll20 link there, where you just input the name of the journal in square brackets. That's not Markdown.&nbsp; Ok using proper markdown, the send to chat is good for me too One more caveat: you mentioned editing the data handout. This is possible, but it is very easy to break if you are not extremely careful. That's why I decided to store them pre-archived. Understood thanks
1780864441
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I've had a look at Andrea's game and made some realizations: Send to Chat: Send to Chat is auto-assuming a seven day week. That's not good. I'll have to give some thought on this. A ten day week—as in Faerun—or greater for some possible calendars) will not convincingly display on a grid in the standard chat width. I might just wind up disabling the week grid if the number of days per week exceeds seven. Or maybe split it into two lines. Or display vertically in rows. Not sure the best approach here, but I am open to ideas. Calendar Grid Overflow: When I view the calendar mode view, I do not see the odd truncation of content as in the screen shot provided by Andreas above. All entries are truncated at 40 character per design, to keep the view manageable. At first I thought that maybe some of the Italian diacriticals might be causing a count or display issue, but this does not seem to be the case. It's possible that this might be due to platform? I can only test on Mac and Chromebook, but this does not sound likely. Andreas—if you are still seeing the issue, can you try opening your game in a private browsing window to rule out the possibility of an extension conflict? Also, if you could supply platform and browser, that would help.
1780865618
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
In any case, I have begun work already on the next update. I am tackling some low hanging fruit regarding display issues and bugs first, before tackling repeating items, which will introduce a whole new class of events with new display rules—but that's coming! In the next version expect to see (at least) Climate override. The existing logic is a little buggy and winds up with too many weird or undesirable results based on the question tree. I'll be tackling that logic, but in the meantime, the next version will still have that system plus a climate override button, that will give a dropdown the exact climate you had in mind. You can try the question-based system first, and override it if you don't like the results. The drop down fully describes the supported climate zones. This uses a subset of the Köppen classification system, if you want more information.: Weather Override If you don't like the random generation, you can simply provide your own by choosing an emoji, and writing in a description. The emojis will also allow you to choose some specific natural disasters which might temporarily change local conditions or simply be of more interest than cloud cover. This will include things like wildfire, earthquake, floods, etc. Display enhancements Weather emojis will now display wherever a weather event is described: Grid, Featured Date and Send to Chat If you use Markdown links in an item, that markdown will correctly render when displayed. Images thumbnails will appear in grid or Featured date. Clicking on the thumbnail will whisper the image to chat, which can then be sent openly. Markdown links containing URLs or API commands will render as inline buttons. These can be clicked in Featured Date or in Send to Chat. Remember to tag an item "gm" is you do not want a command or image sent to chat. Send To Chat Week Display changes I am not yet sure how these will change, but expect something...
1780865866
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Andrea L. said: Last one and then I'm off to bed!!! send to chat when in timeline mode sends the button to launch chronicle. is that by design? Andrea Missed that one. If you see that response pop up, it's usually because a feature has not yet been implemented. The way the command parser works is it checks each chronicle call for a recognized instruction. If the instruction handler does not yet exist, it falls back to the base command: !chr So this means that the feature is likely planned, but not yet implemented.
send to chat of a calendar: what about featured day in the center and days from -3 to +3? maybe highlighting if one of them is "today". also i'd love to have a mark, an icon, that tells that in one of the other days there are notes overflow i only can test on a MAC (M2 processor) Firefox 151.0.3 is the one having issues same issue on firefox in private browsing on Safari and safari technology preview (see below) it seems OK the send to chat from timeline showing the interface button is present on all 4 trials
regarding your second response on the non implemented "send to chat" from timeline. my suggestion would be to send the featured (the 0d one) to the chat from the timeline too
1780901856
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Andrea L. said: send to chat of a calendar: what about featured day in the center and days from -3 to +3? maybe highlighting if one of them is "today". also i'd love to have a mark, an icon, that tells that in one of the other days there are notes overflow i only can test on a MAC (M2 processor) Firefox 151.0.3 is the one having issues same issue on firefox in private browsing on Safari and safari technology preview (see below) it seems OK Calendar Grid overflow on Firefox has been fixed and will be in the next update, along with the other changes.
Fingers crossed, you've managed a way for me to do the Traveller calendar :) I've got a fugitive group on the run from the Imperium and they need to stay ahead of the arrest warrants - with the calendar I can setup the dates when the warrants reach each system in the sector and easily see when they might have a problem.
I am currently using Calendar 6.2 and am looking at moving up to Chronicle. There is one feature that I fine useful in Calendar that is not present in&nbsp;Chronicle and that is Log The Day. Log The Day writes the current date status to the handout Event Log. I have set up a couple of Macros that that allow the DM and/or the players to send a sound byte to this Event Log as well.&nbsp; I would like to see a similar function as Log The Day in&nbsp;Chronicle that would send the current day data to an Event Log. Just my two Copper nibs worth.
1780943895
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
The intent of Chronicle was to combine calendar and log into one structure. What different purpose would the log serve in this case?
1780943945
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Norman said: Fingers crossed, you've managed a way for me to do the Traveller calendar :) I've got a fugitive group on the run from the Imperium and they need to stay ahead of the arrest warrants - with the calendar I can setup the dates when the warrants reach each system in the sector and easily see when they might have a problem. I am working on it. I can't guarantee it in the next merge, but it's the next thing.
Almost thought I could bodge it, only defining a single month of 365 days, fell at the hurdle of defining the 'Holiday' day which isn't part of the year, also makes the calendar very long which isn't a big problem. It shows the events etc OK, but it has to include the dummy month which looks a bit weird.&nbsp; Hopefully this might spark an idea - possibly just a way to suppress the month?
1780954977
The Aaron
Roll20 Production Team
API Scripter
Norman, have you tried ImperialCalendar in the 1-click?&nbsp;&nbsp;<a href="https://app.roll20.net/forum/permalink/4525803/" rel="nofollow">https://app.roll20.net/forum/permalink/4525803/</a>
Aaron - Thanks, I didn't know of it, for some reason I didn't even think to search for a Traveller calendar - I'll give it a go. Apologies to Keith - feel free to de-prioritise my request
1780956652
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
It's already half done. :) The biggest issue was defining a new type of special day. One that does not take up a weekday, but does take a date. And the date for the holiday is 1, with the first weekday starting on the second. It's basically a kludge for this specific calendar, but I want it to support as many RPG calendars as possible.
The intent of Chronicle was to combine calendar and log into one structure. What different purpose would the log serve in this case? I have various texts that I add to the Event log such as the comment text from a monsters bio page or some comments from a battle. Also the players are able to add a bit of text. When the party obtains a magic item I put a brief description in the log and the actual item in the GM notes part of the log, the two parts of the description are have a number associated with them to match them up.. (I cobbled together a script that automatically does this when the treasure is generated from a rollabletable.) At the start of each session I have one of the players read the entries from the previous session. As I am not yet familiar enough with the&nbsp;Chronicle to know, maybe this is already covered. I guess I will have to rewrite my macros and scripts to use the new handout name. BTW: I love what you are doing here.
1781038103
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Would a function that appends the note for the featured date to a handout work? I'm not sure I want to directly add that to Chronicle due to it being a niche use and to prevent feature creep. The script is now over 7000 lines long. But all of the event data is written to the events handout in JSON form. This could be read by a helper script, and likely do what you are asking.
1781071841

Edited 1781117622
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
1.0.1 is up. Features and Fixes: Links and Images in Events/Notes Events and notes support embedded links and images, allowing you to attach reference materials or API commands directly to your calendar entries. Links are automatically parsed and formatted based on type. How Links Display Calendar Grid : Links appear as clickable styled text or thumbnail images. Image links show as small previews of the image. Featured Date &amp; Send to Chat : Links appear as clickable thumbnails or styled text buttons that open the link or command when clicked. Supported Link Types Image Links (Inline Images): Display as clickable image thumbnails that send the image to chat when clicked. Example: [any text](<a href="https://example.com/image.png" rel="nofollow">https://example.com/image.png</a>) Roll20 Handout Links: Open a specific campaign handout when clicked. Example: [Open Lore](<a href="http://journal.roll20.net/handout/HANDOUT_ID" rel="nofollow">http://journal.roll20.net/handout/HANDOUT_ID</a>) Roll20 Character Links: Open a character sheet when clicked. Example: [Open Character](<a href="http://journal.roll20.net/character/CHARACTER_ID" rel="nofollow">http://journal.roll20.net/character/CHARACTER_ID</a>) API Commands: Execute a Roll20 API command when clicked (useful for triggering other scripts or macros). Example: [Link Text](!API Command) Note that link parsing is very simple, and not as robust as the Roll20 chat engine. Use with caution. I may revisit links in the future, to allow for simply inserting [Name of Handout] and letting the script do the parsing. That will require testing, in order to avoid unexpected results. In any case, the link formats above will continue to work. Custom Weather Events In addition to the existing random weather generator, you can now create customized weather events. This is useful for events that disturb or supersede normal weather: earthquake, wildfire, etc. You can chose an emoji, write a description and assign a daily temperature. I'd post the emojis here, but the forum typically eats them. Fixes Calendar no longer truncates gird display in Firefox. Because of the way that Firefox handles tables, the entire grid cell is no longer clickable to set the date. Instead, you must click on any area of the grid cell that has content. See release notes for 1.0.2 below
Hi just a clarification on link that is for those like me but that tend to read instructions too quickly links created as [link](handout_ID) by just taking the "copy ID to clipboard" from the handout rightclick and pasting it in the text, do not work and change the page to a 404 not found Correct building is stated clearly&nbsp; ADD in the parenthesis&nbsp;<a href="http://journal.roll20.net/handout/" rel="nofollow">http://journal.roll20.net/handout/</a> [test](<a href="http://journal.roll20.net/handout/ID_copied_from_handout" rel="nofollow">http://journal.roll20.net/handout/ID_copied_from_handout</a>) then it works "when everything else fails read the damn instructions" (anonymous) Andrea
Would a function that appends the note for the featured date to a handout work? I'm not sure I want to directly add that to Chronicle due to it being a niche use and to prevent feature creep. The script is now over 7000 lines long. But all of the event data is written to the events handout in JSON form. This could be read by a helper script, and likely do what you are asking. Looking at it a little closer I've come to realize that it already does what I want. Now I am a little embarrassed to have bothered you.&nbsp; Thank you
1781110548
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Andrea L. said: Hi just a clarification on link that is for those like me but that tend to read instructions too quickly links created as [link](handout_ID) by just taking the "copy ID to clipboard" from the handout rightclick and pasting it in the text, do not work and change the page to a 404 not found Correct building is stated clearly&nbsp; ADD in the parenthesis&nbsp; <a href="http://journal.roll20.net/handout/" rel="nofollow">http://journal.roll20.net/handout/</a> [test]( <a href="http://journal.roll20.net/handout/ID_copied_from_handout" rel="nofollow">http://journal.roll20.net/handout/ID_copied_from_handout</a> ) then it works "when everything else fails read the damn instructions" (anonymous) Andrea I'm pretty sure that I can eventual duplicate the Roll20 standard parsing of [name of handout or character] becoming a clickable link, but the way I store it, renaming the target journal might break the link. It might be better to do as [journal is] and have it parse to show the name and fill in all the bits to make it a clickable link. I intend to test this. And no worries about reading the instructions. The documentation update did not make it into this pull, so currently, it is only documented here in this thread.
1781115124
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
1.0.2 is up. Features and Fixes: Traveller Imperial Calendar is now among pre-sets Full support for the Traveller Imperial Calendar. This was a lot more involved than it looked, due to some unique qualities of the calendar. Full Documentation Update The documentation has been fully updated in this version, including previously undocumented items from 1.0.1. On the Horizon The next major feature will likely be Repeating Events. I need to figure out how to handle them for calendars that have intercalary days, interannual days, leap days, etc. It will probably be necessarily simple: Every Monday, Every 10 days, Every 10th of March. I'll be taking a vacation in the near future, so I would not expect to see repeating events for a month or so.
Nice job on the Traveller calendar Keith, looks good, has the features that I need and is easy setup and use.&nbsp;
1781131033
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Norman said: Nice job on the Traveller calendar Keith, looks good, has the features that I need and is easy setup and use.&nbsp; It's a little quirky here and there, but should largely work.
The moon seems to have disappeared from the Gregorian calendar. It was there by default when I tested in a test game but now that I'm trying to set it up in my live game it's no longer there. I'm not sure what the appropriate settings are to get it back. :-( I can tell I'm running a different version from the version I tested because there are Jewish holidays in the calendar that weren't there before. So, something must have caused the moon to disappear.&nbsp;
1781273506
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Ack! It sounds like I reverted some code? I pulled out all the lunar calendar holidays from the Gregorian in the initial release. Checking... Yep, I accidentally reverted the calendar definitions in 1.0.1, and I missed it. I'll submit a PR. In the meantime, if you need the Gregorian Calendar, de-archive and open the Calendar handout: "Chronicle Calendar: Gregorian" , delete the contents and replace it with a clean paste from here . That will give you a properly formed data handout. Alternatively, you can delete or ignore the extra holidays and put in a Moon called "Luna" with a period of&nbsp;29.53059 days that was last full on Jan. 21, 2000 Thank you for finding this . If a calendar already exists in the game, the script just activates it rather than writing the defaults. I had all existing calendars from earlier versions and so missed the reversion.
1781277075
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Apologies to anyone inconvenienced by this. The Pull Request for the reversion reversion is posted but probably won't get merged until next week. For anyone who wants the corrected code right now, you can always find it for manual install here . If you are suing a calendar you created under version 1.0.0, it should work fine. Only the creation of new default calendars was affected. TIL: to test differently. This should have been tested on a fresh game, to keep me from using older calendar data. This version also fixes a drift problem in the Traveller Imperial Calendar. For a quick manual fix, switch the days in the year on the design page from 365 to 364 ("Holiday" adds a day to that).
Okay, now some questions. :-) All of this relates to a Gregorian calendar which is what I'm using for my game, but I suspect the same questions arise for more than one calendar type. Is there a way to: Show a different version of a week? Right now, it shows Sunday-Saturday. What if I want to show Wednesday-Tuesday? What if I want to have it show the next 7 days basically "on the fly"? That is, right now I want Wed-Tue, a little later or on a different game day I might want Thu-Wed. Show a full month, instead of a week? Show all the events/notes for the calendar displayed (i.e. for that week if showing a week, or month if showing a month, etc.)? For example, right now, in my game, I have an event on May 28, May 31, June 1, and June 2. I want to display a calendar week or month, that shows all of those events so that the players can see the full timeline of events. In the current system, that's two different weeks. And the events only show for the featured date, not all dates in that time period. Display the timeline to players for a specific set of dates? Thanks.