some changes
[htmlglue.git] / ToDo
1 get own path from sys.argv[0]
2 get theme dir from sys.argv[1]
3 opt: get dir or file to build from sys.argv[n]
4 no additional parameter(s): (re)build whole site
5 -d --dir $dir 
6 -f --file $file
7 -r --recursive (with -d, ignore if -f)
8
9 does theme dir exist?
10 opt: does dir/file exist?
11
12 theme dir must have subdirs CSS, DEFAULT, SNIPPETS
13 theme dir must have index.py, index.htm, menu.py
14 subdir CSS must have at least one css file
15 subdir DEFAULTS must have at least settings.py
16 subdir SNIPPETS must have at least
17 - bodytop.htm
18 - footer.htm
19 - endoffile.htm
20
21 add DEFAULTS, SNIPPETS to path
22
23 does theme/html exist, if not: mkdir
24
25 full (re)build (no parameters given)
26 or (recursive) (re)build of one folder
27
28 if -d|--dir:
29 - if menu.py:
30   - import menu.py
31   - if -r|--recursive (as function):
32     - read all folder names from menu.py in folderlist[]
33     - use folderlist to read menu.py from each subfolder
34     - add all found folders to folderlist[]
35       (need to remember current dir!)
36     - recursive, until all menu.py are processed
37
38     - for each folder in folderlist[]:
39       - import menu.py
40         - for each menuitem[]: function makemenuitem
41
42 def makemenuitem(menuitem):
43 - split into its parts (must be 4 parts) 
44 - if menuitem is htm (part 0):
45   - check whether according content file (.htm) exists in currentdir
46     - if not: pass
47   - check whether according .py file exists in currentdir
48     - if not: pass
49   - call function buildpage with filename, currentdir
50
51 def buildpage(filename, currentdir)
52 - build page targetfile with settings, SNIPPETS, and menulist
53 - Build <head> section like footer in settings.py?
54   - Reason: replacements must be placed correctly.
55 - import DEFAULTS/settings.py 
56   - add currentdir to path (in order to import .py files)
57   - import menu.py from currentdir
58   - if according menuitem exists:
59     - split into its parts (must be 4 parts)
60     - check whether according content file exists in currentdir
61     - check whether according content file (.htm) exists in currentdir
62       - if not: pass
63     - check whether according .py file exists in currentdir
64       - if not: pass
65     - call function buildpage with filename, currentdir
66     - build page targetfile with settings, SNIPPETS, and menulist
67       - import DEFAULTS/settings.py 
68       - add currentdir to path (in order to import .py files)
69       - import $page.py (menuitem part 2)
70       - own menu entry without link to itself
71           
72
73 if -f|--file targetfile:
74 - create currentdir and contentfile from targetfile
75 - buildpage(contentfile, currentdir)
76
77 ----------------------------------------------------------------
78
79 Additional function: Get content file date from original (old) html files
80 and write to DEFAULTS/modif.lst
81 delete entries from modif.lst when once used