website

package
v1.1.5 Latest Latest
Warning

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

Go to latest
Published: Aug 23, 2024 License: BSD-3-Clause Imports: 7 Imported by: 0

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func Branch

func Branch(value string) basic.Op

func Description

func Description(value string) basic.Op

func Domains

func Domains(value []string) basic.Op

func Github

func Github(id string, fullname string) basic.Op

func Id

func Id(value string) basic.Op

func Paths

func Paths(value []string) basic.Op

func SmartOps

func SmartOps(value []string) basic.Op

func Tags

func Tags(value []string) basic.Op

Types

type Getter

type Getter interface {
	basic.ResourceGetter[*structureSpec.Website]
	Domains() []string
	Paths() []string
	Branch() string
	Git() (provider, id, fullname string)
}

func Yaml

func Yaml(name, application string, yamlData []byte) (Getter, error)

type Website

type Website interface {
	Get() Getter
	common.Resource[*structureSpec.Website]
}
Example
package main

import (
	"fmt"

	"github.com/spf13/afero"
	"github.com/taubyte/tau/pkg/schema/project"
	"github.com/taubyte/tau/pkg/schema/website"
)

func main() {
	// Create a new file system in memory
	fs := afero.NewMemMapFs()

	// Open a new project with a virtual file system
	project, err := project.Open(project.VirtualFS(fs, "/"))
	if err != nil {
		return
	}

	// Create or open an website
	web, err := project.Website("test_web", "")
	if err != nil {
		return
	}

	// Set and write website fields
	err = web.Set(true,
		website.Id("QmaEBKzOyrYL1D6gtqD86Nyr2hvXAxWHcMCu9ffxLaByMc"),
		website.Description("a basic website"),
		website.Tags([]string{"tag1", "tag2"}),
		website.Domains([]string{"hal_domain"}),
		website.Paths([]string{"/"}),
		website.Branch("main"),
		website.Github("222222222", "taubyte-test/basic_website"),
	)
	if err != nil {
		return
	}

	// Display the Description
	fmt.Println(web.Get().Description())

	// Open the config.yaml of the website
	config, err := afero.ReadFile(fs, "/websites/test_web.yaml")
	if err != nil {
		return
	}

	// Print config.yaml
	fmt.Println(string(config))

}
Output:

a basic website
id: QmaEBKzOyrYL1D6gtqD86Nyr2hvXAxWHcMCu9ffxLaByMc
description: a basic website
tags:
    - tag1
    - tag2
domains:
    - hal_domain
source:
    paths:
        - /
    branch: main
    github:
        id: "222222222"
        fullname: taubyte-test/basic_website

func Open

func Open(seer *seer.Seer, name string, application string) (Website, error)

Jump to

Keyboard shortcuts

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