server

package
v0.5.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 4, 2024 License: MIT Imports: 11 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetDefaultParkaRendererOptions

func GetDefaultParkaRendererOptions() ([]render.RendererOption, error)

GetDefaultParkaRendererOptions will return the default options for the parka renderer. This includes looking up templates from the embedded templateFS to provide support for markdown rendering with tailwind. This includes css files. It also sets base.tmpl.html as the base template for wrapping rendered markdown.

func GetDefaultParkaTemplateLookup added in v0.3.2

func GetDefaultParkaTemplateLookup() (render.TemplateLookup, error)

func GetParkaStaticFS

func GetParkaStaticFS() fs.FS

func GetParkaStaticHttpFS added in v0.3.2

func GetParkaStaticHttpFS() http.FileSystem

Types

type Server

type Server struct {
	Router *gin.Engine

	// TODO(manuel, 2023-06-05) This should become a standard Static handler to be added to the Routes
	StaticPaths []utils_fs.StaticPath
	// TODO(manuel, 2023-06-05) This could potentially be replaced with a fallback Handler
	DefaultRenderer *render.Renderer

	Port    uint16
	Address string
}

Server is the main class that parka uses to serve static and templated content. It is a wrapper around gin.Engine.

It is meant to be quite flexible, allowing you to add static paths and template lookups that can provide different fs and template backends.

Router is the gin.Engine that is used to serve the content, and it is exposed so that you can use it as just a gin.Engine if you want to.

func NewServer

func NewServer(options ...ServerOption) (*Server, error)

NewServer will create a new Server with the given options. This loads a fixed set of files and templates from the embed.FS. These files provide tailwind support for Markdown rendering and a standard index and base page template. NOTE(manuel, 2023-04-16) This is definitely ripe to be removed.

func (*Server) RegisterDebugRoutes added in v0.4.4

func (s *Server) RegisterDebugRoutes()

func (*Server) Run

func (s *Server) Run(ctx context.Context) error

Run will start the server and listen on the given address and port.

type ServerOption

type ServerOption = func(*Server) error

func WithAddress

func WithAddress(address string) ServerOption

WithAddress will set the address that the server will listen on.

func WithDefaultParkaRenderer

func WithDefaultParkaRenderer(options ...render.RendererOption) ServerOption

func WithDefaultParkaStaticPaths

func WithDefaultParkaStaticPaths() ServerOption

func WithDefaultRenderer

func WithDefaultRenderer(r *render.Renderer) ServerOption

func WithFailOption

func WithFailOption(err error) ServerOption

func WithGzip

func WithGzip() ServerOption

func WithPort

func WithPort(port uint16) ServerOption

WithPort will set the port that the server will listen on.

func WithStaticPaths

func WithStaticPaths(paths ...utils_fs.StaticPath) ServerOption

WithStaticPaths will add the given static paths to the list of static paths. If a path with the same URL path already exists, it will be replaced.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL