...

Package flags

import "github.com/johnstarich/go/gopages/internal/flags"
Overview
Index

Overview ▾

Package flags parses args and returns them as a struct.

type Args

Args contains all command-line options for gopages

type Args struct {
    BaseURL               string
    GitHubPages           bool
    GitHubPagesToken      string
    GitHubPagesUser       string
    IncludeInHead         FilePathContents
    IndexInternalPackages bool
    SourceLinkTemplate    string
    OutputPath            string
    SiteDescription       string
    SiteTitle             string
    Watch                 bool // not added as a flag, only enabled when running from ./cmd/watch
}

func Parse

func Parse(osArgs ...string) (Args, string, error)

Parse parses the given command line arguments into Args values and returns any output to send to the user

func (Args) Linker

func (a Args) Linker(modulePackage string) (source.Linker, error)

Linker returns an appropriate source.Linker for the given command line args

type FilePathContents

FilePathContents is a flag that reads a file by the passed in path and contains its contents

type FilePathContents struct {
    // contains filtered or unexported fields
}

func (*FilePathContents) Contents

func (f *FilePathContents) Contents() []byte

Contents returns the contents of this flag's file

func (*FilePathContents) Set

func (f *FilePathContents) Set(s string) error

Set implements flag.Value

func (*FilePathContents) String

func (f *FilePathContents) String() string

type GoPagesLinker

GoPagesLinker is the default GoPages source.Linker, which links to scraped godoc source pages

type GoPagesLinker struct {
    // contains filtered or unexported fields
}

func (*GoPagesLinker) LinkToSource

func (l *GoPagesLinker) LinkToSource(packagePath string, options source.LinkOptions) url.URL

LinkToSource implements source.Linker

type TemplateLinker

TemplateLinker is a custom template-based source.Linker, which links to external source pages

type TemplateLinker struct {
    // contains filtered or unexported fields
}

func (*TemplateLinker) LinkToSource

func (l *TemplateLinker) LinkToSource(packagePath string, options source.LinkOptions) url.URL

LinkToSource implements source.Linker

func (*TemplateLinker) ShouldScrapePackage

func (l *TemplateLinker) ShouldScrapePackage(packagePath string) bool

ShouldScrapePackage implements source.ScrapeChecker