Hi, I was talking about an open source project that I am working on recently and someone introduced Instiki to me. My aim for this project is to allow the user to create a website easily and be able to deploy the result on any HTML hosting server. So it is very important that the user can specify their own skin for the website (same as the template feature on blogger), and possibly check in the content source in the version control so that they can share the benefit as the source codes. I took a look at Instiki and felt that it is solving a lot of problem that I am trying to solve. The only thing left is just to allow the user to specify a skin for the website, and store the content in the physical file system instead. I wonder if you have that on your road map, and maybe you would like to take a look at what I have done. * For general idea of site building: http://buildmaster.rubyforge.org/docs/site-diagram.html * For template tags: http://buildmaster.rubyforge.org/docs/build-site.html For the history on this part of BuildMaster, see http://buildmaster.rubyforge.org/history.html Cheers, -- Shane http://www.shaneduan.com
I have used Instiki similarly for a client of mine. I created a wiki that "looks" like their existing site by just using a screenshot of their existing site as the background. I then modified Instiki''s export_html function to export the wiki''s content as HTML files, but wrapping it in the HTML ( or ASP/HTML code in my case) that they provided for their site''s template. Pretty simple, just another view file in the layouts directory. Basically they didn''t have a content management system and wouldn''t be able to install one (internal politics i think) so I used instiki to kind of fake it. The result is they can create and edit the content as they like and see what it will look like, then when they are done they press the export button and get a zip file with all the appropriate files that they can just unzip on their server. For me using a screenshot of the layout made everything easy because I didn''t have to merge their layout-specific stuff with Instiki''s html. I just added their CSS to instiki''s layout so the headings and everything appear as it would appear on their site. Instiki inserts divs around bits of revised content, enabling the "See Changes" link. If you have table or div layout structure in the content, then occasionally the revision divs will not be nested properly in the output, as it doesn''t make any effort to look at the content and ensure that it''s revision divs do not wrap around a </td> element for instance. For me this just occasionally causes Instiki''s footer to dissappear, which i work around by forcing a new revision (changing my username and making a change to whitespace well inside all layout elements). The revision divs are not included in the export html, so it''s really only a problem when you''re editing the content. In my case, i have very little if any layout structure in the content, so the users don''t really ever experience this problem because they are generally only making changes inside the layout elements. Instiki has the ability to have one page that includes the content of another page with a tag like [[!include Menu]]. One annoy thing about it though, at least on the old Madeline version that i''m using (v0.10.2), you have to make a change to the page that includes it in order for the changes on the included page to show up. Also to note, if you place a <nowiki> tag around content, Instiki will treat it as HTML not to be marked up with Textile etc. So the task could be fairly simple or more complex, depending on if you want users to edit their template using the application and how flexible the templates need to be. But create an instiki with a completely custom layout is pretty simple, the default template is stored at app/views/layout/default.rhtml. You can modify it or direct it to render using a different layout in the wiki_controller, either change the default or specify one on render, perhaps like render :layout => @current_client.layout. Anyway, those are some of my experiences. It''s already pretty easy to change the skin if you have access to the filesystem and know what file to edit. Storing the content on a physical filesystem can be accomplished via the export html function. Feel free to hit me up with any other questions you have. - Derek http://www.derekgulbranson.com On Aug 9, 2006, at 3:54 PM, Shane Duan wrote:> Hi, > > I was talking about an open source project that I am working on > recently and someone introduced Instiki to me. > > My aim for this project is to allow the user to create a website > easily and be able to deploy the result on any HTML hosting server. > So it is very important that the user can specify their own skin for > the website (same as the template feature on blogger), and possibly > check in the content source in the version control so that they can > share the benefit as the source codes. > > I took a look at Instiki and felt that it is solving a lot of > problem that I am > trying to solve. The only thing left is just to allow the user to > specify a skin for the website, and store the content in the physical > file system instead. > > I wonder if you have that on your road map, and maybe you would like > to take a look at what I have done. > > * For general idea of site building: > http://buildmaster.rubyforge.org/docs/site-diagram.html > * For template tags: http://buildmaster.rubyforge.org/docs/build- > site.html > > For the history on this part of BuildMaster, see > http://buildmaster.rubyforge.org/history.html > > Cheers, > > -- > Shane > http://www.shaneduan.com > _______________________________________________ > Instiki-users mailing list > Instiki-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/instiki-users
Thanks a lot for the reply Derek. Since my websites are part of the development that is being done, I would need them to be stored as flat text file so that they can be under the same version control system, and I think it would work best to store the original text content rather than generated HTML file for various reasons. I also found out that the template uses absolute link, which will make it very hard for others to download the document and read it offline. Nevertheless, I will need to spend more time on Instiki to see how I can make it work for me. -- Shane http://www.shaneduan.com On 8/9/06, Derek Gulbranson <derek73 at gmail.com> wrote:> I have used Instiki similarly for a client of mine. I created a wiki > that "looks" like their existing site by just using a screenshot of > their existing site as the background. I then modified Instiki''s > export_html function to export the wiki''s content as HTML files, but > wrapping it in the HTML ( or ASP/HTML code in my case) that they > provided for their site''s template. Pretty simple, just another view > file in the layouts directory. > > Basically they didn''t have a content management system and wouldn''t > be able to install one (internal politics i think) so I used instiki > to kind of fake it. The result is they can create and edit the > content as they like and see what it will look like, then when they > are done they press the export button and get a zip file with all the > appropriate files that they can just unzip on their server. > > For me using a screenshot of the layout made everything easy because > I didn''t have to merge their layout-specific stuff with Instiki''s > html. I just added their CSS to instiki''s layout so the headings and > everything appear as it would appear on their site. > > Instiki inserts divs around bits of revised content, enabling the > "See Changes" link. If you have table or div layout structure in the > content, then occasionally the revision divs will not be nested > properly in the output, as it doesn''t make any effort to look at the > content and ensure that it''s revision divs do not wrap around a </td> > element for instance. For me this just occasionally causes Instiki''s > footer to dissappear, which i work around by forcing a new revision > (changing my username and making a change to whitespace well inside > all layout elements). > > The revision divs are not included in the export html, so it''s really > only a problem when you''re editing the content. In my case, i have > very little if any layout structure in the content, so the users > don''t really ever experience this problem because they are generally > only making changes inside the layout elements. > > Instiki has the ability to have one page that includes the content of > another page with a tag like [[!include Menu]]. One annoy thing about > it though, at least on the old Madeline version that i''m using > (v0.10.2), you have to make a change to the page that includes it in > order for the changes on the included page to show up. > > Also to note, if you place a <nowiki> tag around content, Instiki > will treat it as HTML not to be marked up with Textile etc. > > So the task could be fairly simple or more complex, depending on if > you want users to edit their template using the application and how > flexible the templates need to be. But create an instiki with a > completely custom layout is pretty simple, the default template is > stored at app/views/layout/default.rhtml. You can modify it or direct > it to render using a different layout in the wiki_controller, either > change the default or specify one on render, perhaps like > render :layout => @current_client.layout. > > Anyway, those are some of my experiences. It''s already pretty easy to > change the skin if you have access to the filesystem and know what > file to edit. Storing the content on a physical filesystem can be > accomplished via the export html function. Feel free to hit me up > with any other questions you have. > > - Derek > http://www.derekgulbranson.com >