Skip to content

Go library to format the syntax of releaser names and URL paths.

License

Notifications You must be signed in to change notification settings

Defacto2/releaser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Defacto2 / releaser

Go Reference Go Report Card

A Go library for handling the formatting of Defacto2 releasers. See the reference documentation for additional usage and examples.

Releasers are the groups or organisations that create the art, music, demos, intros, cracks, etc. that are found on the Defacto2 website. They are also the sites and boards that have hosted the files and communities.

Usage

In your Go project, import the releaser library.

package main

import (
	"fmt"
	"path"

	"github.com/Defacto2/releaser"
)

func main() {
	// Clean the the string releaser name.
	name := releaser.Clean("  the  knightmare  bbs ")
	fmt.Println(name) // Output: Knightmare BBS

	// Format the releaser name for use in a database cell.
	data := releaser.Cell("  the  knightmare  bbs ")
	fmt.Println(data) // Output: KNIGHTMARE BBS

	// Format the releaser name into a URL path.
	urlPath := releaser.Obfuscate("the knightmare bbs")
	fmt.Println(urlPath) // Output: knightmare-bbs

	// Format the releaser name into a human readable string.
	const url1 = "https://defacto2.net/g/knightmare-bbs"
	name = releaser.Humanize(path.Base(url1))
	fmt.Println(name) // Output: Knightmare BBS

	// Format the releaser names into a HTML link description.
	const url2 = "https://defacto2.net/g/class*paradigm*razor-1911"
	name = releaser.Link(path.Base(url2))
	fmt.Println(name) // Output: Class + Paradigm + Razor 1911
}