jmjl 7907c7bc1e Fix gist.html using relative URL (#451)
Due to the fact the file templates/base/base_header.html contains a
<base> element, all relative URLs are interpreted as dependant on the
base.[1]

I've noticed the base isn't the current page, but the element linking to
anchor identifier isn't using the complete URL to the gist page, which
means that if you go to a gist, and try to click on the link that leads
you to the file (which would make browsers automatically go down if it's
a file that has a lot of lines), you get taken to the homepage, and
unless you look at the URL closely you wouldn't notice the
fragment/anchor part.

I'm sure there's a better way of dealing with this, such as removing
<base> from the template mentioned above, but due to the fact I'd like
to have this work, I've made it put the full URL to this page.

Something that might be good to do is making the relative URLs always be
absolute, by having the '{{ $.c.ExternalUrl }}' thing everywhere where a
relative URL would be, as that'd probably fix #415, and would allow for
this commit to be reverted if that's desired.

[1] https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
2025-03-31 23:07:01 +02:00
2025-02-04 21:22:47 +01:00
2024-09-28 01:31:18 +02:00
2025-03-19 23:28:04 +01:00
2023-04-06 13:55:04 +02:00
2023-09-03 00:30:57 +02:00
2024-09-12 01:47:15 +02:00
2025-02-04 21:22:47 +01:00
2025-03-19 23:28:04 +01:00
2025-03-19 23:28:04 +01:00
2025-03-19 23:28:04 +01:00
2023-03-14 16:22:52 +01:00
2025-02-04 21:22:47 +01:00

Opengist

Opengist

Opengist is a self-hosted Pastebin powered by Git. All snippets are stored in a Git repository and can be read and/or modified using standard Git commands, or with the web interface. It is similar to GitHub Gist, but open-source and could be self-hosted.

Home PageDocumentationDiscordDemo

GitHub release (latest SemVer) License Go CI Go Report Card Translate

Features

  • Create public, unlisted or private snippets
  • Init / Clone / Pull / Push snippets via Git over HTTP or SSH
  • Syntax highlighting ; markdown & CSV support
  • Search code in snippets; browse users snippets, likes and forks
  • Add topics to snippets
  • Embed snippets in other websites
  • Revisions history
  • Like / Fork snippets
  • Download raw files or as a ZIP archive
  • OAuth2 login with GitHub, GitLab, Gitea, and OpenID Connect
  • Restrict or unrestrict snippets visibility to anonymous users
  • Docker support
  • More...

Quick start

With Docker

Docker images are available for each release :

docker pull ghcr.io/thomiceli/opengist:1.9

It can be used in a docker-compose.yml file :

  1. Create a docker-compose.yml file with the following content
  2. Run docker compose up -d
  3. Opengist is now running on port 6157, you can browse http://localhost:6157
services:
  opengist:
    image: ghcr.io/thomiceli/opengist:1.9
    container_name: opengist
    restart: unless-stopped
    ports:
      - "6157:6157" # HTTP port
      - "2222:2222" # SSH port, can be removed if you don't use SSH
    volumes:
      - "$HOME/.opengist:/opengist"

You can define which user/group should run the container and own the files by setting the UID and GID environment variables :

services:
  opengist:
    # ...
    environment:
      UID: 1001
      GID: 1001

Via binary

Download the archive for your system from the release page here, and extract it.

# example for linux amd64
wget https://github.com/thomiceli/opengist/releases/download/v1.9.1/opengist1.9.1-linux-amd64.tar.gz

tar xzvf opengist1.9.1-linux-amd64.tar.gz
cd opengist
chmod +x opengist
./opengist # with or without `--config config.yml`

Opengist is now running on port 6157, you can browse http://localhost:6157

From source

Requirements: Git (2.28+), Go (1.23+), Node.js (16+), Make (optional, but easier)

git clone https://github.com/thomiceli/opengist
cd opengist
make
./opengist

Opengist is now running on port 6157, you can browse http://localhost:6157


To create and run a development environment, see run-development.md.

Documentation

The documentation is available at https://opengist.io/ or in the /docs directory.

License

Opengist is licensed under the AGPL-3.0 license.

Languages
Go 88.8%
TypeScript 9.2%
Shell 0.8%
Smarty 0.5%
Makefile 0.4%
Other 0.3%