Categorygithub.com/spurtcms/blocks
repositorypackage
0.0.46
Repository: https://github.com/spurtcms/blocks.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# README

Blocks

spurtCMS includes a flexible and modular blocks system to allow users to build dynamic, reusable sections for their websites. Blocks can be customized, reused, and combined to create powerful page layouts.

Features

  • Blocks are self-contained components that can be reused across pages.
  • Users can easily rearrange blocks within a page using drag-and-drop interfaces.
  • Reusable Blocks: Create blocks once and use them across multiple pages or posts
  • Simplifies layout customization without needing technical skills.

Installation

go get github.com/spurtcms/blocks 

Usage Example

import (
	"github.com/spurtcms/auth"
	"github.com/spurtcms/blocks"
)

func main() {

	Auth := auth.AuthSetup(auth.Config{
		UserId:     1,
		ExpiryTime: 2,
		SecretKey:  "SecretKey@123",
		DB: &gorm.DB{},
		RoleId: 1,
	})

	token, _ := Auth.CreateToken()

	Auth.VerifyToken(token, SecretKey)

	permission, _ := Auth.IsGranted("Forms Builder", auth.CRUD, 1)

	Blocks := BlockSetup(Config{
		DB:               db,
		AuthEnable:       true,
		PermissionEnable: true,
		Auth:             Auth,
	})


	if permisison {

		//list Blocks
		blocklist, blockcount, err := Blocks.BlockList(10, 0, Filter{}, 1)
		if err != nil {
			fmt.Println(err)
		}

		//create Blocks
        BlockCreate := BlockCreation{
			Title:        "TestBlock",
			BlockContent: `<p>Hello world</p>`,
			CoverImage:   "/blocks/IMG-1726551883.jpeg",
			TenantId:     1,
			Prime:        1,
			CreatedBy:    2,
			IsActive:     1,
		}

		createblock, err := Blocks.CreateBlock(BlockCreate)

		if err != nil {
			log.Println("collection list", err)
		}

		MstrTag := MasterTagCreate{

			TagTitle:  "Hello",
			TenantId:  1,
			CreatedBy: 2,
		}

		createtags, err := Blocks.CreateMasterTag(MstrTag)

		if err != nil {
			fmt.Println("block err", err)
		}

		TagCreate := CreateTag{
			BlockId:   createblock.Id,
			TagId:     createtags.Id,
			TagName:   createtags.TagTitle,
			TenantId:  1,
			CreatedBy: 2,
		}

		err2 := Blocks.CreateTag(TagCreate)

		if err2 != nil {
			fmt.Println("block err", err)
		}

		//update Blocks
        BlockUpdate := BlockCreation{
			Title:      "Halo",
			ModifiedBy: 2,
			TenantId:   1,
		}

		err := Blocks.UpdateBlock(23, BlockUpdate)

		if err != nil {
			log.Println("collection list", err)
		}

		// delete Blocks
		err := Blocks.RemoveBlock(23, 1)
		if err != nil {
			fmt.Println(err)
		}
	}
}

Getting help

If you encounter a problem with the package,please refer [Please refer [(https://dev.spurtcms.com/documentation)] or you can create a new Issue in this repo[https://github.com/spurtcms/blocks/issues].