为了练习自己的JS、CSS基本功,这些天和MediaWiki干上了!^_^

下面是我的MediaWiki新添加的功能:

  • 回到顶部
  • 链接放大
  • MediaWiki升级

回到顶部

回到顶部是很多网站的基本功能,只要网页向下滚动一定位移,回到顶部按钮就会出现在相对浏览器的固定位置。下面是我在MediaWiki中添加的回到顶部功能。

PS:在博客园中,也有回到顶部功能,但是它是固定死的,操作并不方便,您可以添加自己的回到顶部按钮,方法与下面类似,只是在JS代码中需要引入jquery,其代码如下:

<script id="jquery_182" type="text/javascript" class="library" src="http://files.cnblogs.com/snowsolf/jquery.js"></script>
<script type="text/javascript">
var snowId = document.getElementById("footer");
var solfId = document.createElement("a");
solfId.setAttribute("id","gotop");
snowId.appendChild(solfId); function goTop()
{
$(window).scroll(function(e) {
if($(window).scrollTop()>200)
$("#gotop").fadeIn(100);
else
$("#gotop").fadeOut(100);
});
};
$(function(){
$("#gotop").click(function(e) {
$('body,html').animate({scrollTop:0},100);
});
$("#gotop").mouseover(function(e) {$(this).css("background","url(http://images.cnblogs.com/cnblogs_com/snowsolf/497956/o_backtop.gif) no-repeat 0px -100px");
});
$("#gotop").mouseout(function(e) {$(this).css("background","url(http://images.cnblogs.com/cnblogs_com/snowsolf/497956/o_backtop.gif) no-repeat 0px 0px");
});
goTop();
});
</script>

原理就是在页面中找一个元素,然后在这个元素的父元素中插入“回到顶部”元素。CSS代码同下,如果你想将原页面中的固定回到页面按钮隐藏,则CSS代码如下:

a[href="#top"]{
display:none;
}

一般网站中都会有footer元素,你在footer元素中插入你想要的元素(回到顶部),然后对这个元素进行操作。

JS代码

在ID为footer的元素中插入a:

var snowId = document.getElementById("footer");
var solfId = document.createElement("a");
solfId.setAttribute("id","gotop");
solfId.setAttribute("title","回到顶部");
snowId.appendChild(solfId); function goTop(){
$(window).scroll(function(e) {
//若滚动条离顶部大于200元素
if($(window).scrollTop()>200)
$("#gotop").fadeIn(100);//以1秒的间隔渐显id=gotop的元素
else
$("#gotop").fadeOut(100);//以1秒的间隔渐隐id=gotop的元素
});
};
$(function(){
//点击回到顶部的元素
$("#gotop").click(function(e) {
//以1秒的间隔返回顶部
$('body,html').animate({scrollTop:0},100);
});
$("#gotop").mouseover(function(e) {
$(this).css("background","url(/images/backtop.gif) no-repeat 0px -100px");
});
$("#gotop").mouseout(function(e) {
$(this).css("background","url(/images/backtop.gif) no-repeat 0px 0px");
});
goTop();//实现回到顶部元素的渐显与渐隐
});

CSS代码

#gotop{
display:none;
width:55px;
height:55px;
position:fixed;
right:20px;
bottom:20px;
background:url(/images/backtop.gif) no-repeat 0px 0px;
}

您也可以更换自己喜欢的回到顶部图片。

链接放大

链接放大就是将页面中的所有链接在鼠标移动到其上时字体变大。

CSS代码

[href]:hover{
font-size: 125%;
}

代码很简单,但是也有问题,如logo图片也变动了,看着不好看。

解决logo移动问题:

#p-logo{
width:135px; height:135px;
}
#p-logo a:link,a:visited{
background:url(/mediawiki/skins/common/images/mediawiki_v.png) no-repeat;
}

MediaWiki升级

MediaWiki升级可以分两中方法进行升级,一种是在原有的MediaWiki上进行升级,另一种是搬迁升级。

备份

首先,在升级您的MediaWiki之前先备份好现有的MediaWiki。

虽然升级程序经过良好的测试,也比较可靠,但是仍然是有可能出问题的。所以在运行升级程序之前,请务必做一次完整的备份。其中得包括相关数据库和相关文件:

  • 数据库里面和 wiki 相关的内容。建议在导出SQL的同时也导出为XML,以策万全。

    • MySQL:

      • 导出为SQL: mysqldump --all-databases > file.txt
      • 导出为XML: mysqldump --all-databases --xml > file.xml
    • PostgreSQL:
      • 导出为 pg_restore : pg_dump --create -Fc -i yourwiki > yourwiki.db.dump
  • 图片和其它文件 (在 images 目录内)
  • 配置文件 LocalSettings.php 和 AdminSettings.php
  • MediaWiki 的程序文件,包括所有的皮肤和扩展,特别是你修改和定制过的文件。

上面引用自:

http://www.mediawiki.org/wiki/Manual:Upgrading/zh-hans

想获取更多关于升级信息,可以点击上面链接地址。

备份数据库

mysqldump -u root -p my_wiki >my_wiki_201403250842.sql

导入数据库

mysql -u root -p my_wiki < my_wiki_201403250842.sql

备份MediaWiki程序

我的是直接将mediawiki目录打包,先进入/var/www/目录,打包mediawiki目录:

tar zvcf mediawiki.tar.gz mediawiki/

源码升级

解压

我的MediaWiki原版本是1.20.2,升级到1.22.4,MediaWiki原目录在/var/www/mediawiki下,直接将新版本的MediaWiki解压到/var/www/mediawiki/目录:

sudo tar xvfz mediawiki-1.22..tar.gz -C /var/www/mediawiki/ --strip-components=

加上了--strip-components=1会直接解压在/var/www/mediawiki/目录下,如果不加--strip-components=1,会在/var/www/mediawiki/下自动创建一个mediawiki-1.22.4的目录并解压在该目录下。

升级

进入MediaWiki主目录中的maintenance目录,运行如下文件:

php update.php

升级后有些插件未必可用,如果您某些插件是您的必须,最好做好调查在升级。

搬迁升级

搬迁升级时MediaWiki的版本未必会升级,只是将甲处的MediaWiki搬迁到乙处。

数据迁移

您可能需要对以下目录或文件进行迁移:

  • images目录搬迁
  • skin目录搬迁
  • extensions目录搬迁(未必可用)
  • LocalSettings.php文件搬迁
  • 将老MediaWiki的数据库导入

升级

进入MediaWiki主目录中的maintenance目录,运行如下文件:

php update.php

如源码升级一样,升级后有些插件未必可用,如果您某些插件是您的必须,最好做好调查在升级。

更多设置

更多关于我的MediaWiki安装、设置可以参考下面两篇博文:

安装、基本设置:

http://www.cnblogs.com/snowsolf/p/MediaWiki.html

悬浮目录+隐藏:

http://www.cnblogs.com/snowsolf/p/MediaWiki-catalogue.html

我的笔记文档版本控制系统-MediaWiki-回到顶部/链接放大/升级的更多相关文章

  1. 我的笔记文档版本控制系统-MediaWiki-安装/基本设置

    如果你一直想要一个可以进行版本控制的文档存储工具,那MediaWiki是一个不错的选择.也许,用版本控制来描述MediaWiki有点不妥,但它对于我来说就是如此了.我会将学习笔记都记录在MediaWi ...

  2. 我的笔记文档版本控制系统-MediaWiki-目录悬浮+隐藏

    13年11份把北京的工作辞了,出去从北到南找同学玩了二十多天,因为各种原因,回家(宁夏)找工作,想找一个Linux相关的工作,但涉及Linux的都是运维.支持一类,最后因为各种原因找了个做java的本 ...

  3. 获取文档版本版本值 滚动标识符 游标 控制查询如何执行 控制查询在哪些分片执行 boost加权

    映射mapping.json{ "book": { "_index": { "enabled": true }, "_id&quo ...

  4. word文档标题级别批量更改——批量降级与升级实例

    word文档标题级别批量更改——批量降级与升级实例   word文档标题级别批量更改——批量降级实例 2012年12月21日16:30:44 现有一个3级文档结构的word文档,如下图所示 先需要将上 ...

  5. MongoDB学习笔记——文档操作之查询

    查询文档 使用db.COLLECTION_NAME.findOne()可以查询所有满足条件的第一条数据 预发格式如下: db.COLLECTION_NAME.findOne(<query> ...

  6. MongoDB学习笔记——文档操作之增删改

    插入文档 使用db.COLLECTION_NAME.insert() 或 db.COLLECTION_NAME.save() 方法向集合中插入文档 db.users.insert( { user_id ...

  7. 4. svg学习笔记-文档结构元素和样式的使用

    svg除了绘图元素之外还有一部分是专门用于文档结构的,这类元素有<g>,<use>,<defs>,<symbol>等 <g>元素 如果我们仅 ...

  8. StyleCop学习笔记-文档规则

    文档规则: .SA1600:ElementsMustBeDocumented元素必须添加注释 .SA1601: PartialElementsMustBeDocumented Partial修饰的成员 ...

  9. 【swupdate文档 三】SWUpdate: 嵌入式系统的软件升级

    SWUpdate: 嵌入式系统的软件升级 概述 本项目被认为有助于从存储媒体或网络更新嵌入式系统.但是,它应该主要作为一个框架来考虑,在这个框架中可以方便地向应用程序添加更多的协议或安装程序(在SWU ...

随机推荐

  1. HDFS常见问题

    在HDFS里面,data node上的块大小默认是64MB(或者是128MB或256MB) 问题: 为什么64MB(或128MB或256MB)是最优选择? 为什么不能远少于64MB(或128MB或25 ...

  2. 汇编语言入门(在debug中编辑和调试程序)

    2013-06-02 17:09 4252人阅读 评论(2) 收藏 举报  分类: 汇编语言(1)  版权声明:本文为博主原创文章,未经博主允许不得转载. 我们在Windows中进入的Dos方式,实际 ...

  3. linux限制用户内存使用

    最近有内存使用报警的邮件发出,之后杀掉了内存占用高的进程,使内存恢复正常 但是发现某些程序被杀掉了,有过怀疑是被人手动杀掉的,看日志后发现应该是内存占用过大,系统自动杀掉的 内存耗尽会调用oom 对进 ...

  4. 本地建立SVN服务器

    想在自己电脑上搭建SVN服务器,于是有以下步骤. 首先明确SVN服务包括服务器和客户端,平时听到的TortoiseSVN就是一个客户端. 首先下载两个软件,服务器端我使用的是VisualSVN,版本是 ...

  5. 《python基础教程(第二版)》学习笔记 文件和素材(第11章)

    <python基础教程(第二版)>学习笔记 文件和素材(第11章) 打开文件:open(filename[,mode[,buffering]]) mode是读写文件的模式f=open(r' ...

  6. 《python基础教程(第二版)》学习笔记 字符串(第3章)

    <python基础教程(第二版)>学习笔记 字符串(第3章)所有的基本的序列操作(索引,分片,乘法,判断成员资格,求长度,求最大最小值)对字符串也适用.字符串是不可以改变的:格式化输出字符 ...

  7. ios app被自己从应用商店下架后可以再恢復上架吗

    好像没有企业能阻挡苹果的下架决定,毕竟这是它的地盘.不管是已经恢复上架的百度.腾讯.优酷.人人游戏,还是至今没有下文的360.金山和PPS,也不管这些企业在中国乃至全球互联网行业的地位如何,下架原因只 ...

  8. php深入浅出session

    1. session概念 0 2. http协议与状态保持 0 3. 理解cookie 0 4. php中session的生成机制 2 5. php中session的过期回收机制 3 6. php中s ...

  9. AngularJS学习笔记(一) 关于MVVM和双向绑定

    写在前面: 因为需要开始学习ng,之前在知乎上听大神们介绍ng的时候说这个坑如何的大,学了一阵(其实也就三天),感觉ng做的很大很全,在合适的情境你可以完全使用ng搞定一切.这一点从诸如jqLite之 ...

  10. 关于C++多态的理解

    多态,即多种形态.对于具有继承关系的一类对象,子类表现出了父类的某些特性,但是表现的不一样,这就是多态的现实体现.例如动物可以发声,但是狗是旺旺,狗是动物的一种,但是表现了不同的叫的特点,这就是多态. ...