When I installed mod_layout on a server a couple of days ago I had huge problems finding the documentation. The project is halfly (or totally?) dead and the documentation is kind of gone. Therefore, I will post the documentation I found here so users can find it if they struggle like I did:)
So, what is mod_layout?
That is an apache module that allows the server to add html (or whatever) to be executed when a page loads. It’s perfect for free hosts when serving ads, especially using the LayoutMerge option that allows you to insert after the <body> tag. That allows the users to have validated HTML and the page will display just like the users want it to!
Anyway, here’s the documentation I’ve found:
Description
Layout is a form of the Layout Directive Family that inserts data whenever its pattern is matched. It takes a third optional parameter which determines if the pattern is replaced, append, or prepend. If nothing is specified the replaced is assumed.
This directive was added in version 3.1.0.
Example 1 (straight text)
<VirtualHost www.foo.com:80>
Layout "<– copyright –>" "Copyright Foobar, 2000" replace
</VirtualHost>
Example 2 (cache’d HTML document)
<VirtualHost www.foo.com:80>
Layout </BODY> /usr/local/apache/htdocs/footer.html append
</VirtualHost>
Example 3 (Dynamic URI)
<VirtualHost www.foo.com:80>
Layout </BODY> /copyright.cgi prepend
</VirtualHost>
Known Problems
None currently known.
Description
LayoutCache allows you to move the cache from /tmp to another directory. This is commonly used either when you can dedicate a disk to being a cache or when you have created a ramdisk to use as a cache (which is a good idea for Linux if you are in a heavy demand situation).
This was added in version 2.7.4.
Example
<VirtualHost www.foo.com:80>
LayoutCache /ramdisk
</VirtualHost>
Known Problems
None known.
Description
LayoutCacheNeeded changes the default behavior of Mod_Layout when it comes to using static content in footer and header directives. Normally using strings or cached files cause the no-cache header to not be sent.
By enabling this, it causes this behavior to go away.
This was added in 2.8.2.
Example
<VirtualHost www.foo.com:80>
LayoutCacheNeeded On
</VirtualHost>
Known Problems
None
Description
LayoutComment places comment tags showing where Mod_Layout begins and ends with footer and headers.
Example
<VirtualHost www.foo.com:80>
LayoutComment On
</VirtualHost>
Known Problems
None
Description
LayoutDefaultHandlers enables and disables the default content types/handlers that Mod_Layout deals with. See the FAQ for a list of what these are.
Example
<VirtualHost www.foo.com:80>
LayoutDefaultHandlers Off
</VirtualHost>
Known Problems
None
Description
LayoutDisplayOriginal determines whether or not the original document is displayed.
Example
<VirtualHost www.foo.com:80>
LayoutDisplayOriginal Off
</VirtualHost>
Known Problems
None
Description
LayoutFooter is a form of the LayoutFooter Directive Family that inserts data at the end of the outbound stream after the document is displayed. LayoutFooter can be used in three different ways (the first two examples cache the content in the Apache process).
Example 1 (straight text)
<VirtualHost www.foo.com:80>
LayoutFooter "Copyright Foobar, 2000"
</VirtualHost>
Example 2 (cache’d HTML document)
<VirtualHost www.foo.com:80>
LayoutFooter /usr/local/apache/htdocs/footer.html
</VirtualHost>
Example 3 (Dynamic URI)
<VirtualHost www.foo.com:80>
LayoutFooter /Footer.cgi
</VirtualHost>
Known Problems
None currently known.
Description
LayoutHTTPOverrideURI allows you turn off Mod_Layout’s default HTTP Header. The HTTP Header is then the responsibility of the document’s handler (or by a header or HTTP header script if merge is not enabled).
Example
<VirtualHost www.foo.com:80>
LayoutHTTPOverrideURI /index.pl
</VirtualHost>
Known Problems
Letting original HTML documents do the headers for original text plus a footer will leave you with an incorrect HTTP header for content length if the original document was an HTML document. This only has been found to happen with straight HTML documents.
Description
LayoutHandler allows you to specify additional handlers that are not a part of the default handlers.
Example
<VirtualHost www.foo.com:80>
LayoutHandler application/x-httpd-php3
LayoutHandler application/x-httpd-php3-source
</VirtualHost>
Known Problems
None currently known.
Description
Removed in version 2.9.2
LayoutHandlerGlob allows you to use regular expressions in you LayoutHandler directives if you turn it on. Performance wise, this may not be such a good idea (further benchmarking needs to be done at this point).
Example
<VirtualHost www.foo.com:80>
LayoutHandlerGlob On </VirtualHost>
Known Problems
None (other then the fact that the regular expression syntax seems to trip people up).
Description
LayoutHeader is a form of the LayoutHeader Directive Family that inserts data at the end of the outbound stream after the document is displayed. LayoutHeader can be used in three different ways (the first two example cache the content in the Apache process).
Example 1 (straight text)
<VirtualHost www.foo.com:80>
LayoutHeader "<H1>Welcome to company FooBar</H1>"
</VirtualHost>
Example 2 (cache’d HTML document)
<VirtualHost www.foo.com:80>
LayoutHeader /usr/local/apache/htdocs/header.html
</VirtualHost>
Example 3 (Dynamic URI)
<VirtualHost www.foo.com:80>
LayoutHeader /Header.cgi
</VirtualHost>
Known Problems
None currently known.
(depreciated in version 2.5)
Description
LayoutHeaderFile is a form of the Header Directive Family that inserts data into the outbound stream before the document is displayed. If you are using static information in your header you are far better off using this or LayoutHeaderTXT since both methods cache their data in Apache directly.
Example
<VirtualHost www.foo.com:80>
LayoutHeaderFile /etc/motd
</VirtualHost>
Known Problems
Like all Header methods this can break pages that use Frames if you are not careful. Also, you can end up breaking the Title for the page depending on what the contents of the Header are. A number of companies seem to get around this problem by using Footer with some JavaScript to place either a floating window in the window or by doing some other similair type workaround (when someone mails me an example piece of JavaScript doing this, I will add it to the FAQ).
Description
LayoutHeaderOff allows you turn off any headers that you may have specified. This can come into handy when you have overlapping rules. The following example illustrates this. All of the contents of the virtualhost minus the smurfdance directory will get a header.
Example
<VirtualHost www.foo.com:80>
DocumentRoot /usr/local/apache/htdocs/ LayoutHeader "This is a header." <Directory /usr/local/apache/htdocs/smurfdance/>
LayoutHeaderOff
</Directory>
</VirtualHost>
Known Problems
None
(depreciated in version 2.5)
Description
LayoutHeaderTXT is a form of the Header Directive that inserts data into the outbound stream before the document is displayed. For more text then a single line you should make use of LayoutHeaderFile. If you are using static information in your header you are far better off using this or LayoutHeaderFile since both methods cache their data in Apache directly.
Example
<VirtualHost www.foo.com:80>
LayoutHeaderTXT "<H1> Pages made by foobar corp.</H1>"
</VirtualHost>
Known Problems
Like all Header methods this can break pages that use Frames if you are not careful. Also, you can end up breaking the Title for the page depending on what the contents of the Header are. A number of companies seem to get around this problem by using Footer with some JavaScript to place either a floating window in the window or by doing some other similair type workaround (when someone mails me an example piece of JavaScript doing this, I will add it to the FAQ).
Description
With LayoutIgnoreFooterURI you can specify a URI that the footer will ignore. This way you can wrap an entire site but say ignore putting footers on your /index.html document.
Example
<VirtualHost www.foo.com:80>
LayoutIgnoreFooterURI /index.html
</VirtualHost>
Known Problems
None
Description
With LayoutIgnoreHeaderURI you can specify an URI that the header will ignore. This way you can wrap an entire site but say, ignore putting headers on your /index.html document.
Example
<VirtualHost www.foo.com:80>
LayoutIgnoreHeaderURI /index.html
</VirtualHost>
Known Problems
None
Description
With LayoutIgnoreTag you can specify that if a tag (such as <frame>) exists that mod_layout should ignore the file and not place headers or footers on it.
Example
<VirtualHost www.foo.com:80>
LayoutIgnoreTag <frame>
</VirtualHost>
Known Problems
None
Description
With LayoutIgnoreTagFooter you can specify that if a tag (such as <frame>) exists in the file, that mod_layout will ignore placing a footer on the file.
Example
<VirtualHost www.foo.com:80>
LayoutIgnoreTagFooter <frame>
</VirtualHost>
Known Problems
None
Description
With LayoutIgnoreTagHeader you can specify that if a tag (such as <frame>) exists that mod_layout will ignore the file and not place header on it.
Example
<VirtualHost www.foo.com:80>
LayoutIgnoreTagHeader <frame>
</VirtualHost>
Known Problems
None
Description
With LayoutIgnoreURI you can specify URI to be ignored. This way you can wrap an entire site but say ignore the /index.html document.
Example
<VirtualHost www.foo.com:80>
LayoutIgnoreURI /index.html
</VirtualHost>
Known Problems
None
Description
When LayoutMerge is enabled Mod_Layout will attempt to merge the contents of the header and footer with the original request. Read the docs on LayoutMergeEndTag and LayoutMergeBeginTag to understand how the tags are determined.
This was added in 2.7.2.
Example
<VirtualHost www.foo.com:80>
LayoutMerge Off
</VirtualHost>
Known Problems
None
Description
LayoutMergeBeginTag sets the begin tag used during a merge. By default this is <body*>.
This was added in 2.7.2.
Example
<VirtualHost www.foo.com:80>
LayoutMerge On
LayoutMergeBeginTag
LayoutMergeEndTag
</VirtualHost>
Known Problems
None
Description
LayoutMergeEndTag sets the end tag used during a merge. By default this is </body>.
This was added in 2.7.2.
Example
<VirtualHost www.foo.com:80>
LayoutMerge On
LayoutMergeBeginTag
LayoutMergeEndTag
</VirtualHost>
Known Problems
None
Description
If merge is enabled LayoutMergeErrorIgnore will cause Mod_Layout to completly ignore errors (AKA it will not try to wrap them). This can be especially useful in situations where you need to use a full URL for an error document. This was added in 2.7.4.
Example
<VirtualHost www.foo.com:80>
LayoutMergeErrorIgnore Off
</VirtualHost>
Known Problems
None
Description
LayoutPostAsync turns on and off asynchronous IO for data posted to forms. This allows you to read data multiple times without fear of locking up the socket. This means that your header and footer can now have access to the data POST’ed from a form.
Example
<VirtualHost www.foo.com:80>
LayoutPostAsync Off
</VirtualHost>
Known Problems
This has a cost to it, so you are better off not enabling it if you don’t need it. Systems which have tmp file systems have little impact from using it. See the LayoutPostAsyncCache directive for how to move the cache if you need to.
Description
LayoutProxy is an experimental feature to wrap content that is being proxied using mod_proxy.
Example
<VirtualHost www.foo.com:80>
LayoutProxy On
</VirtualHost>
Known Problems
Don’t bother with it in any version before 2.7.4. This is still in the beta stage.
Description
When LayoutReplaceTags it turned on tags being used for merges are replaced.
This was added in 2.11.6.
Example
<VirtualHost www.foo.com:80>
LayoutReplaceTags On
</VirtualHost>
Known Problems
None
Description
LayoutTimeFormat lets you set the time format that will be used in the LAYOUT_LAST_MODIFIED variable.
Example
<VirtualHost www.foo.com:80>
LayoutTimeFormat Off
</VirtualHost>
Known Problems
None known. Was unreliable before version 2.7.4.
Asus has decided to create a new laptop called Asus N10 - not Asus EEEPC N10. They have decided to not call it a netbook and will call it a normal notebook in their advertising. It do altough look very similiar to the EEE PC.
![]()
There will be two models of N10 in the stores. The N10E will start at $599 (aprox) and the N10J will start at $699 (aprox).
The more expensive N10J will have a larger hard drive and switchable graphics.
The switchable graphics will allow you to change from the integrated graphics to a extern Nvidia GeForce 9300 MS. The reason to switch graphics is of course because of the battery life.
It comes with a 6-cell battery and has an expected battery life of 6 to 12 hours.
Both models come with Windows Vista with an option to downgrade to XP.
So whats the great about Asus N10?
It’s the part that it will have a HDMI port. That is the first netbook (Well, I call it that anyways) that have this. It do also have an attractive 10.2 inch screen.
Hardware summary:
Processor: 1.6ghz Intel Atom (N270)
Graphics: Integrated Intel or Nvidia Gefore 9300MS
Screen: 10.2″ with 1024×600
2GB RAM
Fingerprint reader
Bluetooth
Wlan (802.11ABGN)
Webcam
At Newegg you can preeorder the ASUS n10E-A1 for $599.99 and that includes:
1GB RAM, 160GB HDD and integrated graphics.
The N10J-A2 is priced at $799.99 and comes with:
2GB RAM, 320GB HDD and 9300M 256mb graphics and a 6 cell battery.