comparison README.txt @ 20:2ba55733b788

remove whitespace
author Jeff Hammel <k0scist@gmail.com>
date Sun, 02 Jun 2024 15:47:40 -0700
parents b0942f44413f
children
comparison
equal deleted inserted replaced
19:c6800e0b01ed 20:2ba55733b788
77 {{endfor}} 77 {{endfor}}
78 </div> 78 </div>
79 79
80 This microformat approach allows not only easy editing of the HTML 80 This microformat approach allows not only easy editing of the HTML
81 documents, but the documents may be indepently served and displayed 81 documents, but the documents may be indepently served and displayed
82 without the toolbox server-side. 82 without the toolbox server-side.
83 83
84 The HTML microformat was never implemented (though, since the model 84 The HTML microformat was never implemented (though, since the model
85 backend is pluggable, it easily could be). Instead, the original 85 backend is pluggable, it easily could be). Instead, the original
86 implementation used JSON blobs stored in one file per tool. This 86 implementation used JSON blobs stored in one file per tool. This
87 approach loses the displayable aspect, though since JSON is a defined 87 approach loses the displayable aspect, though since JSON is a defined
89 perhaps this disavantage is offset. 89 perhaps this disavantage is offset.
90 90
91 A couch backend was also written. 91 A couch backend was also written.
92 92
93 +------------+-----------+------------+ 93 +------------+-----------+------------+
94 |Displayable?|File-based?|Concurrency?| 94 |Displayable |File-based |Concurrency |
95 +-----+------------+-----------+------------+ 95 +-----+------------+-----------+------------+
96 |HTML |Yes |Yes |No | 96 |HTML |Yes |Yes |No |
97 +-----+------------+-----------+------------+ 97 +-----+------------+-----------+------------+
98 |JSON |Not really |Yes |No | 98 |JSON |Not really |Yes |No |
99 +-----+------------+-----------+------------+ 99 +-----+------------+-----------+------------+
100 |Couch|No |No |Yes? | 100 |Couch|No |No |Yes |
101 +-----+------------+-----------+------------+ 101 +-----+------------+-----------+------------+
102 102
103 The concurrency issue with file-based documennt backends may be 103 The concurrency issue with file-based documennt backends may be
104 overcome by using locked files. Ideally, this is accomplished at the 104 overcome by using locked files. Ideally, this is accomplished at the
105 filesystem level. If your filesystem does not promote this 105 filesystem level. If your filesystem does not promote this
132 in the dispatcher. 132 in the dispatcher.
133 133
134 Deployment, however, may be tailored as desired. Any of the given 134 Deployment, however, may be tailored as desired. Any of the given
135 templates may be overridden via passing a ``template_dir`` parameter 135 templates may be overridden via passing a ``template_dir`` parameter
136 with a path to a directory that have templates of the appropriate 136 with a path to a directory that have templates of the appropriate
137 names as found in toolbox's ``templates`` directory. 137 names as found in toolbox's ``templates`` directory.
138 138
139 Likewise, the static files (css, js, etc.) are served using ``paste``'s 139 Likewise, the static files (css, js, etc.) are served using ``paste``'s
140 ``StaticURLParser`` out of toolbox's ``static`` directory. (See 140 ``StaticURLParser`` out of toolbox's ``static`` directory. (See
141 toolbox's ``factory.py``.) Notably this is *not* done using the WSGI 141 toolbox's ``factory.py``.) Notably this is *not* done using the WSGI
142 app itself. Doing it with middleware allows the deployment to be 142 app itself. Doing it with middleware allows the deployment to be
143 customizable by writing your own factory. For example, instead of 143 customizable by writing your own factory. For example, instead of
144 using the ``paste`` webserver and the included ``paste.ini``, you 144 using the ``paste`` webserver and the included ``paste.ini``, you