X-Git-Url: https://git.auder.net/?p=sview.git;a=blobdiff_plain;f=README.html;fp=README.html;h=d1ee256d4c3287788eb7607336104466973425be;hp=0000000000000000000000000000000000000000;hb=d67391c378d5f54611450f7a370512899715d9e3;hpb=3e641f63d7206b50c3eebecc53023117b7185dac diff --git a/README.html b/README.html new file mode 100644 index 0000000..d1ee256 --- /dev/null +++ b/README.html @@ -0,0 +1,154 @@ +

sview : tiny PHP web framework

+ +

It is inspired by a similar framework written by Arnór Heiðar Sigurðsson. +In the same spirit but more advanced and more complete, see also nanoc - in Ruby. +

+ +

+sview is designed to organize essentially static websites. +It does not offer the features you would expect from a complete MVC framework - +actually, it has only the "V" part. +If you want a more demanding dynamic website, consider using an appropriate tool, +Symfony for example. +

+ +

How to use it ?

+ +

The file sample-website.tar.xz provides a basic but full website example. +Alternatively, here are some details about sview usage. +

+ +

0. Installation

+ +

In the following, I assume your website is located under http\[s\]://domain/topic/ +and is named "website" (adapt to your case). For example, in https://github.com/blog/ +domain = github.com and topic = blog. +

+ +

Get the source code either with `git clone` command or using a zip archive. +Copy all folder contents in the website/ folder : +

+
website/
+    a/
+    f/
+    site/
+    .htaccess
+    common.php
+    defaults.php
+    index.php
+    s.php
+ + +

Now (online), in the .htaccess file, change the line `RewriteBase /` to `RewriteBase /topic`. +

+ +

1. Set default contents

+ +Edit the file defaults.php with + + +

Each variable name is prepended with "b_" to avoid potential conflicts with your own variables. +

+ +

2. Complete main pages

+ +

index.php

+ +Complete + + +

You can also change the \ tags if needed. +

+ +

site/home.php

+ +

The welcome page. You can choose a title ($s_title) or use the default one +(by not specifying anything). Style sheets and javascripts can be customized, ...etc. +Any default variable can be used to define a specific variable (prepended with "s_"). +

+ +

site/404.php

+ +

Customize it; it is probably viewed more often than you think ;-) +

+ +

3. Write all other pages

+ +

All pages are under site/ folder, and you can nest them in any directory tree. +

+ +

Hint : if you don't want to load the main template, just end any site file +with a PHP exit directive. +

+ +

Now we will see how to access pages and resources (images, CSS, files, javascript). +

+ +
+ +

How to view a web page ?

+ +

The page at physical location site/some_folder/mypage.php is viewed in the web browser at the URL +http\[s\]://domain/topic/website/some_folder/mypage (thanks to URL rewriting defined in +the .htaccess file). +

+ +

Any page can be linked internally using the r() PHP function ('r' for "resource"), like in +the following : '. This function determines +the nesting level and output the appropriate path. +

+ +

How to access...

+ +

A CSS style sheet : its path is given by the following PHP function call +r('a/css/name_of_the_file.css') from within any site file (assuming you place all CSS files +under a/css/. They may be inside a nested folder structure). +

+ +

An image : same as above, with r('a/img/name_of_the_image.xxx'). +

+ +

A javascript file : same as above, with r('a/js/name_of_the_file.js'). +

+ +

How to give a download link ?

+ +

Just use a regular link pointing to r('dl/?f=name_of_the_file.xxx'), anywhere you want. +

+ +
+ +

Usual workflow

+ +

Just add pages under site/ folder, and potential resources and files under a/ and f/. +All other files will not change a lot. +