All Projects → pmonks → unfurl

pmonks / unfurl

Licence: Apache-2.0 license
This library implements "URL unfurling" approximately according to how Slack does it.

Programming Languages

clojure
4091 projects

Projects that are alternatives of or similar to unfurl

micro-unfurl
Small microservice that unfurls a URL and returns the OpenGraph meta data
Stars: ✭ 28 (+33.33%)
Mutual labels:  unfurl
furlex
A structured data extraction tool written in Elixir
Stars: ✭ 42 (+100%)
Mutual labels:  unfurl
main CI Dependencies
dev CI Dependencies

Latest Version Open Issues License

unfurl

This library implements "URL unfurling" approximately according to how Slack does it. See this blog post for more info.

Installation

unfurl is available as a Maven artifact from Clojars. The latest version is:

Trying it Out

Clojure CLI

$ clj -Sdeps '{:deps {com.github.pmonks/unfurl {:mvn/version "#.#.#"}}}'  # Where #.#.# is replaced with an actual version number >= 0.10.0

Leiningen

$ lein try com.github.pmonks/unfurl

Usage

The functionality is provided by the unfurl.api namespace.

Require it in the REPL:

(require '[unfurl.api :as uf] :reload-all)

Require it in your application:

(ns my-app.core
  (:require [unfurl.api :as uf]))

The library provides a single function - unfurl. The API documentation has full details, and the unit tests provide some example usages.

Contributor Information

Contributing Guidelines

Bug Tracker

Code of Conduct

Developer Workflow

The repository has two permanent branches: main and dev. All development must occur either in branch dev, or (preferably) in feature branches off of dev. All PRs must also be submitted against dev; the main branch is only updated from dev via PRs created by the core development team. All other changes submitted to main will be rejected.

This model allows otherwise unrelated changes to be batched up in the dev branch, integration tested there, and then released en masse to the main branch, which will trigger automated generation and deployment of the release (Codox docs to GitHub Pages, JARs to Clojars, etc.).

Why are there so many different groupIds on Clojars for this project?

The project was originally developed under my personal GitHub account. In early 2018 it was transferred to the clj-commons GitHub organisation, but then, as that group refined their scope and mission, it was determined that it no longer belonged there, and the project were transferred back in late 2021. During this time the build tooling for the project also changed from Leiningen to tools.build, which created further groupId churn (tools.build introduced special, useful semantics for com.github.username groupIds that don't exist with Leiningen or Clojars).

License

Copyright © 2016 Peter Monks

Distributed under the Apache License, Version 2.0.

SPDX-License-Identifier: Apache-2.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].