All Projects → jstayton → Suri

jstayton / Suri

Licence: mit
Your own link shortener that's easily deployed as a static site (for free)

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Suri

comments
A real-time, markdown-enabled comment engine powered by leveldb with oauth support
Stars: ✭ 60 (-75.9%)
Mutual labels:  self-hosted, static-site
urlzap
⚡️ Your own static URL shortener
Stars: ✭ 57 (-77.11%)
Mutual labels:  self-hosted, static-site
Viewscreen
Viewscreen - a personal video streaming server
Stars: ✭ 215 (-13.65%)
Mutual labels:  self-hosted
Elegant
Best theme for Pelican Static Blog Generator
Stars: ✭ 241 (-3.21%)
Mutual labels:  static-site
Wakapi
📊 A minimalist, self-hosted WakaTime-compatible backend for coding statistics
Stars: ✭ 232 (-6.83%)
Mutual labels:  self-hosted
Docs
Repository of Twilio SendGrid's product documentation.
Stars: ✭ 221 (-11.24%)
Mutual labels:  static-site
Serve
a static http server anywhere you need one.
Stars: ✭ 233 (-6.43%)
Mutual labels:  static-site
Openlivewriter
An open source fork of Windows Live Writer
Stars: ✭ 2,398 (+863.05%)
Mutual labels:  static-site
Dplatform Shell
Deploy self-hosted apps easily: simple, bloat-free, independent installation
Stars: ✭ 245 (-1.61%)
Mutual labels:  self-hosted
Shaarli Material
Shaarli Material is a theme for Shaarli, the famous personal, minimalist, super-fast, database free, bookmarking service.
Stars: ✭ 228 (-8.43%)
Mutual labels:  self-hosted
Fullstackpython.com
Full Stack Python source with Pelican, Bootstrap and Markdown.
Stars: ✭ 2,667 (+971.08%)
Mutual labels:  static-site
Magnetissimo
Web application that indexes all popular torrent sites, and saves it to the local database.
Stars: ✭ 2,551 (+924.5%)
Mutual labels:  self-hosted
Magnetico
Autonomous (self-hosted) BitTorrent DHT search engine suite.
Stars: ✭ 2,626 (+954.62%)
Mutual labels:  self-hosted
Docsbox
Self-hosted document converting service with HTTP API
Stars: ✭ 235 (-5.62%)
Mutual labels:  self-hosted
Logarr
“Logarr” is a self-hosted PHP web app that consolidates, formats, and displays log and text files for easy analysis and monitoring.
Stars: ✭ 216 (-13.25%)
Mutual labels:  self-hosted
Server
self-hosted tag-based time tracking
Stars: ✭ 238 (-4.42%)
Mutual labels:  self-hosted
Peco
nothing here, move on..
Stars: ✭ 213 (-14.46%)
Mutual labels:  static-site
Maloja
Self-hosted music scrobble database to create personal listening statistics and charts
Stars: ✭ 223 (-10.44%)
Mutual labels:  self-hosted
Homepage
A simple, standalone, self-hosted PHP page that is your window to your server and the web.
Stars: ✭ 234 (-6.02%)
Mutual labels:  self-hosted
Waveline Server
Simple self-hosted music streaming server
Stars: ✭ 248 (-0.4%)
Mutual labels:  self-hosted

Suri

Suri is your own link shortener that's easily deployed as a static site. No server-side hosting, serverless cloud functions, or database necessary. Suri can be deployed to Vercel/Netlify for free in 60 seconds.

Suri doesn't give a 💩 about "technically superior" 3xx server redirects. Suri just wants you to finally use that domain you waste $39/year on because you've never actually done anything with it.

Try it out with one of my own shortlinks: https://jstayton.com/tw 👉🏻 https://twitter.com/kidjustino

Getting Started

Install in One Click (for Free)

Deploy with Vercel Deploy to Netlify

Once complete, try accessing the root path of your URL – it should redirect back to my GitHub profile if everything's working.

Manage Links

Links are managed through src/links.json, which is seeded with a few examples to start:

{
  "/": "https://github.com/jstayton",
  "1": "https://fee.org/articles/the-use-of-knowledge-in-society/",
  "tw": "https://twitter.com/kidjustino"
}

It couldn't be simpler: the key is the "shortlink" path that gets redirected, and the value is the target URL. Keys can be as short or as long as you want, using whatever mixture of characters you want. / is a special entry for redirecting the root path.

Go ahead and make an edit, then commit and push to your repository. The hosting provider you chose above should automatically build and deploy your change. That's it!

Pro tip: Bookmark the page to edit src/links.json directly in GitHub (or wherever), and use the default commit message that's populated. Now show me a link shortener that's easier than that!

Config

Environment variables are used to set config options. There is only one at this point:

Variable Description Values Default
SURI_JS Whether to redirect with JavaScript instead of a <meta> refresh. 1, 0 0

Install Manually

To install Suri somewhere else, or just on your own machine:

  1. Fork this repository to create your own copy and clone to your machine.

  2. Make sure you have a compatible version of Node.js (see engines.node in package.json). nvm is the recommended installation method on your own machine:

    $ nvm install
    
  3. Install dependencies with npm:

    $ npm install
    
  4. Build the static site:

    $ npm run build
    
  5. Deploy the generated _site directory to its final destination.

Development

The following includes a few instructions for developing on Suri. For 11ty-specific details – the static site generator that powers Suri – see their docs.

Install

Follow the "Install Manually" section above to setup on your own machine.

Start

Start the development server:

$ npm run dev

Code Style

Prettier is setup to enforce a consistent code style. It's highly recommended to add an integration to your editor that automatically formats on save.

To run via the command line:

$ npm run lint

Releasing

After development is done in the development branch and is ready for release, it should be merged into the master branch, where the latest release code lives. Release It! is then used to interactively orchestrate the release process:

$ npm run release

piratepx

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].