Skip to content

e3la/libcal-bookmarklet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libcal-bookmarklet

A bookmarklet to block out dates on a libcal calendar when your library is closed. ➡️ Open the Bookmarklet Installer

LibCal Hours to ICS Bookmarklet

A simple, powerful bookmarklet to generate an .ics calendar file of library closure dates from your library's hours page (it should work if your library is using the sprinshare hours tool). This allows librarians to easily block off appointment availability on days the library is closed.

The Problem

LibCal is a fantastic tool for managing library services, including librarian appointments. However, the appointment availability module doesn't automatically sync with the library's operating hours. This means that if the library is closed for a holiday or a break, librarians have to go in and manually block off those dates to prevent patrons from booking appointments (this is if you are using the Outlook/Exchange integration) and you can't just put the day as 'busy', you have to block out specific hours. That is where this bookmarklet comes in handy by automating the most tedious part of the process.

The Motivation

My coworker Andrew explained he didn't have a secretary and that he would not be blocking out days the library was closed on his calendar. I thought this sad, and made the appointment availability page messy, and I realized I also hated doing this by hand, so I made this bookmarklet for Andrew, myself and any other librarian who might want to automate blocking their calendars on the days their library is closed.

What is This?

This tool is a bookmarklet—a piece of JavaScript code saved as a browser bookmark. When you are on your library's website, clicking this bookmark will:

  1. Fetch library hours data.
  2. Provide a user-friendly interface to select which library's closures you want to export to your calendar.
  3. Allow you to customize the time range to block off and the event title.
  4. Generate a standard .ics calendar file that you can download and open in outlook to block the days the library is closed.

This project was developed using a "vibecoding" approach, where the initial structure and logic were generated by prompting an AI assistant, and then refined and tested to create the final, functional tool.

Features

  • Zero Configuration: Automatically detects the necessary LibCal ID from the page.
  • Multi-Location Support: Choose to export closed dates for a single library location or all locations at once.
  • Custom Time Blocking: Specify the exact time range you want to block on closed days (e.g., from 8:00 AM to 9:00 PM).
  • Custom Event Titles: Add a custom prefix to the calendar events (e.g., "Appointments Blocked").
  • Weekend Control: Easily include or exclude weekend closures from your export.
  • Summary Screen: Review which dates will be included or left out before you download.
  • Standard ICS Format: The generated file is compatible with LibCal, Outlook, Google Calendar, and other standard calendar applications.

Limitations / What Might Not Work

  • Timezones: I've only used it on central time, don't know if it will work otherwise.
  • Find Your Library Hours Page It doesn't do much with weekly views, but if there is a monthly view that works better.
  • Other Errors: You could try vibecoding a new bookmarklet by copying the html source into gemini along with the source code of your library hours page and see if it can figure something out.

Installation

The easiest way to install the bookmarklet is from the dedicated installer page.

1. Go to the Installer Page

Click the link below to open the installer.

➡️ Open the Bookmarklet Installer

2. Drag the Button to Your Bookmarks Bar

Once the page is open, simply click and drag the blue button from that page up to your browser's bookmarks bar. Review the instructions on that page.

To Examine the Code

If you want to look at the javascript I recommend looking at it in the HTML of the installer page.

  1. View the Sourcecode: Of the installer on this page.

Public Domain Code - CC0

This is a public domain work because the ai did the heavy lift in the creation.

Support and Help

This is a vibe coded project, so I won't help you, but the AI of your choice might be able to. Good luck!

About

A bookmarklet to block out dates on a libcal calendar when your library is closed.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages