refactor: improve docusaurus site creation and handling

- Change site.new to always create/overwrite a site
- Add early exit to site.play if no config exists
- Use explicit sitename from docusaurus.config
- Enable openai.play action processing
- Remove debug code and improve struct initialization
This commit is contained in:
Mahmoud-Emad
2025-08-07 13:42:53 +03:00
parent daf6ce5126
commit 843b20804b
6 changed files with 10 additions and 14 deletions

View File

@@ -6,6 +6,7 @@ playcmds.run(
heroscript: '
!!docusaurus.config
name: "tfgrid_tech"
title: "TFGrid Tech Docs"
!!docusaurus.define
@@ -15,7 +16,7 @@ playcmds.run(
install: 1
template_update: 1
!!docusaurus.add sitename:"default"
!!docusaurus.add sitename:"tfgrid_tech"
git_url:"https://git.threefold.info/tfgrid/docs_tfgrid4/src/branch/main/ebooks/tech"
git_root:"/tmp/code"
git_reset:1
@@ -23,6 +24,6 @@ playcmds.run(
!!docusaurus.build
!!docusaurus.dev site:"default" open:true watch_changes:true
!!docusaurus.dev site:"tfgrid_tech" open:true watch_changes:true
'
)!

View File

@@ -8,7 +8,7 @@ import crypto.blake2b
@[heap]
pub struct PlayBook {
pub mut:
actions []&Action @[skip; str: skip]
actions []&Action
priorities map[int][]int // first key is the priority, the list of int's is position in list self.actions
othertext string // in case there is text outside of the actions
result string // if any result

View File

@@ -50,7 +50,7 @@ pub fn run(args_ PlayArgs) ! {
bizmodel.play(mut plbook)!
doctree.play(mut plbook)!
docusaurus.play(mut plbook)!
// openai.play(mut plbook)!
openai.play(mut plbook)!
// slides.play(mut plbook)!
// base_install(play(mut plbook)!

View File

@@ -72,7 +72,7 @@ pub fn dsite_add(args_ AddArgs) !&DocSite {
path_build_ := '${f.path_build.path}/${args.sitename}'
// get our website
mut mysite := &site.Site(unsafe { nil })
mut mysite := &site.Site{}
if site.exists(name: args.sitename) {
// Site already exists (likely processed by hero command), use existing site
mysite = site.get(name: args.sitename)!
@@ -88,9 +88,6 @@ pub fn dsite_add(args_ AddArgs) !&DocSite {
}
}
println(mysite)
if true{panic("ss8")}
// Create the DocSite instance
mut dsite := &DocSite{
name: args.sitename

View File

@@ -15,12 +15,6 @@ pub mut:
pub fn new(args FactoryArgs) !&Site {
name := texttools.name_fix(args.name)
// Check if a site with this name already exists
if name in websites {
// Return the existing site instead of creating a new one
return get(name: name)!
}
websites[name] = &Site{
siteconfig: SiteConfig{
name: name

View File

@@ -5,6 +5,10 @@ import freeflowuniverse.herolib.core.texttools
import time
pub fn play(mut plbook PlayBook) ! {
if !plbook.exists(filter: 'site.') && !plbook.exists(filter: 'docusaurus.config') {
return
}
// Handle multiple site configurations - look for both site.config and docusaurus.config
mut config_actions := plbook.find(filter: 'site.config')!
if config_actions.len == 0 {