Helping people with computers... one answer at a time.
You often see recent blog entries listed on web pages. If those pages weren't generated by the original blogging software, it's a little tricky to do.
How can I list blog entries on my non-blog web page?
The short answer is that I'm afraid it's not just some simple HTML. It will take some server-side code to do it. The good news is that since most blogging software now automatically provides an RSS feed in one form or another, that feed is a great source for what you want to display. The additional code on your server transforms that feed into HTML that works on your site and then you display the results.
If your pages are already being generated by something dynamic like PHP or ASP, then the best way to accomplish what you want is to add the transformation code to the desired page directly. As one example I've included an VBScript function below, displayRSS, that I've used in ASP pages. It takes pointers to an RSS Feed and an XSLT transformation applies the transformation and returns the results for display. XSLT is a programming language highly optimized for transforming structured XML data, which is what an RSS feed is, into other forms such as HTML. A simple transformation can return all or portions of the information contained within the feed.
If your pages are static you're not sunk as long as you have access to some form of CGI to run server-side code. I've created an example Perl script, grabrss.pl, that runs as a CGI that will transform an RSS feed into an HTML bullet list. As an alternative to using XSLT, grabrss uses only an XML parser and pulls apart the component fields we might care about and pushes out the HTML as a series of jscript "document.writeln" statements. In your static HTML page just include:
<script language="jscript" src="http://yourserver/cgibin/grabrss.pl"> </script>
This will include the script and execute it in place resulting in the HTML bullet list being displayed. As I said, grabrss is an example. I'm sure not everyone wants a bullet list, but it should be easy to modify to output the HTML specifics that you want.
You can get a copy of grabrss.pl here.
DisplayRSS, the ASP sample, follows here:
Function displayRSS(ByVal strSource, ByVal strXSL) Dim xmlHTTP, xmlRSSSource, xmlStyle Dim strXSLFile ' Use the XMLHTTPConnection object to grab the feed Set xmlHTTP = Server.CreateObject("Microsoft.XMLHTTP") xmlHTTP.Open "GET", strSource, False xmlHTTP.Send ' Load the feed into a DOM object Set xmlRSSSource = Server.CreateObject("Microsoft.XMLDOM") xmlRSSSource.async = False xmlRSSSource.loadXML(xmlHTTP.ResponseText) ' Load the XSL style sheet strXSLFile = Server.MapPath(strXSL) Set xmlStyle = Server.CreateObject("Microsoft.XMLDOM") xmlStyle.async = False xmlStyle.load(strXSLFile) ' Render the feed using the style sheet displayRSS = xmlRSSSource.transformNode(xmlStyle) ' Release resources Set xmlStyle = Nothing Set xmlRSSSource = Nothing Set xmlHTTP = Nothing End Function
Comments on this entry are closed.
If you have a question, start by using the search box up at the top of the page - there's a very good chance that your question has already been answered on Ask Leo!.
If you don't find your answer, head out to http://askleo.com/ask to ask your question.