The Space API provides functions for interacting with pages, documents, and files in the space.

Page Operations


space.listPages()

Returns a list of all pages in the space.

Example:
local pages = space.listPages()
for page in each(pages) do
    print(page.name)
end


space.readPage(name)

Reads the content of a page.

Example:
local content = space.readPage("welcome")
print(content)  -- prints the content of the "welcome" page


space.getPageMeta(name)

Gets metadata for a specific page.

Example:
local meta = space.getPageMeta("welcome")
print(meta.name, meta.lastModified)  -- prints page name and last modified date


space.writePage(name, text)

Writes content to a page.

Example:
local meta = space.writePage("notes", "My new note content")
print("Page updated at: " .. meta.lastModified)


space.deletePage(name)

Deletes a page from the space.

Example:
space.deletePage("old-notes")


Document Operations


space.listDocuments()

Returns a list of all documents in the space.

Example:
local documents = space.listDocuments()
for doc in each(documents) do
    print(doc.name, doc.size)
end


space.readDocument(name)

Reads the content of a document.

Example:
local data = space.readDocument("image.png")
print("Document size: " .. #data .. " bytes")


space.writeDocument(name, data)

Writes binary data to a document.

Example:
local binaryData = string.char(72, 69, 76, 76, 79)  -- "HELLO" in binary
local meta = space.writeDocument("test.bin", binaryData)
print("Document saved with size: " .. meta.size)


space.deleteDocument(name)

Deletes a document from the space.

Example:
space.deleteDocument("old-image.png")


File Operations


space.listFiles()

Returns a list of all files in the space.

Example:
local files = space.listFiles()
for _, file in ipairs(files) do
    print(file.name, file.size)
end


space.getFileMeta(name)

Gets metadata for a specific file.

Example:
local meta = space.getFileMeta("document.txt")
print(meta.name, meta.modified, meta.size)


space.readFile(name)

Reads the content of a file.

Example:
local content = space.readFile("document.txt")
print("File size: " .. #content .. " bytes")


space.writeFile(name, data)

Writes binary data to a file.

Example:
local text = "Hello, World!"
local meta = space.writeFile("greeting.txt", text)
print("File written with size: " .. meta.size)


space.deleteFile(name)

Deletes a file from the space.

Example:
space.deleteFile("old-document.txt")


space.fileExists(name)

Checks if a file exists in the space.

Example:
if space.fileExists("config.json") then
    print("Config file exists!")
else
    print("Config file not found")
end