CSS, JavaScript, and Regex
With these tools, you can:
- Customize areas of Aspen
- Add enhancements
- Find and modify patterns in code
CSS
-
Visit Theme & Layout → Themes.
-
Scroll down to the Additional CSS text box and paste in your CSS code.
-
By default, the Additional CSS Application option is set to Append to parent CSS. If your changes do not appear, you may need to switch this to Override parent CSS. For most purposes, Append to parent CSS should be fine.
JavaScript
Users can add JavaScript snippets in Aspen Administration > Local Catalog Enrichment > JavaScript Snippets.
We often see libraries add widgets (for example: chat platforms, Niche Academy) here. Learn More about Chat Platforms here.
Read the Enhancements with JavaScript Aspen Weekly.
Regular Expressions (Regex)
Regular expressions, or regex, are extremely useful in telling a computer how to find patterns in text, or how to find and replace certain patterns with others. This makes it a bit difficult to read and understand, but writing regex can be easy if you know some of the basics!
Regex Basics
In Aspen, you may see the expression .* used quite a bit. This regex matches any character, any amount of times, making it all inclusive. If you use this expression in, say, the Locations field in Records to Include, it will include records from all locations.
Regex is sprinkled over a few different settings in Aspen Discovery. The most notable and most used is found in Aspen Administration > Primary Configuration > Library Systems. In this module, you can use regular expressions to specify what records you own and wish to include in your catalog.
Here, you can see the commonly used .* expression in the Location field for Records To Include.
In the Locations to Exclude, we have bookm which is our bookmobile location. If you wanted to add more, all you would need to do is separate them with a pipe. For example: bookm|eastbranch
Aspen also includes customizable regular expression fields for valid zip codes for self registration in Aspen (also found in the Library Systems module).
In this case, there were too many individual zip codes to list, so writing a regular expression made the list much smaller and more efficient.
Aspen has the ability to integrate with many different underlying ILS platforms. To manage the interpretation of data such as Shelf Location, Audience, and Literary Form (to name a few) Aspen has Translation Maps found in Aspen Administration > ILS Integration > Translation Maps (also found at the bottom of ILS Indexing Profiles). In order to translate a large amount of data on these maps, you can use regex.
In this example, the library is using shelf locations to determine audience by translating these values in their Audience Map. With 4 fields and a bit of regex, they are telling Aspen that anything matching those shelf location codes matches the translated value they have set for audience.
Yet another common place where regular expressions are used in Aspen is within the Website Indexing module.
The regular expression used above:
<meta name="description" content="(.*?)"/>
This is an example of regex used to find Description metadata within the indexed pages. This description will display within the Library Website search results.
These regular expressions specify which sites you do not want to be indexed by using part of the path. Ending the regex with .* ensures that everything after /events/ or /admin/ is included in the paths to exclude. So, if you have a page that ends in /events/summertimefun - this page will not be indexed.
Note: if you want to test your regex for this particular field, use a tester for Java 8 regex:
Debugging Regex
Okay, so you’ve written your regex. Everything should be working, but something is amiss and looking at everything you just wrote is absolutely headache-inducing. Have no fear, there’s an easy way to debug your regex!
There are many regex testers out there to help, including regex101 and Regexr. Below is an example of a regex testing in regex101. The goal with this regex is to match the following numbers only:12340, 12341, 12342, 12343, 12345, 12346, and 12348.
The test strings that matches the regex are highlighted in blue, and different parts of the regex that are highlighted are explained as well.
When using a tester, it’s important to choose the correct “flavor” of programming, as each language has it’s own special rules. Generally, you will want to test with PHP.
A regex tester is a great tool for anyone to use when writing regular expressions, whether you be an expert or just starting out!