Welcome

The theme for this site was automatically generated from only the following code:

Global.SiteColour = ColourScheme(colour(212,70,71), ColourType="pastel", TopBarAngle=0, SideBarAngle=0, SideBarEmph=0)
LightestLogoColour = colour(191,18,92)
 
Global.TextStyle()
 
Global.FadingHeaderAndAttachedSideBar("Labrys-grey.png", TopColour=LightestLogoColour, OverlapTopBar=False)
 
Global.SiteName(Family = FontFamily.CursiveFamily)
 
Global.StandardContent(SideBarBorder="r", MainBorder="",BreadcrumbPaletteName="top")
 
Global.TopBarWithDocument()
Global.Topbar()
 
Global.SimpleQuote()
Global.SimpleCode()
Global.StandardTableColors()
Global.StandardForum()
 
Global.WikidotFooter()

See how it works with:

The generated CSS is here.

My testpages are here. (Note that the ThemePreviewer module requires that no CSS is loaded by default.)

The various functions in the source code are defined by an extensible library. Once those functions are written they can be used in any combination. Here's a snippet of the library:

    def AccountOnLeft(Global):
        Global.Header.Account.Position.Left = size(10, "px")
        Global.Header.Account.Position.Top = size(10, "px")
        Global.Header.Account.addstyle("z-index", "9")            # Underneath the search box, but above everything else
        Global.Header.AccountMenu.Position.Top = size(17, "px")
        Global.Header.AccountMenu.Position.Left = size(125, "px")
 
        Global.Header.SiteName.Padding.Top = size(2,"em")
 
    def SearchBoxCentral(Global):
        Global.Header.SearchBox.Position.Left = size(40, "%")
        Global.Header.SearchBox.Position.Top = size(10, "px")
 
    def LogoRight(Global, ImageURL, ImageHeight, OverlapTopBar=False, Project = None):
        if OverlapTopBar:
            Global.Header.Height = ImageHeight
        else:
            Global.Header.Height = ImageHeight + size(20,"px")
        Global.Header.Background.Image = ImageURL
        Global.Header.Background.Position = "right top"
        Global.Header.Background.Repeat = "no-repeat"
        Global.SearchBoxCentral()
        Global.AccountOnLeft()
 
    def LogoLeft(Global, ImageURL, ImageHeight, ImageWidth=0, OverlapTopBar=False):
        if ImageWidth == 0:
            ImageWidth = ImageHeight
 
        if OverlapTopBar:
            Global.Header.Height = ImageHeight
        else:
            Global.Header.Height = ImageHeight + size(20,"px")
 
        Global.Header.Background.Image = ImageURL
        Global.Header.Background.Position = "left top"
        Global.Header.Background.Repeat = "no-repeat"
        Global.Header.SiteName.Margin.Left = ImageWidth + size(20,"px")
        Global.Header.SiteTagline.Margin.Left = ImageWidth + size(20,"px")
 
    def WikidotFooter(Global):
        Global.Footer.GreyBordered(Where="tb", GreyShade=60)
        Global.License.GreyBordered(Where="b", GreyShade=80)
        Global.FeaturedSitesPanel.GreyBordered(GreyShade=90)
 
    def PastelContent(Global, MainColour, SideBarColour=None, ColourAngle = -30, Radius = None):
        if SideBarColour == None:
            SideBarColour = MainColour.rotate_hue(ColourAngle)
 
        Global.MainContent.PastelBordered(MainColour, PastelShade=6)
        Global.SideBar.PastelBordered(SideBarColour, PastelShade=4)
        if Radius != None:
            Global.MainContent.Rounded(Radius)
            Global.SideBar.Rounded(Radius)

This is a technology preview; it all works, and it is configurable via ini files1. It is fully configurable in that it can build CSS for any hoster, and even FTP upload would be very little work.

The next job is probably to convert the Python script to an ini file. That isn't much use to an end-user, since the syntax will become more esoteric, but from there I can build a GUI interface.

Page tags: fred језика