HTML_Generator/RB_Create_CSS [ Functions ]
FUNCTION
Create the .css file. Unless the user specified it's own css file robodoc creates a default one.
For multidoc mode the name of the .css file is
robodoc.css
For singledoc mode the name of the .css file is equal to the name of the documentation file.
SYNOPSIS
void RB_Create_CSS( struct RB_Document *document )
INPUTS
- document -- the document for which to create the file.
SOURCE
{ size_t l = 0; FILE *css_file; /* compute the complete path to the css file */ if ( ( document->actions.do_singledoc ) || ( document->actions.do_singlefile ) ) { char *extension = ".css"; l += strlen( document->singledoc_name ); l += strlen( extension ); ++l; css_name = malloc( l ); strcpy( css_name, document->singledoc_name ); strcat( css_name, extension ); } else { struct RB_Path *docroot = document->docroot; char *docrootname = docroot->name; char *filename = "robodoc.css"; l = strlen( filename ); l += strlen( docrootname ); ++l; css_name = malloc( l ); strcpy( css_name, docrootname ); strcat( css_name, filename ); } RB_Say( "Creating CSS file %s\n", SAY_DEBUG, css_name ); if ( document->css ) { /* The user specified its own css file, * so we use the content of that. */ RB_CopyFile( document->css, css_name ); } else { css_file = fopen( css_name, "w" ); if ( css_file ) { /** BEGIN BEGIN BEGIN Don't remove */ fprintf( css_file, "/****h* ROBODoc/ROBODoc Cascading Style Sheet\n" " * FUNCTION\n" " * This is the default cascading style sheet for documentation\n" " * generated with ROBODoc.\n" " * You can edit this file to your own liking and then use\n" " * it with the option\n" " * --css <filename>\n" " *\n" " * This style-sheet defines the following layout\n" " * +----------------------------------------+\n" " * | logo |\n" " * +----------------------------------------+\n" " * | extra |\n" " * +----------------------------------------+\n" " * | | navi- |\n" " * | | gation |\n" " * | content | |\n" " * | | |\n" " * +----------------------------------------+\n" " * | footer |\n" " * +----------------------------------------+\n" " *\n" " * This style-sheet is based on a style-sheet that was automatically\n" " * generated with the Strange Banana stylesheet generator.\n" " * See http://www.strangebanana.com/generator.aspx\n" " *\n" " ******\n" " * $Id: html_generator.c,v 1.93 2008/03/13 10:34:50 thuffir Exp $\n" " */\n" "\n" "body\n" "{\n" " background-color: rgb(255,255,255);\n" " color: rgb(98,84,55);\n" " font-family: Arial, serif;\n" " border-color: rgb(226,199,143);\n" "}\n" "\n" "pre\n" "{\n" " font-family: monospace;\n" " margin: 15px;\n" " padding: 5px;\n" " white-space: pre;\n" " color: #000;\n" "}\n" "\n" "pre.source\n" "{\n" " background-color: #ffe;\n" " border: dashed #aa9 1px;\n" "}\n" "\n" "p\n" "{\n" " margin:15px;\n" "}\n" "\n" "p.item_name \n" "{\n" " font-weight: bolder;\n" " margin:5px;\n" " font-size: 120%%;\n" "}\n" "\n" "#content\n" "{\n" " font-size: 100%%;\n" ); fprintf( css_file, " color: rgb(0,0,0);\n" " background-color: rgb(255,255,255);\n" " border-left-width: 0px; \n" " border-right-width: 0px; \n" " border-top-width: 0px; \n" " border-bottom-width: 0px;\n" " border-left-style: none; \n" " border-right-style: none; \n" " border-top-style: none; \n" " border-bottom-style: none;\n" " padding: 40px 31px 14px 17px;\n" " border-color: rgb(0,0,0);\n" " text-align: justify;\n" "}\n" "\n" "#navigation\n" "{\n" " background-color: rgb(98,84,55);\n" " color: rgb(230,221,202);\n" " font-family: \"Times New Roman\", serif;\n" " font-style: normal;\n" " border-color: rgb(0,0,0);\n" "}\n" "\n" "a.menuitem\n" "{\n" " font-size: 120%%;\n" " background-color: rgb(0,0,0);\n" " color: rgb(195,165,100);\n" " font-variant: normal;\n" " text-transform: none;\n" " font-weight: normal;\n" " padding: 1px 8px 3px 1px;\n" " margin-left: 5px; \n" " margin-right: 5px; \n" " margin-top: 5px; \n" " margin-bottom: 5px;\n" " border-color: rgb(159,126,57);\n" " text-align: right;\n" "}\n" "\n" "#logo, #logo a\n" "{\n" " font-size: 130%%;\n" " background-color: rgb(198,178,135);\n" " color: rgb(98,84,55);\n" " font-family: Georgia, serif;\n" " font-style: normal;\n" " font-variant: normal;\n" " text-transform: none;\n" " font-weight: bold;\n" " padding: 20px 18px 20px 18px;\n" " border-color: rgb(255,255,255);\n" " text-align: right;\n" "}\n" "\n" "#extra, #extra a\n" "{\n" " font-size: 128%%;\n" " background-color: rgb(0,0,0);\n" " color: rgb(230,221,202);\n" " font-style: normal;\n" " font-variant: normal;\n" " text-transform: none;\n" " font-weight: normal;\n" ); fprintf( css_file, " border-left-width: 0px; \n" " border-right-width: 0px; \n" " border-top-width: 0px; \n" " border-bottom-width: 0px;\n" " border-left-style: none; \n" " border-right-style: none; \n" " border-top-style: none; \n" " border-bottom-style: none;\n" " padding: 12px 12px 12px 12px;\n" " border-color: rgb(195,165,100);\n" " text-align: center;\n" "}\n" "\n" "#content a\n" "{\n" " color: rgb(159,126,57);\n" " text-decoration: none;\n" "}\n" "\n" "#content a:hover, #content a:active\n" "{\n" " color: rgb(255,255,255);\n" " background-color: rgb(159,126,57);\n" "}\n" "\n" "a.indexitem\n" "{\n" " display: block;\n" "}\n" "\n" "h1, h2, h3, h4, h5, h6\n" "{\n" " background-color: rgb(221,221,221);\n" " font-family: Arial, serif;\n" " font-style: normal;\n" " font-variant: normal;\n" " text-transform: none;\n" " font-weight: normal;\n" "}\n" "\n" "h1\n" "{\n" " font-size: 151%%;\n" "}\n" "\n" "h2\n" "{\n" " font-size: 142%%;\n" "}\n" "\n" "h3\n" "{\n" " font-size: 133%%;\n" "}\n" "\n" "h4\n" "{\n" " font-size: 124%%;\n" "}\n" "\n" "h5\n" "{\n" " font-size: 115%%;\n" "}\n" "\n" "h6\n" "{\n" " font-size: 106%%;\n" "}\n" "\n" "#navigation a\n" "{\n" " text-decoration: none;\n" "}\n" "\n" ".menuitem:hover\n" "{\n" " background-color: rgb(195,165,100);\n" " color: rgb(0,0,0);\n" "}\n" "\n" "#extra a\n" "{\n" " text-decoration: none;\n" "}\n" "\n" "#logo a\n" "{\n" " text-decoration: none;\n" "}\n" "\n" "#extra a:hover\n" "{\n" "}\n" "\n" "/* layout */\n" "#navigation\n" "{\n" " width: 22%%; \n" " position: relative; \n" " top: 0; \n" " right: 0; \n" " float: right; \n" " text-align: center;\n" " margin-left: 10px;\n" "}\n" "\n" ".menuitem {width: auto;}\n" "#content {width: auto;}\n" ".menuitem {display: block;}\n" "\n" "\n" ); fprintf( css_file, "div#footer\n" "{\n" " background-color: rgb(198,178,135);\n" " color: rgb(98,84,55);\n" " clear: left;\n" " width: 100%%;\n" " font-size: 71%%;\n" "}\n" "\n" "div#footer a\n" "{\n" " background-color: rgb(198,178,135);\n" " color: rgb(98,84,55);\n" "}\n" "\n" "div#footer p\n" "{\n" " margin:0;\n" " padding:5px 10px\n" "}\n" "\n" "span.keyword\n" "{\n" " color: #00F;\n" "}\n" "\n" "span.comment\n" "{\n" " color: #080;\n" "}\n" "\n" "span.quote\n" "{\n" " color: #F00;\n" "}\n" "\n" "span.squote\n" "{\n" " color: #F0F;\n" "}\n" "\n" "span.sign\n" "{\n" " color: #008B8B;\n" "}\n" "\n" "span.line_number\n" "{\n" " color: #808080;\n" "}\n" "\n" "@media print\n" "{\n" " #navigation {display: none;}\n" " #content {padding: 0px;}\n" " #content a {text-decoration: underline;}\n" "}\n" ); /** END END END Don't remove */ fclose( css_file ); } else { RB_Panic( "Can't open %s for writing\n", css_name ); } } }