Versions in this module Expand all Collapse all v1 v1.1.1 May 8, 2026 v1.1.0 Apr 30, 2026 Changes in this version + type IssueListQuery struct + Labels []string + Repository string + Username string v1.0.0 Apr 30, 2026 Changes in this version + func Ptr[T any](v T) *T + type Article struct + Author string + Category string + Content string + Date string + Draft bool + FrontMatter FrontMatter + Images []*Image + Key string + Tags []string + Title string + func (a *Article) Clone() *Article + func (a *Article) ParseDateTime() (time.Time, error) + type ArticleGenerator struct + func NewArticleGenerator(conf config.Config, token string) (*ArticleGenerator, error) + func NewArticleGeneratorWithLogger(conf config.Config, token string, logger *slog.Logger) (*ArticleGenerator, error) + func (g *ArticleGenerator) ConvertIssueToArticle(issue *github.Issue) *Article + func (g *ArticleGenerator) Generate(ctx context.Context, username, repository string) (int, error) + func (g *ArticleGenerator) GetIssues(ctx context.Context, username, repository string) ([]*github.Issue, error) + func (g *ArticleGenerator) SaveArticle(ctx context.Context, article *Article) error + type ArticleRenderer interface + Render func(article *Article) (string, error) + func NewHugoArticleRenderer() ArticleRenderer + type ArticleService struct + func NewArticleService(conf config.Config) *ArticleService + func (s *ArticleService) ConvertIssueToArticle(issue *github.Issue) *Article + type ArticleStore interface + Save func(ctx context.Context, article *Article, conf config.Config) error + func NewFileSystemArticleRepository(imageRepo AssetFetcher) ArticleStore + func NewFileSystemArticleRepositoryWithLogger(imageRepo AssetFetcher, logger *slog.Logger) ArticleStore + type AssetFetcher interface + Fetch func(ctx context.Context, image *Image) (*ImageAsset, error) + func NewHTTPImageRepository(token string) AssetFetcher + func NewHTTPImageRepositoryWithLogger(token string, logger *slog.Logger) AssetFetcher + type FileSystemArticleRepository struct + func (r *FileSystemArticleRepository) Save(ctx context.Context, article *Article, conf config.Config) error + type FrontMatter struct + func EmptyFrontMatter() FrontMatter + func NewFrontMatter(values map[string]any) FrontMatter + func (fm FrontMatter) IsEmpty() bool + func (fm FrontMatter) MarshalYAML() (data []byte, err error) + func (fm FrontMatter) Values() map[string]any + type GitHubIssueRepository struct + func (r *GitHubIssueRepository) ListIssues(ctx context.Context, username, repoName string) ([]*github.Issue, error) + type HTTPImageRepository struct + func (r *HTTPImageRepository) Fetch(ctx context.Context, image *Image) (*ImageAsset, error) + type HugoArticleRenderer struct + func (HugoArticleRenderer) Render(article *Article) (string, error) + type Image struct + ID int + Time string + URL string + func NewImage(url, time string, id int) *Image + type ImageAsset struct + Body io.ReadCloser + ContentType string + type IssueStore interface + ListIssues func(ctx context.Context, username, repository string) ([]*github.Issue, error) + func NewGitHubIssueRepository(token string) (IssueStore, error) + func NewGitHubIssueRepositoryWithLogger(token string, logger *slog.Logger) (IssueStore, error)