# HG changeset patch # User Aleksej Bobylev # Date 1427161416 -7200 # Node ID f2975370bd27061504eeb66f0d728d0c20f956bb # Parent 6da82c132f6b9f516da1c1b1a66ef5c37807327b TazPanel part of TazPkg: Development in progress, please note it have few known bugs. diff -r 6da82c132f6b -r f2975370bd27 tazpanel/pkgs --- a/tazpanel/pkgs Mon Mar 23 13:31:18 2015 +0100 +++ b/tazpanel/pkgs Tue Mar 24 03:43:36 2015 +0200 @@ -2,18 +2,16 @@ export TEXTDOMAIN='tazpkg' cat <$(gettext 'Packages') - - +
  • + $(gettext 'Packages') + +
  • $(gettext 'Summary')
  • +
  • $(gettext 'My packages')
  • +
  • $(gettext 'Recharge list')
  • +
  • $(gettext 'Check updates')
  • +
  • $(gettext 'Administration')
  • +
    +
  • EOT export TEXTDOMAIN=$TEXTDOMAIN_original diff -r 6da82c132f6b -r f2975370bd27 tazpanel/pkgs.cgi --- a/tazpanel/pkgs.cgi Mon Mar 23 13:31:18 2015 +0100 +++ b/tazpanel/pkgs.cgi Tue Mar 24 03:43:36 2015 +0200 @@ -6,7 +6,7 @@ # its own code for some tasks. Please KISS, it is important and keep speed # in mind. Thanks, Pankso. # -# (C) 2011-2014 SliTaz GNU/Linux - BSD License +# (C) 2011-2015 SliTaz GNU/Linux - BSD License # . /lib/libtaz.sh @@ -62,10 +62,10 @@ i18n_desc $PACKAGE cat << EOT -$(pkg_info_link $PACKAGE $class) -$VERSION -$SHORT_DESC - + $(pkg_info_link $PACKAGE $class) + $VERSION + $SHORT_DESC + EOT done @@ -80,10 +80,10 @@ i18n_desc $PACKAGE cat << EOT -$(pkg_info_link $PACKAGE $class) -$VERSION -$SHORT_DESC - + $(pkg_info_link $PACKAGE $class) + $VERSION + $SHORT_DESC + EOT done @@ -94,35 +94,36 @@ # Show button show_button() { for button in $@; do + class=''; img='' case $button in - recharge) img='tp-recharge'; label="$(_ 'Recharge list')" ;; - up) img='tp-up'; label="$(_ 'Check upgrades')" ;; - list) img='tp-list'; label="$(_ 'My packages')" ;; - tags) img='tp-tag'; label="$(_ 'Tags')" ;; - linkable) img='tp-link'; label="$(_ 'Linkable packages')" ;; - admin) img='tp-admin'; label="$(_ 'Administration')" ;; - *Install*nf*) img='tp-pkg-ins'; label="$(_ 'Install (Non Free)')" ;; - *Install*) img='tp-pkg-ins'; label="$(_ 'Install')" ;; - *Remove*) img='tp-pkg-rem'; label="$(_ 'Remove')" ;; - *Link*) img='tp-link'; label="$(_ 'Link')" ;; - *Block*) img='tp-block'; label="$(_ 'Block')" ;; - *Unblock*) img='tp-unblock'; label="$(_ 'Unblock')" ;; - *Repack*) img='tp-repack'; label="$(_ 'Repack')" ;; - *saveconf*) img='tp-save'; label="$(_ 'Save configuration')" ;; - *listconf*) img='tp-list'; label="$(_ 'List configuration files')" ;; - *quickcheck*) img='tp-check'; label="$(_ 'Quick check')" ;; - *fullcheck*) img='tp-check'; label="$(_ 'Full check')" ;; - *clean*) img='tp-remove'; label="$(_ 'Clean')" ;; - *setlink*) img='tp-link'; label="$(_ 'Set link')" ;; - *removelink*) img='tp-remove'; label="$(_ 'Remove link')" ;; - *add-mirror) img='tp-add'; label="$(_n 'Add mirror')" ;; - *add-repo) img='tp-add'; label="$(_n 'Add repository')" ;; + recharge) class='refresh'; label="$(_ 'Recharge list')" ;; + up) class='upgrade'; label="$(_ 'Check upgrades')" ;; + list) class='list'; label="$(_ 'My packages')" ;; + tags) class='tags'; label="$(_ 'Tags')" ;; + linkable) class='link'; label="$(_ 'Linkable packages')" ;; + admin) class='admin'; label="$(_ 'Administration')" ;; + *Install*nf*) class='install'; label="$(_ 'Install (Non Free)')" ;; + *Install*) class='install'; label="$(_ 'Install')" ;; + *Remove*) class='remove'; label="$(_ 'Remove')" ;; + *Link*) class='link'; label="$(_ 'Link')" ;; + *Block*) class='lock'; label="$(_ 'Block')" ;; + *Unblock*) class='unlock'; label="$(_ 'Unblock')" ;; + *Repack*) class='repack'; label="$(_ 'Repack')" ;; + *saveconf*) class='save'; label="$(_ 'Save configuration')" ;; + *listconf*) class='list'; label="$(_ 'List configuration files')" ;; + *quickcheck*) class='check'; label="$(_ 'Quick check')" ;; + *fullcheck*) class='check'; label="$(_ 'Full check')" ;; + *clean*) class='remove'; label="$(_ 'Clean')" ;; + *setlink*) class='link'; label="$(_ 'Set link')" ;; + *removelink*) class='unlink'; label="$(_ 'Remove link')" ;; + *add-mirror) class='add'; label="$(_n 'Add mirror')" ;; + *add-repo) class='add'; label="$(_n 'Add repository')" ;; esac - cat << EOT - -EOT + if [ -n "$class" ]; then + echo -n "" + else + echo -n "" + fi done } @@ -139,21 +140,19 @@ [ -z "$repo" ] && repo="$(GET repo)" [ -z "$repo" ] && repo="Any" cat << EOT -
    - -
    + EOT } table_head() { cat << EOT - - +
    + @@ -230,8 +229,8 @@ EOT fi cat << EOT - $(_ 'All tags...') - $(_ 'All categories...') + $(_ 'All tags...')
    + $(_ 'All categories...') EOT @@ -268,7 +267,7 @@ header_repo_name() { [ -d $PKGS_DB/undigest ] && [ "$repo" != "Public" ] && \ - echo "

    $(_ 'Repository: %s' $(repo_name $1))

    " + _ 'Repository: %s' $(repo_name $1) } @@ -344,7 +343,7 @@ if [ "$pager" != "

    $(_ 'Pages:')

    " ] && [ -n "${list:1:1}" ]; then cat << EOT -$(header_repo_name $i) +

    $(header_repo_name $i)

    $pager $(table_head) $list @@ -388,11 +387,8 @@ cat << EOT

    $(_ 'Linkable packages')

    - -
    -
    $(_ 'Selection:') $(show_button do=Link)
    -
    $(show_button recharge up)
    -
    + + $(_ 'Selection:') $(show_button do=Link) EOT table_head target=$(readlink $PKGS_DB/fslink) @@ -426,17 +422,18 @@ echo "

    $(_ 'Categories list')

    " for pkgsinfo in $(repo_list /packages.info); do - header_repo_name $(dirname $pkgsinfo) cat << EOT -
    $(_ 'Name') $(_ 'Version')
    - - - - - - - - +
    +
    $(header_repo_name $(dirname $pkgsinfo))
    +
    $(_ 'Category')$(_ 'Available packages')$(_ 'Installed packages')
    + + + + + + + + EOT { awk -F$'\t' '{print $3}' $pkgsinfo | sort | uniq -c @@ -451,7 +448,11 @@ }' | sort | awk '{ printf "", $1, $1, $2, $3 }' - echo '
    $(_ 'Category')$(_ 'Available packages')$(_ 'Installed packages')
    %s%d%d
    ' + cat << EOT + + + +EOT done ;; @@ -481,19 +482,18 @@

    $(_ 'Packages list')

    $title

    - -
    -
    $(_ 'Selection:') - $([ "$my" != 'my' ] && show_button do=Install) - $(show_button do=Remove) -
    -
    $(show_button recharge up)
    -
    + + $(_ 'Selection:') + $([ "$my" != 'my' ] && show_button do=Install) + $(show_button do=Remove) EOT for i in $(repo_list ""); do show_list ${my#no} done - echo '' + cat << EOT + + +EOT ;; @@ -511,16 +511,15 @@ cat << EOT

    $(_ 'Search packages')

    -
    +
    -
    $(_ 'Selection:'; show_button do=Install do=Remove) - $(_ 'Toogle all')
    -
    $(show_button recharge up)
    + $(_ 'Selection:'; show_button do=Install do=Remove) + $(_ 'Toogle all')
    EOT if [ -n "$(GET files)" ]; then cat < + @@ -543,7 +542,7 @@ else table_head awk -F$'\t' 'BEGIN{IGNORECASE = 1} - $1 $4 ~ /'$pkg'/{print $0}' $(repo_list /packages.info) | parse_packages_info + $1 " " $4 ~ /'$pkg'/{print $0}' $(repo_list /packages.info) | parse_packages_info fi cat << EOT @@ -563,21 +562,19 @@ cat << EOT

    $(_ 'Recharge')

    - +
    -
    -

    $(_ 'Recharge checks for new or updated packages')

    -
    +

    $(_ 'Recharge checks for new or updated packages')

    $(show_button up)
    -
    +
     EOT
     		echo $(_ 'Recharging packages list') | log
     		tazpkg recharge | filter_taztools_msgs
     		cat << EOT
     
    -
    +

    $(_ 'Packages lists are up-to-date. You should check for upgrades now.')

    EOT ;; @@ -593,10 +590,10 @@ cat << EOT

    $(_ 'Up packages')

    - +
    -
    $(_ 'Selection:'; show_button do=Install do=Remove) -
    + $(_ 'Selection:'; show_button do=Install do=Remove) +
    $(show_button recharge)
    EOT @@ -658,11 +655,11 @@ LOADING_MSG=$(_ 'Getting package info...'); loading_msg cat << EOT -

    $(_ 'Package %s' $pkg)

    - - - -
    +
    +
    + $(_ 'Package %s' $pkg) + + EOT # Get receipt variables, show Install/Remove buttons @@ -702,8 +699,11 @@ # Show info table cat << EOT -
    -
    $(_ 'Package')
    + + + +
    +
    @@ -718,30 +718,37 @@ $(show_info_links "$SUGGESTED" "$(_ 'Suggested')" 'info')
    $(_ 'Name')$PACKAGE
    $(_ 'Version')$VERSION
    + + EOT # Show description DESC="$(tazpkg desc $pkg)" - [ -n "$DESC" ] && echo "
    $DESC
    " + [ -n "$DESC" ] && echo "
    $DESC
    " # Show configuration files list CONFIGS="$(tazpkg list-config $pkg | sed 's|\(.*\)|\1 \1|')" - [ -n "$CONFIGS" ] && echo "

    $(_ 'Configuration files')

    $(printf '%s\n' $CONFIGS)
    " + [ -n "$CONFIGS" ] && cat << EOT +
    +
    $(_ 'Configuration files')
    +
    $(printf '%s\n' $CONFIGS)
    +
    +EOT # Show installed files list if [ -d $INSTALLED/$pkg ]; then cat << EOT -

    $(_ 'Installed files: %s' $(wc -l < $INSTALLED/$pkg/files.list))

    - -
    $(sort $INSTALLED/$pkg/files.list)
    +
    +
    $(_ 'Installed files: %s' $(wc -l < $INSTALLED/$pkg/files.list))
    +
    $(sort $INSTALLED/$pkg/files.list)
    +
    EOT else cat << EOT -

    $(_ 'Installed files: %s' ' ')

    - -
    -$(lzcat files.list.lzma undigest/*/files.list.lzma 2> /dev/null | awk -vp="$pkg:" '$1==p{print $2}' | sort)
    -
    +
    +
    $(_ 'Installed files: %s' ' ')
    +
    $(lzcat files.list.lzma undigest/*/files.list.lzma 2> /dev/null | awk -vp="$pkg:" '$1==p{print $2}' | sort)
    +
    EOT fi ;; @@ -792,12 +799,9 @@

    $(_ 'TazPkg administration and settings')

    -
    - - -
    + + $(show_button action=saveconf action=listconf action=quickcheck action=fullcheck) -
    EOT case "$(GET action)" in @@ -858,19 +862,17 @@ mirror=$(cat $PKGS_DB/mirror) default_mirror=${mirror%/packages/*} cat << EOT -
    -

    $(_ 'Packages cache')

    +
    +
    $(_ 'Packages cache')
    +
    +
    $(_ 'Packages in the cache: %s (%s)' $cache_files $cache_size)
    +
    $(show_button admin=clean)
    +
    +
    -
    -

    $(_ 'Packages in the cache: %s (%s)' $cache_files $cache_size) - $(show_button admin=clean) -

    -
    -
    - -
    -

    $(_ 'Current mirror list')

    +
    +
    $(_ 'Current mirror list')
    EOT # List mirrors @@ -881,103 +883,120 @@ echo "

    $(_ 'Repository: %s' "$(repo_name $(dirname $i))")

    " fi cat << EOT -
    - - + + +
    EOT while read line; do cat << EOT - - - - - + + + + + EOT done < $i cat << EOT -
    - - -
    + +
    -
    + + -
    -

    - - - $(show_button admin=add-mirror) -

    -
    +
    +
    + + + $(show_button admin=add-mirror) +
    +
    EOT done - echo "
    " - echo "

    $(_ 'Private repositories')

    " + cat << EOT + + + +
    +
    $(_ 'Private repositories')
    +EOT if [ -n "$(ls $PKGS_DB/undigest 2> /dev/null)" ]; then - echo '' + cat << EOT +
    +EOT ls $PKGS_DB/undigest 2> /dev/null | while read repo ; do cat < + + + + EOT done - echo '
    $repo
    $repo
    ' + cat << EOT + +EOT fi cat << EOT -
    -

    $(_ 'Name') - $(_ 'URL:') - $(show_button admin=add-repo)

    -
    -
    +
    + + + +
    $(_ 'Name')
    $(_ 'URL:')
    +
    + $(show_button admin=add-repo) +
    +
    + -
    -

    $(_ 'Link to another SliTaz installation')

    +
    +
    $(_ 'Link to another SliTaz installation')
    +
    +
    + $(_ "This link points to the root of another SliTaz installation. You will be able to install packages using soft links to it.") +
    + +
    + $(show_button admin=setlink admin=removelink) +
    +
    +
    -

    $(_ "This link points to the root of another SliTaz installation. \ -You will be able to install packages using soft links to it.")

    -
    -

    - - $(show_button admin=setlink admin=removelink) -

    -
    -
    +
    +
    $(_ 'SliTaz packages DVD')
    +
    + $(_ "A bootable DVD image of all available packages for the %s version is generated every day. It also contains a copy of the website and can be used without an internet connection. This image can be installed on a DVD or a USB key." $version) -
    -

    $(_ 'SliTaz packages DVD')

    +
    + $(_ 'Install from ISO image:') + +
    +
    -

    $(_ "A bootable DVD image of all available packages for the %s version is \ -generated every day. It also contains a copy of the website and can be used \ -without an internet connection. This image can be installed on a DVD or a USB \ -key." $version)

    +
    + + +
    +
    - - -
    -
    - $(_ 'Install from ISO image:') - -
    - - - -
    -

    $(_ 'Packages list')

    - -

    $(_ 'Long list of packages is paginated. Here you can set the page size (default: 100, turning off the pager: 0).')

    -
    - - - -
    -
    +
    +
    $(_ 'Packages list')
    +
    +
    + $(_ 'Long list of packages is paginated. Here you can set the page size (default: 100, turning off the pager: 0).') +
    + + +
    + +
    +
    +
    EOT ;; @@ -1098,16 +1117,12 @@ tag=$(GET tag) cat << EOT -

    $(_ 'Tag "%s"' $tag)

    +

    $(_ 'Tag "%s"' $tag)

    -
    +
    -
    - $(_ 'Selection:'; show_button do=Install do=Remove) -
    -
    - $(show_button tags) -
    + $(_ 'Selection:'; show_button do=Install do=Remove) +
    $(show_button tags)
    EOT for i in $(repo_list ""); do @@ -1126,10 +1141,9 @@ cat << EOT

    $(_ 'Blocked packages list')

    - +
    -
    $(_ 'Selection:'; show_button do=Unblock) -
    + $(_ 'Selection:'; show_button do=Unblock)
    EOT table_head @@ -1150,27 +1164,26 @@ search_form; sidebar cat << EOT -

    $(_ 'Summary')

    - - -
    + EOT fslink=$(readlink $PKGS_DB/fslink) [ -n "$fslink" -a -d "$fslink/$INSTALLED" ] && show_button linkable show_button recharge up admin cat << EOT -
    +
    -
    -

    $(_ 'Summary')

    - - - - - + + + + + + + + + + + + + + +
    $(_ 'Last recharge:')$(list=$PKGS_DB/ID +
    +
    $(_ 'Summary')
    + + + + + - - - - - - - - - - - - - - - - -
    $(_ 'Last recharge:')$(list=$PKGS_DB/ID if [ -e $list ]; then - ohhmm="$(date +%z)" # '+0200' for EET (+2 hours) - offset=$(( 60 * (60 * ${ohhmm:0:3} + ${ohhmm:3:2}) )) # in the seconds + # Timezone offset as string, ex. '+0200' for EET (+2 hours) + ohhmm="$(date +%z)" + # Timezone offset in the seconds + offset=$(( 60 * (60 * ${ohhmm:0:3} + ${ohhmm:3:2}) )) daynow=$(( ($(date +%s) + $offset) / 86400 )) dayupd=$(( ($(date -r $list +%s) + $offset) / 86400 )) days=$(( $daynow - $dayupd )) @@ -1182,47 +1195,49 @@ [2-9]) echo $ago;; *) echo "$ago" _ 'It is recommended to [recharge] the lists.' | \ - sed 's|\[||;s|\]||';; + sed 's|\[||;s|\]||';; esac else _ 'never.' _ 'You need to [download] the lists for further work.' | \ - sed 's|\[||;s|\]||' + sed 's|\[||;s|\]||' fi)
    $(_ 'Installed packages:') - $(cat $PKGS_DB/installed.info | wc -l) -
    $(_ 'Mirrored packages:') - $(cat $PKGS_DB/packages.list | wc -l) -
    $(_ 'Upgradeable packages:') - $(cat $PKGS_DB/packages.up | wc -l) -
    $(_ 'Installed files:')$(cat $INSTALLED/*/files.list | wc -l)
    $(_ 'Blocked packages:') - $(cat $PKGS_DB/blocked-packages.list | wc -l) -
    +
    $(_ 'Installed packages:') + $(cat $PKGS_DB/installed.info | wc -l) +
    $(_ 'Mirrored packages:') + $(cat $PKGS_DB/packages.list | wc -l) +
    $(_ 'Upgradeable packages:') + $(cat $PKGS_DB/packages.up | wc -l) +
    $(_ 'Installed files:')$(cat $INSTALLED/*/files.list | wc -l)
    $(_ 'Blocked packages:') + $(cat $PKGS_DB/blocked-packages.list | wc -l) +
    + -
    -

    $(_ 'Latest log entries')

    -
    -$(tail -n 5 $LOG | fgrep "-" | awk '{print $1, $2, $3, $4, $5, "" $6 "", $7}')
    -$(_ 'more...')
    -
    -
    +
    +
    + $(_ 'Latest log entries') +
    + +
    +
    +
    $(tail -n 5 $LOG | tac | fgrep "-" | awk '{print $1, $2, $3, $4, $5, "" $6 "", $7}')
    +
    EOT ;; esac diff -r 6da82c132f6b -r f2975370bd27 tazpanel/pkgs.css --- a/tazpanel/pkgs.css Mon Mar 23 13:31:18 2015 +0100 +++ b/tazpanel/pkgs.css Tue Mar 24 03:43:36 2015 +0200 @@ -1,4 +1,4 @@ -body { -webkit-appearance: window; } +/*body { -webkit-appearance: window; }*/ /** * Sidebar menus @@ -10,10 +10,9 @@ } #sidebar { /* full width = width(132) + h-padding(5) + border(1) = 138px */ - position: fixed; top: 60px; bottom: 0; right: 0; + position: fixed; top: 65px; bottom: 0; right: 0; width: 132px; padding: 5px 5px 0 0; - border-left: 1pt solid #AAA; - background-color: #EEE; + border-left: 1pt solid; overflow-y: auto; overflow-x: hidden; /* for tiny screens */ } @@ -41,7 +40,6 @@ background-color: rgba(0,0,0,0.05); } -option:checked { color: red; font-weight: bold; background-color: orange; } /* sidebar links */ #sidebar a { @@ -69,8 +67,34 @@ a.pkg { background: url(images/tp-new.png) no-repeat left; } a.pkgi { background: url(images/tp-pkgi.png) no-repeat left; } a.pkgib { background: url(images/tp-pkgib.png) no-repeat left; color: red; } -a.w, .pkglist td:nth-child(4) a { - background: url(images/tp-web.png) no-repeat left; } +a.w::before, .pkglist td:nth-child(4) a::before { + font-family: TazPanel; content: 'web'; + + vertical-align: baseline; + padding: 0 0.2rem 0 0; + font-size: 1rem; + + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + display: inline-block; + text-decoration: none; + width: 1rem; text-align: center; + + -webkit-text-rendering: optimizeLegibility; + -moz-text-rendering: optimizeLegibility; + -ms-text-rendering: optimizeLegibility; + -o-text-rendering: optimizeLegibility; + text-rendering: optimizeLegibility; + + -webkit-font-smoothing: antialiased; + -moz-font-smoothing: antialiased; + -ms-font-smoothing: antialiased; + -o-font-smoothing: antialiased; + font-smoothing: antialiased; +} a.pkg, a.pkgi, a.pkgib, a.w, .pkglist td:nth-child(4) a { margin: 0; padding: 0 0 0 17px; @@ -78,18 +102,20 @@ display: inline-block; } + + /* not break the line */ -.pkglist td:nth-child(1), +.pkglist td:nth-child(1), .filelist td:nth-child(1) { white-space: nowrap; } -.pkglist td:nth-child(1) a, +.pkglist td:nth-child(1) a, .filelist td:nth-child(1) a { max-width: 12em; } -.pkglist td:nth-child(2) { max-width: 7em; } +.pkglist td:nth-child(2) { max-width: 7em; } .filelist td:nth-child(2) { max-width: 30em; } /* ellipsize content of 1st and 2nd columns */ -.pkglist td:nth-child(1) a, -.pkglist td:nth-child(2), +.pkglist td:nth-child(1) a, +.pkglist td:nth-child(2), .filelist td:nth-child(1) a, .filelist td:nth-child(2) { white-space: nowrap; @@ -97,11 +123,19 @@ text-overflow: ellipsis; -o-text-overflow: ellipsis; } +/* +.pkglist tr { border-bottom: 1pt solid; } +.pkglist, .pkglist thead { border: 1.5pt solid!important; } -.pkglist tr { border-bottom: 1pt solid #DDD; } +.light .pkglist tr { border-color: rgba(92, 92, 92, 0.1); } +.light .pkglist, .light .pkglist thead { border-color: rgba(92, 92, 92, 0.1)!important; } -.pkglist, .pkglist thead { border: 1.5pt solid #BBB!important; } +.dark .pkglist tr { border-color: #111; } +.dark .pkglist, .dark .pkglist thead, .dark .hborders thead tr { border-color: #333!important; } +*/ +/* Fixed table header */ +#head1h { display: none; position: fixed; } /** @@ -145,6 +179,7 @@ /* * Tags */ + #tags { text-align: center; } a.tag1 { font-size: 0.9em; color: #678; } a.tag2 { font-size: 1.0em; color: #444; } @@ -166,74 +201,15 @@ -/* - * Action buttons panel - */ -#actions { - background-color: rgba(229,229,229,0.5); - margin: 0; padding: 0.2rem 0.3rem!important; - border: 1pt solid #CCC; - border-radius: 0.3rem; - overflow: auto; /* provide break after floated objects */ -} .button img { padding: 0 4px 0 0; } -/* "articles" are used in the admin page */ -article, fieldset { - display: block; - border: 1pt solid rgba(128, 128, 128, 0.5); - border-radius: 0.3rem; - padding: 0.3rem 0.3rem 0 0.3rem; - margin: 0.5rem 0; - background-color: rgba(128, 128, 128, 0.2); -} -article h3 { - padding: 0.3rem; margin: -0.3rem; - border-bottom: 1pt solid rgba(128, 128, 128, 0.5); - border-radius: 0.3rem 0.3rem 0 0; - background-color: rgba(128, 128, 128, 0.3); -} -legend { - font-weight: bold; -} /* Disable too much borders */ -article pre, article table { border: none } +section .hborders thead tr { border-top: none; border-bottom: 1pt solid #DDD; } -/* - * Search block - */ -.search { - position: fixed; right: 10px; top: 8px; - height: 25px; - border-radius: 4px; - background-color: #FFF; - padding: 0; margin: 0; -} -.search input { - height: 100%; - margin: 0; padding: 4px; - /*outline: none;*/ -} -.search input:nth-child(1) { - width: 200px; - border: none; - -webkit-appearance: none; /* remove borders for input type="search" */ -} -.search input:nth-child(2), .search input:nth-child(3) { -webkit-appearance: push-button; } -.search input:nth-child(1) { - border-radius: 4px 0 0 4px; - -moz-border-radius: 4px 0 0 4px; - -webkit-border-radius: 4px 0 0 4px; -} -.search input:nth-child(2) { border-radius: 0; -moz-border-radius: 0; -webkit-border-radius: 0; } -.search input:nth-child(3) { - border-top-left-radius: 0; border-bottom-left-radius: 0; - -moz-border-top-left-radius: 0; -moz-border-bottom-left-radius: 0; - -webkit-border-top-left-radius: 0; -webkit-border-bottom-left-radius: 0; -} +/* •‣⁕←↑→↓↔↕↥↯↶↷↺↻⇄⇅⇈⌫⏏█▶▷▸▹►▻▪▫◯●◻◼◽◾☐☑☒♺♻⚙⚠⚡⚪⚫✉✎✏✐✓✔✕✖✗✘❖➤➜➝➛⟲⟳⧎ */