An open API service indexing awesome lists of open source software.

https://github.com/zotonic/z_stdlib

Zotonic standard function library
https://github.com/zotonic/z_stdlib

Last synced: 21 days ago
JSON representation

Zotonic standard function library

Awesome Lists containing this project

README

        

![Test](https://github.com/zotonic/z_stdlib/workflows/Test/badge.svg)
[![Hex.pm Version](https://img.shields.io/hexpm/v/zotonic_stdlib.svg)](https://hex.pm/packages/zotonic_stdlib)
[![Hex.pm Downloads](https://img.shields.io/hexpm/dt/zotonic_stdlib.svg)](https://hex.pm/packages/zotonic_stdlib)

zotonic_stdlib
==============

Zotonic standard library - a library with hopefully useful functions

Extracted from Zotonic, the Erlang CMS http://zotonic.com/

Installation
------------

Due to historical reasons the library is called `z_stdlib`.
It should be checked out as `zotonic_stdlib`:

git clone https://github.com/zotonic/z_stdlib.git zotonic_stdlib

The library is also on Hex https://hex.pm/packages/zotonic_stdlib

In your rebar.config file, use Hex (for rebar3):

{deps, [
zotonic_stdlib
]}.

Or, directly git (rebar2):

{deps, [
{zotonic_stdlib, ".*", {git, "https://github.com/zotonic/z_stdlib.git", "master"}}
]}.

Modules
-------

The following modules are provided:

### z_convert

Conversion routines for:

* all common data types (binary, boolean, integer, etc.).
* dates: to_utc, to_local, iso8601 parsing
* json, convert to simple json constructs
* IP address conversions

### z_css

Strict CSS parser and sanitizer.

### z_cssmin

CSS minifier

### z_dateformat

Routines for formatting dates.
Example:

z_dateformat:format({{2008,12,10},{15,30,0}}, "Y-m-d H:i:s", [ {tz, "GMT"} ]).

### z_email_dnsbl

Check IP addresses for their presence on DNS block- or allowlists.

### z_email_utils

Test if an email address is syntactically valid. Extract email address from a text.

### z_filelib

Convenience function to make nested directories.

### z_html

HTML routines like escape, unescape, sanitize, etc.

### z_ip_address

Match an IP address against lists, check if an IP address is a non routable LAN address.

### z_jsmin

JavaScript minimizer, removes spaces, comments and newlines.

### z_string

String routines. To uppercase, lowercase, truncate, trim, utf8 checks, and more.

### z_svg

SVG sanitizer.

### z_tempfile

Temporary file routines. Make tempfiles, including watch dog process to clean up the file.

### z_ubf

UBF-A encoding and decoding routines. Safe for atoms and maximum memory size.

### z_url

URL encode, decode and more.

### z_url_fetch

Fetch the first N bytes of a URL. Protection against too large return body.

### z_url_metadata

Fetch URL, extract metadata like mime type, title, description, images etc.

Tests
-----

To run the test set:

make test

All tests should pass.