Fossil SCM

Adding a new skin option with gradients, shadows, and rounded corners.

drh 2011-02-26 16:57 trunk
Commit babe3fb52a79603f781f077e0569584381132f8a
1 file changed +295 -1
+295 -1
--- src/skins.c
+++ src/skins.c
@@ -597,11 +597,11 @@
597597
@ media="screen">
598598
@ </head>
599599
@ <body>
600600
@ <div class="header">
601601
@ <div class="logo">
602
-@ <!-- <img src="$home/logo" alt="logo"> -->
602
+@ <img src="$home/logo" alt="logo">
603603
@ <br /><nobr>$<project_name></nobr>
604604
@ </div>
605605
@ <div class="title">$<title></div>
606606
@ <div class="status"><nobr><th1>
607607
@ if {[info exists login]} {
@@ -647,10 +647,303 @@
647647
@ Fossil version $manifest_version $manifest_date
648648
@ </div>
649649
@ </body></html>
650650
@ ');
651651
;
652
+
653
+
654
+/*
655
+** Gradients and rounded corners.
656
+*/
657
+static const char zBuiltinSkin4[] =
658
+@ REPLACE INTO config VALUES('css','/* General settings for the entire page */
659
+@ html {
660
+@ min-height: 100%;
661
+@ }
662
+@ body {
663
+@ margin: 0ex 1ex;
664
+@ padding: 0px;
665
+@ background-color: white;
666
+@ color: #333;
667
+@ font-family: Verdana, sans-serif;
668
+@ font-size: 0.8em;
669
+@ }
670
+@
671
+@ /* The project logo in the upper left-hand corner of each page */
672
+@ div.logo {
673
+@ display: table-cell;
674
+@ text-align: right;
675
+@ vertical-align: bottom;
676
+@ font-weight: normal;
677
+@ }
678
+@
679
+@ /* Widths */
680
+@ div.header, div.mainmenu, div.submenu, div.content, div.footer {
681
+@ max-width: 900px;
682
+@ margin: auto;
683
+@ padding: 3px 20px 3px 20px;
684
+@ clear: both;
685
+@ }
686
+@
687
+@ /* The page title at the top of each page */
688
+@ div.title {
689
+@ display: table-cell;
690
+@ padding-left: 1em;
691
+@ font-size: 2em;
692
+@ font-weight: bold;
693
+@ margin: 10px 0 10px -20px;
694
+@ vertical-align: bottom;
695
+@ text-align: left;
696
+@ width: 80%;
697
+@ font-family: Georgia, serif;
698
+@ font-weight:normal;
699
+@ }
700
+@
701
+@ /* The login status message in the top right-hand corner */
702
+@ div.status {
703
+@ display: table-cell;
704
+@ text-align: right;
705
+@ vertical-align: bottom;
706
+@ color: #333;
707
+@ margin-right: -20px;
708
+@ }
709
+@
710
+@ /* The main menu bar that appears at the top of the page beneath
711
+@ ** the header */
712
+@ div.mainmenu {
713
+@ text-align: center;
714
+@ color: white;
715
+@ -moz-border-top-right-radius: 5px;
716
+@ -moz-border-top-left-radius: 5px;
717
+@ -webkit-border-top-right-radius: 5px;
718
+@ -webkit-border-top-left-radius: 5px;
719
+@ -border-top-right-radius: 5px;
720
+@ -border-top-left-radius: 5px;
721
+@ border-top-left-radius: 5px;
722
+@ border-top-right-radius: 5px;
723
+@ min-height: 2em;
724
+@ background-color: #446979;
725
+@ background: -webkit-gradient(linear,left bottom,left top, color-stop(0.02, rgb(51,81,94)), color-stop(0.76, rgb(85,129,149)));
726
+@ background: -moz-linear-gradient(center bottom,rgb(51,81,94) 2%, rgb(85,129,149) 76%);
727
+@ -webkit-box-shadow: 0px 3px 4px #333333;
728
+@ -moz-box-shadow: 0px 3px 4px #333333;
729
+@ box-shadow: 0px 3px 4px #333333;
730
+@ }
731
+@
732
+@ /* The submenu bar that *sometimes* appears below the main menu */
733
+@ div.submenu {
734
+@ padding-top:10px;
735
+@ padding-bottom:0;
736
+@ text-align: right;
737
+@ color: #000;
738
+@ background-color: #fff;
739
+@ height: 1.5em;
740
+@ vertical-align:middle;
741
+@ -webkit-box-shadow: 0px 3px 4px #999;
742
+@ -moz-box-shadow: 0px 3px 4px #999;
743
+@ box-shadow: 0px 3px 4px #999;
744
+@ }
745
+@ div.mainmenu a, div.mainmenu a:visited {
746
+@ padding: 3px 10px 3px 10px;
747
+@ color: white;
748
+@ text-decoration: none;
749
+@ }
750
+@ div.submenu a, div.submenu a:visited {
751
+@ padding: 2px 8px;
752
+@ color: #000;
753
+@ font-family: Arial;
754
+@ text-decoration: none;
755
+@ margin:auto;
756
+@ -webkit-border-radius: 5px;
757
+@ -moz-border-radius: 5px;
758
+@ border-radius: 5px;
759
+@ background: -webkit-gradient(linear,left bottom, left top, color-stop(0, rgb(184,184,184)), color-stop(0.75, rgb(214,214,214)));
760
+@ background: -moz-linear-gradient(center bottom, rgb(184,184,184) 0%, rgb(214,214,214) 75%);
761
+@ background-color: #e0e0e0 ;
762
+@ text-shadow: 0px -1px 0px #eee;
763
+@ filter: dropshadow(color=#eeeeee, offx=0, offy=-1);
764
+@ border: 1px solid #000;
765
+@ }
766
+@
767
+@ div.mainmenu a:hover {
768
+@ color: #000;
769
+@ background-color: white;
770
+@ }
771
+@
772
+@ div.submenu a:hover {
773
+@ background: -webkit-gradient(linear,left bottom, left top, color-stop(0, rgb(214,214,214)), color-stop(0.75, rgb(184,184,184)));
774
+@ background: -moz-linear-gradient(center bottom, rgb(214,214,214) 0%, rgb(184,184,184) 75%);
775
+@ background-color: #c0c0c0 ;
776
+@ }
777
+@
778
+@ /* All page content from the bottom of the menu or submenu down to
779
+@ ** the footer */
780
+@ div.content {
781
+@ background-color: #fff;
782
+@ -webkit-box-shadow: 0px 3px 4px #999;
783
+@ -moz-box-shadow: 0px 3px 4px #999;
784
+@ box-shadow: 0px 3px 4px #999;
785
+@ -moz-border-bottom-right-radius: 5px;
786
+@ -moz-border-bottom-left-radius: 5px;
787
+@ -webkit-border-bottom-right-radius: 5px;
788
+@ -webkit-border-bottom-left-radius: 5px;
789
+@ border-bottom-right-radius: 5px;
790
+@ border-bottom-left-radius: 5px;
791
+@ padding-bottom: 1em;
792
+@ min-height:40%;
793
+@ }
794
+@
795
+@
796
+@ /* Some pages have section dividers */
797
+@ div.section {
798
+@ margin-bottom: 0.5em;
799
+@ margin-top: 1em;
800
+@ margin-right: auto;
801
+@
802
+@ padding: 1px 1px 1px 1px;
803
+@ font-size: 1.2em;
804
+@ font-weight: bold;
805
+@
806
+@ text-align: center;
807
+@ color: white;
808
+@
809
+@ -webkit-border-radius: 5px;
810
+@ -moz-border-radius: 5px;
811
+@ border-radius: 5px;
812
+@
813
+@ background-color: #446979;
814
+@ background: -webkit-gradient(linear,left bottom,left top, color-stop(0.02, rgb(51,81,94)), color-stop(0.76, rgb(85,129,149)));
815
+@ background: -moz-linear-gradient(center bottom,rgb(51,81,94) 2%, rgb(85,129,149) 76%);
816
+@
817
+@ -webkit-box-shadow: 0px 3px 4px #333333;
818
+@ -moz-box-shadow: 0px 3px 4px #333333;
819
+@ box-shadow: 0px 3px 4px #333333;
820
+@ }
821
+@
822
+@ /* The "Date" that occurs on the left hand side of timelines */
823
+@ div.divider {
824
+@ font-size: 1.2em;
825
+@ font-family: Georgia, serif;
826
+@ font-weight: bold;
827
+@ margin-top: 1em;
828
+@ white-space: nowrap;
829
+@ }
830
+@
831
+@ /* The footer at the very bottom of the page */
832
+@ div.footer {
833
+@ font-size: 0.9em;
834
+@ text-align: right;
835
+@ margin-bottom: 1em;
836
+@ color: #666;
837
+@ }
838
+@
839
+@ /* Hyperlink colors in the footer */
840
+@ div.footer a { color: white; }
841
+@ div.footer a:link { color: white; }
842
+@ div.footer a:visited { color: white; }
843
+@ div.footer a:hover { background-color: white; color: #558195; }
844
+@
845
+@ /* <verbatim> blocks */
846
+@ pre.verbatim, blockquote pre {
847
+@ font-family: Dejavu Sans Mono, Monaco, Lucida Console, monospace;
848
+@ background-color: #f3f3f3;
849
+@ padding: 0.5em;
850
+@ white-space: pre-wrap;
851
+@ }
852
+@
853
+@ blockquote pre {
854
+@ border: 1px #000 dashed;
855
+@ }
856
+@
857
+@ /* The label/value pairs on (for example) the ci page */
858
+@ table.label-value th {
859
+@ vertical-align: top;
860
+@ text-align: right;
861
+@ padding: 0.2ex 2ex;
862
+@ }
863
+@
864
+@
865
+@ table.report {
866
+@ border-collapse:collapse;
867
+@ border: 1px solid #999;
868
+@ margin: 1em 0 1em 0;
869
+@ }
870
+@
871
+@ table.report tr th {
872
+@ padding: 3px 5px;
873
+@ text-transform : capitalize;
874
+@ }
875
+@
876
+@ table.report tr td {
877
+@ padding: 3px 5px;
878
+@ }
879
+@
880
+@ textarea {
881
+@ font-size: 1em;
882
+@ }');
883
+@ REPLACE INTO config VALUES('header','<html>
884
+@ <head>
885
+@ <title>$<project_name>: $<title></title>
886
+@ <link rel="alternate" type="application/rss+xml" title="RSS Feed"
887
+@ href="$home/timeline.rss">
888
+@ <link rel="stylesheet" href="$home/style.css?black2" type="text/css"
889
+@ media="screen">
890
+@ </head>
891
+@ <body>
892
+@ <div class="header">
893
+@ <div class="logo">
894
+@ <img src="$home/logo" alt="logo">
895
+@ <br /><nobr>$<project_name></nobr>
896
+@ </div>
897
+@ <div class="title">$<title></div>
898
+@ <div class="status"><nobr><th1>
899
+@ if {[info exists login]} {
900
+@ puts "Logged in as $login"
901
+@ } else {
902
+@ puts "Not logged in"
903
+@ }
904
+@ </th1></nobr></div>
905
+@ </div>
906
+@ <div class="mainmenu"><ul><th1>
907
+@ html "<a href=''$home$index_page''>Home</a>"
908
+@ if {[anycap jor]} {
909
+@ html "<a href=''$home/timeline''>Timeline</a>"
910
+@ }
911
+@ if {[hascap oh]} {
912
+@ html "<a href=''$home/dir?ci=tip''>Files</a>"
913
+@ }
914
+@ if {[hascap o]} {
915
+@ html "<a href=''$home/brlist''>Branches</a>"
916
+@ html "<a href=''$home/taglist''>Tags</a>"
917
+@ }
918
+@ if {[hascap r]} {
919
+@ html "<a href=''$home/reportlist''>Tickets</a>"
920
+@ }
921
+@ if {[hascap j]} {
922
+@ html "<a href=''$home/wiki''>Wiki</a>"
923
+@ }
924
+@ if {[hascap s]} {
925
+@ html "<a href=''$home/setup''>Admin</a>"
926
+@ } elseif {[hascap a]} {
927
+@ html "<a href=''$home/setup_ulist''>Users</a>"
928
+@ }
929
+@ if {[info exists login]} {
930
+@ html "<a href=''$home/login''>Logout</a>"
931
+@ } else {
932
+@ html "<a href=''$home/login''>Login</a>"
933
+@ }
934
+@ </th1></ul></div>
935
+@ <div id="container">
936
+@ ');
937
+@ REPLACE INTO config VALUES('footer','</div>
938
+@ <div class="footer">
939
+@ Fossil version $manifest_version $manifest_date
940
+@ </div>
941
+@ </body></html>
942
+@ ');
943
+;
944
+
652945
/*
653946
** An array of available built-in skins.
654947
*/
655948
static struct BuiltinSkin {
656949
const char *zName;
@@ -658,10 +951,11 @@
658951
} aBuiltinSkin[] = {
659952
{ "Default", 0 /* Filled in at runtime */ },
660953
{ "Plain Gray, No Logo", zBuiltinSkin1 },
661954
{ "Khaki, No Logo", zBuiltinSkin2 },
662955
{ "Black & White, Menu on Left", zBuiltinSkin3 },
956
+ { "Gradient, Rounded Corners", zBuiltinSkin4 },
663957
};
664958
665959
/*
666960
** For a skin named zSkinName, compute the name of the CONFIG table
667961
** entry where that skin is stored and return it.
668962
--- src/skins.c
+++ src/skins.c
@@ -597,11 +597,11 @@
597 @ media="screen">
598 @ </head>
599 @ <body>
600 @ <div class="header">
601 @ <div class="logo">
602 @ <!-- <img src="$home/logo" alt="logo"> -->
603 @ <br /><nobr>$<project_name></nobr>
604 @ </div>
605 @ <div class="title">$<title></div>
606 @ <div class="status"><nobr><th1>
607 @ if {[info exists login]} {
@@ -647,10 +647,303 @@
647 @ Fossil version $manifest_version $manifest_date
648 @ </div>
649 @ </body></html>
650 @ ');
651 ;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
652 /*
653 ** An array of available built-in skins.
654 */
655 static struct BuiltinSkin {
656 const char *zName;
@@ -658,10 +951,11 @@
658 } aBuiltinSkin[] = {
659 { "Default", 0 /* Filled in at runtime */ },
660 { "Plain Gray, No Logo", zBuiltinSkin1 },
661 { "Khaki, No Logo", zBuiltinSkin2 },
662 { "Black & White, Menu on Left", zBuiltinSkin3 },
 
663 };
664
665 /*
666 ** For a skin named zSkinName, compute the name of the CONFIG table
667 ** entry where that skin is stored and return it.
668
--- src/skins.c
+++ src/skins.c
@@ -597,11 +597,11 @@
597 @ media="screen">
598 @ </head>
599 @ <body>
600 @ <div class="header">
601 @ <div class="logo">
602 @ <img src="$home/logo" alt="logo">
603 @ <br /><nobr>$<project_name></nobr>
604 @ </div>
605 @ <div class="title">$<title></div>
606 @ <div class="status"><nobr><th1>
607 @ if {[info exists login]} {
@@ -647,10 +647,303 @@
647 @ Fossil version $manifest_version $manifest_date
648 @ </div>
649 @ </body></html>
650 @ ');
651 ;
652
653
654 /*
655 ** Gradients and rounded corners.
656 */
657 static const char zBuiltinSkin4[] =
658 @ REPLACE INTO config VALUES('css','/* General settings for the entire page */
659 @ html {
660 @ min-height: 100%;
661 @ }
662 @ body {
663 @ margin: 0ex 1ex;
664 @ padding: 0px;
665 @ background-color: white;
666 @ color: #333;
667 @ font-family: Verdana, sans-serif;
668 @ font-size: 0.8em;
669 @ }
670 @
671 @ /* The project logo in the upper left-hand corner of each page */
672 @ div.logo {
673 @ display: table-cell;
674 @ text-align: right;
675 @ vertical-align: bottom;
676 @ font-weight: normal;
677 @ }
678 @
679 @ /* Widths */
680 @ div.header, div.mainmenu, div.submenu, div.content, div.footer {
681 @ max-width: 900px;
682 @ margin: auto;
683 @ padding: 3px 20px 3px 20px;
684 @ clear: both;
685 @ }
686 @
687 @ /* The page title at the top of each page */
688 @ div.title {
689 @ display: table-cell;
690 @ padding-left: 1em;
691 @ font-size: 2em;
692 @ font-weight: bold;
693 @ margin: 10px 0 10px -20px;
694 @ vertical-align: bottom;
695 @ text-align: left;
696 @ width: 80%;
697 @ font-family: Georgia, serif;
698 @ font-weight:normal;
699 @ }
700 @
701 @ /* The login status message in the top right-hand corner */
702 @ div.status {
703 @ display: table-cell;
704 @ text-align: right;
705 @ vertical-align: bottom;
706 @ color: #333;
707 @ margin-right: -20px;
708 @ }
709 @
710 @ /* The main menu bar that appears at the top of the page beneath
711 @ ** the header */
712 @ div.mainmenu {
713 @ text-align: center;
714 @ color: white;
715 @ -moz-border-top-right-radius: 5px;
716 @ -moz-border-top-left-radius: 5px;
717 @ -webkit-border-top-right-radius: 5px;
718 @ -webkit-border-top-left-radius: 5px;
719 @ -border-top-right-radius: 5px;
720 @ -border-top-left-radius: 5px;
721 @ border-top-left-radius: 5px;
722 @ border-top-right-radius: 5px;
723 @ min-height: 2em;
724 @ background-color: #446979;
725 @ background: -webkit-gradient(linear,left bottom,left top, color-stop(0.02, rgb(51,81,94)), color-stop(0.76, rgb(85,129,149)));
726 @ background: -moz-linear-gradient(center bottom,rgb(51,81,94) 2%, rgb(85,129,149) 76%);
727 @ -webkit-box-shadow: 0px 3px 4px #333333;
728 @ -moz-box-shadow: 0px 3px 4px #333333;
729 @ box-shadow: 0px 3px 4px #333333;
730 @ }
731 @
732 @ /* The submenu bar that *sometimes* appears below the main menu */
733 @ div.submenu {
734 @ padding-top:10px;
735 @ padding-bottom:0;
736 @ text-align: right;
737 @ color: #000;
738 @ background-color: #fff;
739 @ height: 1.5em;
740 @ vertical-align:middle;
741 @ -webkit-box-shadow: 0px 3px 4px #999;
742 @ -moz-box-shadow: 0px 3px 4px #999;
743 @ box-shadow: 0px 3px 4px #999;
744 @ }
745 @ div.mainmenu a, div.mainmenu a:visited {
746 @ padding: 3px 10px 3px 10px;
747 @ color: white;
748 @ text-decoration: none;
749 @ }
750 @ div.submenu a, div.submenu a:visited {
751 @ padding: 2px 8px;
752 @ color: #000;
753 @ font-family: Arial;
754 @ text-decoration: none;
755 @ margin:auto;
756 @ -webkit-border-radius: 5px;
757 @ -moz-border-radius: 5px;
758 @ border-radius: 5px;
759 @ background: -webkit-gradient(linear,left bottom, left top, color-stop(0, rgb(184,184,184)), color-stop(0.75, rgb(214,214,214)));
760 @ background: -moz-linear-gradient(center bottom, rgb(184,184,184) 0%, rgb(214,214,214) 75%);
761 @ background-color: #e0e0e0 ;
762 @ text-shadow: 0px -1px 0px #eee;
763 @ filter: dropshadow(color=#eeeeee, offx=0, offy=-1);
764 @ border: 1px solid #000;
765 @ }
766 @
767 @ div.mainmenu a:hover {
768 @ color: #000;
769 @ background-color: white;
770 @ }
771 @
772 @ div.submenu a:hover {
773 @ background: -webkit-gradient(linear,left bottom, left top, color-stop(0, rgb(214,214,214)), color-stop(0.75, rgb(184,184,184)));
774 @ background: -moz-linear-gradient(center bottom, rgb(214,214,214) 0%, rgb(184,184,184) 75%);
775 @ background-color: #c0c0c0 ;
776 @ }
777 @
778 @ /* All page content from the bottom of the menu or submenu down to
779 @ ** the footer */
780 @ div.content {
781 @ background-color: #fff;
782 @ -webkit-box-shadow: 0px 3px 4px #999;
783 @ -moz-box-shadow: 0px 3px 4px #999;
784 @ box-shadow: 0px 3px 4px #999;
785 @ -moz-border-bottom-right-radius: 5px;
786 @ -moz-border-bottom-left-radius: 5px;
787 @ -webkit-border-bottom-right-radius: 5px;
788 @ -webkit-border-bottom-left-radius: 5px;
789 @ border-bottom-right-radius: 5px;
790 @ border-bottom-left-radius: 5px;
791 @ padding-bottom: 1em;
792 @ min-height:40%;
793 @ }
794 @
795 @
796 @ /* Some pages have section dividers */
797 @ div.section {
798 @ margin-bottom: 0.5em;
799 @ margin-top: 1em;
800 @ margin-right: auto;
801 @
802 @ padding: 1px 1px 1px 1px;
803 @ font-size: 1.2em;
804 @ font-weight: bold;
805 @
806 @ text-align: center;
807 @ color: white;
808 @
809 @ -webkit-border-radius: 5px;
810 @ -moz-border-radius: 5px;
811 @ border-radius: 5px;
812 @
813 @ background-color: #446979;
814 @ background: -webkit-gradient(linear,left bottom,left top, color-stop(0.02, rgb(51,81,94)), color-stop(0.76, rgb(85,129,149)));
815 @ background: -moz-linear-gradient(center bottom,rgb(51,81,94) 2%, rgb(85,129,149) 76%);
816 @
817 @ -webkit-box-shadow: 0px 3px 4px #333333;
818 @ -moz-box-shadow: 0px 3px 4px #333333;
819 @ box-shadow: 0px 3px 4px #333333;
820 @ }
821 @
822 @ /* The "Date" that occurs on the left hand side of timelines */
823 @ div.divider {
824 @ font-size: 1.2em;
825 @ font-family: Georgia, serif;
826 @ font-weight: bold;
827 @ margin-top: 1em;
828 @ white-space: nowrap;
829 @ }
830 @
831 @ /* The footer at the very bottom of the page */
832 @ div.footer {
833 @ font-size: 0.9em;
834 @ text-align: right;
835 @ margin-bottom: 1em;
836 @ color: #666;
837 @ }
838 @
839 @ /* Hyperlink colors in the footer */
840 @ div.footer a { color: white; }
841 @ div.footer a:link { color: white; }
842 @ div.footer a:visited { color: white; }
843 @ div.footer a:hover { background-color: white; color: #558195; }
844 @
845 @ /* <verbatim> blocks */
846 @ pre.verbatim, blockquote pre {
847 @ font-family: Dejavu Sans Mono, Monaco, Lucida Console, monospace;
848 @ background-color: #f3f3f3;
849 @ padding: 0.5em;
850 @ white-space: pre-wrap;
851 @ }
852 @
853 @ blockquote pre {
854 @ border: 1px #000 dashed;
855 @ }
856 @
857 @ /* The label/value pairs on (for example) the ci page */
858 @ table.label-value th {
859 @ vertical-align: top;
860 @ text-align: right;
861 @ padding: 0.2ex 2ex;
862 @ }
863 @
864 @
865 @ table.report {
866 @ border-collapse:collapse;
867 @ border: 1px solid #999;
868 @ margin: 1em 0 1em 0;
869 @ }
870 @
871 @ table.report tr th {
872 @ padding: 3px 5px;
873 @ text-transform : capitalize;
874 @ }
875 @
876 @ table.report tr td {
877 @ padding: 3px 5px;
878 @ }
879 @
880 @ textarea {
881 @ font-size: 1em;
882 @ }');
883 @ REPLACE INTO config VALUES('header','<html>
884 @ <head>
885 @ <title>$<project_name>: $<title></title>
886 @ <link rel="alternate" type="application/rss+xml" title="RSS Feed"
887 @ href="$home/timeline.rss">
888 @ <link rel="stylesheet" href="$home/style.css?black2" type="text/css"
889 @ media="screen">
890 @ </head>
891 @ <body>
892 @ <div class="header">
893 @ <div class="logo">
894 @ <img src="$home/logo" alt="logo">
895 @ <br /><nobr>$<project_name></nobr>
896 @ </div>
897 @ <div class="title">$<title></div>
898 @ <div class="status"><nobr><th1>
899 @ if {[info exists login]} {
900 @ puts "Logged in as $login"
901 @ } else {
902 @ puts "Not logged in"
903 @ }
904 @ </th1></nobr></div>
905 @ </div>
906 @ <div class="mainmenu"><ul><th1>
907 @ html "<a href=''$home$index_page''>Home</a>"
908 @ if {[anycap jor]} {
909 @ html "<a href=''$home/timeline''>Timeline</a>"
910 @ }
911 @ if {[hascap oh]} {
912 @ html "<a href=''$home/dir?ci=tip''>Files</a>"
913 @ }
914 @ if {[hascap o]} {
915 @ html "<a href=''$home/brlist''>Branches</a>"
916 @ html "<a href=''$home/taglist''>Tags</a>"
917 @ }
918 @ if {[hascap r]} {
919 @ html "<a href=''$home/reportlist''>Tickets</a>"
920 @ }
921 @ if {[hascap j]} {
922 @ html "<a href=''$home/wiki''>Wiki</a>"
923 @ }
924 @ if {[hascap s]} {
925 @ html "<a href=''$home/setup''>Admin</a>"
926 @ } elseif {[hascap a]} {
927 @ html "<a href=''$home/setup_ulist''>Users</a>"
928 @ }
929 @ if {[info exists login]} {
930 @ html "<a href=''$home/login''>Logout</a>"
931 @ } else {
932 @ html "<a href=''$home/login''>Login</a>"
933 @ }
934 @ </th1></ul></div>
935 @ <div id="container">
936 @ ');
937 @ REPLACE INTO config VALUES('footer','</div>
938 @ <div class="footer">
939 @ Fossil version $manifest_version $manifest_date
940 @ </div>
941 @ </body></html>
942 @ ');
943 ;
944
945 /*
946 ** An array of available built-in skins.
947 */
948 static struct BuiltinSkin {
949 const char *zName;
@@ -658,10 +951,11 @@
951 } aBuiltinSkin[] = {
952 { "Default", 0 /* Filled in at runtime */ },
953 { "Plain Gray, No Logo", zBuiltinSkin1 },
954 { "Khaki, No Logo", zBuiltinSkin2 },
955 { "Black & White, Menu on Left", zBuiltinSkin3 },
956 { "Gradient, Rounded Corners", zBuiltinSkin4 },
957 };
958
959 /*
960 ** For a skin named zSkinName, compute the name of the CONFIG table
961 ** entry where that skin is stored and return it.
962

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button