1. html page creator, part deux

--------------A5DA9599849A1ECD95B08809

okay, updated search/replace (newfile attached) in creator.ex
and made a version (changed extension basically) for exw
that runs from a shortcut. benefit? i got long file
names working in a (for all intentent purposes) DOS program.
include some_beaming_smiles.:).
while grinning_wide do
   Mosh_Adamantly()
--then
end --the festivities for a
while

heh, woulda nevah thought that'd work...go figure...
onwards...now to get the autoURLlinking system going...

hrmmmmm *scurries away*
--------------A5DA9599849A1ECD95B08809
Content-Disposition: inline; filename="creator.exw"

constant SCREEN = 1
constant TRUE = 1
sequence links, topics, template, newfile, newfilename
links = {} topics = {} template = {}
newfile = {} newfilename = {}

function ReadFile(sequence filename)
--reads a file, returns a sequence
sequence data
integer fileNum
object line
   data = {}
   fileNum = open(filename, "r")
   if fileNum = -1 then
        printf(SCREEN, "readfile cannot open %s\n", filename)
        abort(1)
   else
        while TRUE do
        line = gets(fileNum)
        if atom(line) then
            -- end of file
            close(fileNum)
            return data
        end if
        data = data & {line}
        end while
   end if
end function

function SearchReplace( sequence lookinhere,
        sequence lookfor, sequence replace)
--replaces the word <lookfor> within <lookinhere> with <replace>
--does so by finding where <lookfor> begins, slicing
--everything up to that point, and where <lookfor>
--ends, slicing everything after that, then pasteing
--together the beginning, replacement, and ending
integer location
sequence first, last, temp
replace = replace[1..length(replace)-1] --squish CR
for index = 1 to length(lookinhere) do
   location = match(lookfor, lookinhere[index])
   if location != 0 then
        first = {} last = {} temp = {}
        --not needed, easier 2 read
        temp  = temp & lookinhere[index]
        --back up to the preceding space, slice beginning
        first = first & temp[1..location-1]
        --goto end of <lookfor>, slice ending
        last  = last  & temp[location+length(lookfor)..length(temp)]
        --paste it back together with replacement in middle
        lookinhere[index] = first & replace & last
   end if
end for
return lookinhere
end function

procedure SaveFile(sequence filename, sequence data)
--saves the newly created page replete with
--titles and such based on template to filename
--which is generated based on <topic>.htm
integer fileNum
fileNum = open(filename, "w")
if fileNum = -1 then
   puts(SCREEN,"error in savefile, cant open\n")
   abort(1)
end if
for index = 1 to length(data) do
   puts(fileNum,data[index])
end for
close(fileNum)
end procedure

--links    = ReadFile("links.txt")
--getting links to work is another day's project
topics   = ReadFile("topics.txt")
template = ReadFile("template.html")
for index = 1 to length(topics) do
   newfile = SearchReplace(template,"template",topics[index])
   newfilename = {}
   newfilename = newfilename & topics[index]
   newfilename = newfilename[1..length(newfilename)-1] --squish CR
   newfilename = newfilename & ".html"
   SaveFile(newfilename, newfile)
end for

--------------A5DA9599849A1ECD95B08809--

new topic     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu