如何添加您的网站到神同在主内搜索引擎?
Godwithus神同在主内搜索引擎和 inLord.cn主内搜索使用同一引擎,采用谷歌自定义搜索技术只搜索好的主内网站,以避免返回错误、极端或者异端的信息。该引擎同时采用AJAX技术,进行聚合搜索,搜索搜索内容包括:主内网站,动态主内搜索,诗歌、讲道、文库、教会,还进行站内搜索,本站博客搜索。同时也提供公网上的,网络、博客、资讯、图片、视频、数据、本地搜索等内容。一次搜索获得全部需要的信息。
其中最重要的就是“主内搜索”,而该主内搜索需要一个数据库,记录了那些我们要包括的网站信息。这些网站信息就是用神同在“主内网址”功能实现。它能够导航,搜索,索引,评价,评论。最重要的是,它支持肢体自动添加个人网站。
使用方法如下:
1 访问 http://godwithus.cc, 将看到一个表格如下:
左边是目录,右边是网址。下面有个“添加网址”按钮
2 按添加网址按钮,会出现一个输入模块在表格下部:
输入网站,网址(不要输入http://,尽量不要输入www.,例如http://www.godwithus.cc只要输入godwithus.cc就行了),选择网站分类,如果之前在神同在主页http://home.godwithus.cc 建立了该网站的记录,则输入其URL地址以方便对该网站评论(可选),输入“添加人”就是你的名字,备注可选。
然后按上面的“保存网址”按钮,例如如下图片显示添加“张伯笠牧师个人主页”
如果运行成功,会有个对话框弹出,如下:
这个网址即添加成功,马上就可以在表格中看到。
过段时间,在使用主内搜索的“动态主内搜索”,就能包括了刚添加的这个网站的信息。
Godwithus神同在自定义主内搜索搜索BUG修改
解决了一个bug
现在主内搜索和主内动态搜索均可正常使用。访问地址 http://godwithus.cc
动态搜索和普通搜索的区别在于搜索范围不同,动态搜索的搜索数据库直接取自神同在主内网址的内容,更新更快。
Godwithus神同在博客发博文的快捷方法
2 登陆
3 头顶上菜单,我的博客–我的博客的名字-发表新博文
使用Windows Live Writer写WordPress博客傻瓜教程
微软提供的Live Writer用来写博客是非常的好用,支持live space,也支持wordpress等其他的博客,我现在下一篇博客可以同时发布到好几个博客地址,非常方便。
1 下载安装Windows Live Writer和Twitter Notify插件
首先去http://download.live.com/writer下载最新版的工具,可以选择简体中文语言的,安装就默认的不停的下一步即可。
然后去下载Twitter Notify,可以在这里下载http://gallery.live.com/liveItemDetail.aspx?li=6b2b5ffe-936a-4cb3-869c-c01de29de176,他的作用是每当发布一篇博客后,他会自动在twitter生成一个微波。不过据说,某些国家和地区twitter被封,这个就是可选。安装也非常简单,直接下一步到底。
2 申请Godwithus神同在博客并设置参数
然后去申请免费的博客,国际上比较好的有blogger,wordpress等,但是据说在某些国家和地区也被封。国内新浪等网站也有博客,而且很火,但是不开放协议,无法使用Live Writer写博客。还有种方法就是自己建站,使用WordPress程序建立自己的博客,用自己的域名。当然最简单的方法还是使用免费的博客。Godwithus神同在博客目前就免费向主内肢体开放申请。申请一个例如http://blog.godwithus.cc/your_blog_name,例如http://blog.godwithus.cc/huo/ 这样的地址。申请方法直接联系站长。
设置开放博客的接口。申请好了之后去http://blog.godwithus.cc,使用自己的登录信息登录,然后进入后台管理,
登录后,可以在最上面的菜单里找到自己博客的“控制面板”选项进入,例如下面的“如鹰展翅上腾”
也可以直接通过网址访问,例如我的博客地址为http://blog.godwithus.cc/blog,则后台网址为http://blog.godwithus.cc/huo/wp-admin/
在这里可以进行多项设置,例如语言,主题模板等,而我们要设置的是开放Live Writer的接口,在左侧菜单选择Settings设置,然后Writing撰写,选中勾选中间Remote Publishing远程发布下面的的两个复选框,一个Atom Publishing,另外一个XML-RPC,我们实际上用哪个的是第二个。然后按Save Changes保存修改,就好了。
3 在Windows Live Writer中添加博客账户
启动Live Writer后,运行菜单:“日志”-添加日志账户,在对话框中选择“其他日志服务”,下一步,输入博客信息,在下一步
系统会进行一系列的操作,并有提示,然后按完成即可。
在有些时候系统无法确定博客服务程序类型,会弹出一个窗口让我们输入:选择日志类型那里选择“WordPress”,然后日志远程发布修改成自己的参数,例如 http://blog.godwithus.cc/huo/xmlrpc.php,然后再按下一步就好了。
4 发布博客
运行Windows Live Writer程序,在“日志”菜单那里选择自己的博客,然后文件-新建,即可以写博客了。写好之后按“发布”按钮发布。如果设置了Twitter Notify,系统会问是不是发布到Twitter那里,根据喜好选择即可。在写博客的时候,下面有设置类别,标签和发布日期等选项。同时也有“编辑”,“预览”和“源代码”选项卡,一版只用编辑即可,也可以在源代码那里优化HTML代码。
发布到一个博客之后,如果想发布到另外一个博客地址,则在“日志”菜单选择其他博客,然后再按发布。发布的时候有个选项即是否要打开已发布博客页面查看,我是默认预览的。
5 转发到其他博客
现在就好了,但是比如新浪博客就不支持开放协议,则至于手动从已发布的博客那里复制过去了。
现在马上大功告成。例如我这篇博文会同时发布到
http://michaelhuo.spaces.live.com
http://blog.sina.com.cn/soarup/ (这个需要手工复制,其他几个非常方便的使用Windows Live Writer发布)
Godwithus神同在主页恢复正常
前段时间目录调整导致Godwithus神与我们同在网站主页http://home.godwithus.cc,访问出现问题。现在结构调整完毕,主页访问恢复正常。
欢迎访问Godwithus神与我们同在网站 http://godwithus.cc
Godwithus神与我们同在 首页 主页 | 新闻 博客 播客 社区 | 总站 中国站 美国站 移动站 | 快速搜索 快速导航 | 帮助 关于 | 更多
2/28/2010 Invite you to the Grove Community Church this Sunday邀请您本周日去果园社区英文教会
2/28/2010 Invite you to the Grove Community Church this Sunday邀请您本周日去果园社区英文教会
Hi all,
You are invited to the Grove Church on 2/28/2010 Sunday. This Sunday is Chinese Lantern Festival, Jan 15 of Chinese Lunar Calendar. We will celebrate it by making Yuanxiao (rice glue ball, sweet dumpling) together at lunch after the church service, before the afternoon talk. Your family and friends are also welcomed to invite.
Pastor Tom and Carol are moving into their new house this week.This weekend Pastor Joe Hobbs will be bringing God’s Word to The Grove. He is going to tackle Genesis chapters 13-17. The message is titled, "Abraham: Bringing Hope…Changing Lives." In addition to reading the chapters in Genesis, take a look at Romans 4:18-21 before you come this weekend as the writer reflects on the life of Abraham. Remember the phrase, "In hope against hope he believed…" Come prepared as Joe will encourage you to have hope in the midst of difficult times. Joe is looking forward to the challenge of bringing this weekend’s message to all of us.
This time 4 stops around us are listed below and you can select the nearest one to you. (If you are too far away from the stops, we will take you separately. Please tell me your name, address and phone number by replying this email.)
The map is here( also attached) : http://photo.godwithus.cc/v/godwithus_map.jpg.html or http://godwithus.cn/map/
They are (manuscript proposed):
1) Windwood(Linden&Rustin)
1128 W Linden St, Riverside, CA 92507
2) Korean Church(Blaine&Canyon-Crest)
891 W Blaine St, Riverside, CA 92507
3) W Big Springs&Watkins Bus Stop
186 W Big Springs Rd, Riverside, CA
4) UCR Extension Center
1242 University Ave, Riverside, CA 92507
Please tell me which stop you will wait for the pickup when you reply the email.The time to pick up will be around 9:45am to 10:00am.If you will go the the Grove Community Church this Sunday, please EMAIL back before 7pm of Feb 20Saturday. Please REPLY this email or send an email to "godwithus@godwithus.cc" telling us that you plan to come. I appreciate you very much for your consideration.
Thanks and Sorry to bother you.
best wishes
Michael
大家好,
邀请您来参加这个周日(2月28日,农历正月十五元宵节)早晨的果园社区教会的主日崇拜。这个主日是中国的正月十五元宵节,我们将在教会聚会后和团契交谈之前来做元宵以庆祝这个节日。
本周牧师Tom和Carol将乔迁新家。本周Joe Hobbs牧师来给果园教会传讲神的道。他将要讲到《创世记》13-17章。信息的主题是“亚伯拉罕:带来希望,改变生命”。希望您在来教会之前,在读《创世记》这些章节的同时,请查看罗马书4章18-21节看看作者是如何来回顾亚伯拉罕的。请记下这节经文,罗 4:18, Who in hope believed against hope[ASV],在无可指望的时候,因信仍有指望[CUV]。准备好来聚会,Joe会鼓励你在艰难困苦的岁月当中,如何拥有希望。Joe期待着讲本周的这个信息带给我们所有人。
罗马书Romans 4:18-21 (CUV, NIV):
18
他在无可指望的时候,因信仍有指望,就得以作多国的父,正如先前所说,你的后裔将要如此。
Against all hope, Abraham in hope believed and so became the father of many nations, just as it had been said to him, "So shall your offspring be."
19
他将近百岁的时候,虽然想到自己的身体如同已死,撒拉的生育已经断绝,他的信心还是不软弱。
Without weakening in his faith, he faced the fact that his body was as good as dead–since he was about a hundred years old–and that Sarah’s womb was also dead.
20
并且仰望神的应许,总没有因不信,心里起疑惑。反倒因信,心里得坚固,将荣耀归给神。
Yet he did not waver through unbelief regarding the promise of God, but was strengthened in his faith and gave glory to God,
21
且满心相信,神所应许的必能作成。
being fully persuaded that God had power to do what he had promised.
这次草拟的4个站点如下(如果你太远,我们会单独接送,回信时请告知你的姓名、地址和电话):
地图在这里(或见附件):http://photo.godwithus.cc/v/godwithus_map.jpg.html 或者 http://godwithus.cn/map/
1) Windwood(Linden&Rustin)
1128 W Linden St, Riverside, CA 92507
2) Korean Church(Blaine&Canyon-Crest)
891 W Blaine St, Riverside, CA 92507
3) W Big Springs&Watkins Bus Stop
186 W Big Springs Rd, Riverside, CA
4) UCR Extension Center
1242 University Ave, Riverside, CA 92507
在回复时请指定您准备候车的站点,若单独接送,请告知你的姓名、
地址和电话。接送时间为上午9:45到10:00左右。如果特殊情况会电话联系。如果您这周日要去果园教会,请在2月27号下午7点之前回信,邮件选项选择“回复”即可。请“回复”邮件,或者给godwithus@godwithus.cc发送一封邮件告诉我们您计划来参与。我们非常感谢您的体贴。
明旭
–
She will give birth to a son, and you are to give him the name Jesus, because he will save his people from their sins. All this took place to fulfill what the Lord had said through the prophet: ‘The virgin will be with child and will give birth to a son, and they will call him Immanuel’ –which means, ‘God with us.’ (Matthew 1:21-23)
Links: http://godwithus.cc http://godwithus.cn
Godwithus神同在多用户博客服务启动
Godwithus神与我们同在博客 http://blog.godwithus.cc
使用世界上最好的多用户博客系统Wordpress Mu,加上中文支持,同时安装了BuddyPress社会网络模块和BBPress论坛模块,兼具博客、空间、SNS和论坛的功能。采用Linux+MySQL+PHP的流行架构,使用美国的Godaddy的服务器,稳定、高效、不受国内气候影响也免受博客被删之苦。
博客地址类似于http://blog.godwithus.cc/username,例如http://blog.godwithus.cc/huo/
神同在博客面向主内肢体同工和牧长、传道人、和主内网站站长免费开放。有需要者请联系godwithus[AT]godwithus.cc,也欢迎多提宝贵改进意见。
转载:JSON 入门指南
from http://www.ibm.com/developerworks/cn/web/wa-lo-json/index.html
JSON 入门指南
文档选项
未显示需要 JavaScript 的文档选项
级别: 初级
廖 雪峰, 撰稿人
2008 年 8 月 22 日
JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。本文将快速讲解 JSON 格式,并通过代码示例演示如何分别在客户端和服务器端进行 JSON 格式数据的处理。
尽管有许多宣传关于 XML 如何拥有跨平台,跨语言的优势,然而,除非应用于 Web Services,否则,在普通的 Web 应用中,开发者经常为 XML 的解析伤透了脑筋,无论是服务器端生成或处理 XML,还是客户端用 JavaScript 解析 XML,都常常导致复杂的代码,极低的开发效率。实际上,对于大多数 Web 应用来说,他们根本不需要复杂的 XML 来传输数据,XML 的扩展性很少具有优势,许多 AJAX 应用甚至直接返回 HTML 片段来构建动态 Web 页面。和返回 XML 并解析它相比,返回 HTML 片段大大降低了系统的复杂性,但同时缺少了一定的灵活性。
现在, JSON 为 Web 应用开发者提供了另一种数据交换格式。让我们来看看 JSON 到底是什么,同 XML 或 HTML 片段相比,JSON 提供了更好的简单性和灵活性。
请访问 Ajax 资源中心,这是有关 Ajax 编程模型信息的一站式中心,包括很多文档、教程、论坛、blog、wiki 和新闻。任何 Ajax 的新信息都能在这里找到。
和 XML 一样,JSON 也是基于纯文本的数据格式。由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一个复杂的 Object 对象。
String,Number 和 Boolean 用 JSON 表示非常简单。例如,用 JSON 表示一个简单的 String “ abc ”,其格式为:
"abc"
除了字符 ",\,/ 和一些控制符(\b,\f,\n,\r,\t)需要编码外,其他 Unicode 字符可以直接输出。下图是一个 String 的完整表示结构:
一个 Number 可以根据整型或浮点数表示如下:
这与绝大多数编程语言的表示方法一致,例如:
12345(整数) -3.9e10(浮点数)
Boolean 类型表示为 true 或 false 。此外,JavaScript 中的 null 被表示为 null,注意,true、false 和 null 都没有双引号,否则将被视为一个 String 。
JSON 还可以表示一个数组对象,使用 [] 包含所有元素,每个元素用逗号分隔,元素可以是任意的 Value,例如,以下数组包含了一个 String,Number,Boolean 和一个 null:
["abc",12345,false,null]
Object 对象在 JSON 中是用 {} 包含一系列无序的 Key-Value 键值对表示的,实际上此处的 Object 相当于 Java 中的 Map<String, Object>,而不是 Java 的 Class 。注意 Key 只能用 String 表示。
例如,一个 Address 对象包含如下 Key-Value:
city:Beijing street:Chaoyang Road postcode:100025(整数)
用 JSON 表示如下:
{"city":"Beijing","street":" Chaoyang Road ","postcode":100025}
其中 Value 也可以是另一个 Object 或者数组,因此,复杂的 Object 可以嵌套表示,例如,一个 Person 对象包含 name 和 address 对象,可以表示如下:
{"name":"Michael","address":
{"city":"Beijing","street":" Chaoyang Road ","postcode":100025}
}
上面介绍了如何用 JSON 表示数据,接下来,我们还要解决如何在服务器端生成 JSON 格式的数据以便发送到客户端,以及客户端如何使用 JavaScript 处理 JSON 格式的数据。
我们先讨论如何在 Web 页面中用 JavaScript 处理 JSON 数据。我们通过一个简单的 JavaScript 方法就能看到客户端如何将 JSON 数据表示给用户:
function handleJson() {
var j={"name":"Michael","address":
{"city":"Beijing","street":" Chaoyang Road ","postcode":100025}
};
document.write(j.name);
document.write(j.address.city);
}
假定服务器返回的 JSON 数据是上文的:
{"name":"Michael","address":
{"city":"Beijing","street":" Chaoyang Road ","postcode":100025}
}
只需将其赋值给一个 JavaScript 变量,就可以立刻使用该变量并更新页面中的信息了,相比 XML 需要从 DOM 中读取各种节点而言,JSON 的使用非常容易。我们需要做的仅仅是发送一个 Ajax 请求,然后将服务器返回的 JSON 数据赋值给一个变量即可。有许多 Ajax 框架早已包含了处理 JSON 数据的能力,例如 Prototype(一个流行的 JavaScript 库:http://prototypejs.org)提供了 evalJSON() 方法,能直接将服务器返回的 JSON 文本变成一个 JavaScript 变量:
new Ajax.Request("http://url", {
method: "get",
onSuccess: function(transport) {
var json = transport.responseText.evalJSON();
// TODO: document.write(json.xxx);
}
});
下面我们讨论如何在服务器端输出 JSON 格式的数据。以 Java 为例,我们将演示将一个 Java 对象编码为 JSON 格式的文本。
将 String 对象编码为 JSON 格式时,只需处理好特殊字符即可。另外,必须用 (") 而非 (') 表示字符串:
static String string2Json(String s) {
StringBuilder sb = new StringBuilder(s.length()+20);
sb.append('\"');
for (int i=0; i<s.length(); i++) {
char c = s.charAt(i);
switch (c) {
case '\"':
sb.append("\\\"");
break;
case '\\':
sb.append("\\\\");
break;
case '/':
sb.append("\\/");
break;
case '\b':
sb.append("\\b");
break;
case '\f':
sb.append("\\f");
break;
case '\n':
sb.append("\\n");
break;
case '\r':
sb.append("\\r");
break;
case '\t':
sb.append("\\t");
break;
default:
sb.append(c);
}
}
sb.append('\"');
return sb.toString();
}
将 Number 表示为 JSON 就容易得多,利用 Java 的多态,我们可以处理 Integer,Long,Float 等多种 Number 格式:
static String number2Json(Number number) {
return number.toString();
}
Boolean 类型也可以直接通过 toString() 方法得到 JSON 的表示:
static String boolean2Json(Boolean bool) {
return bool.toString();
}
要将数组编码为 JSON 格式,可以通过循环将每一个元素编码出来:
static String array2Json(Object[] array) {
if (array.length==0)
return "[]";
StringBuilder sb = new StringBuilder(array.length << 4);
sb.append('[');
for (Object o : array) {
sb.append(toJson(o));
sb.append(',');
}
// 将最后添加的 ',' 变为 ']':
sb.setCharAt(sb.length()-1, ']');
return sb.toString();
}
最后,我们需要将 Map<String, Object> 编码为 JSON 格式,因为 JavaScript 的 Object 实际上对应的是 Java 的 Map<String, Object> 。该方法如下:
static String map2Json(Map<String, Object> map) {
if (map.isEmpty())
return "{}";
StringBuilder sb = new StringBuilder(map.size() << 4);
sb.append('{');
Set<String> keys = map.keySet();
for (String key : keys) {
Object value = map.get(key);
sb.append('\"');
sb.append(key);
sb.append('\"');
sb.append(':');
sb.append(toJson(value));
sb.append(',');
}
// 将最后的 ',' 变为 '}':
sb.setCharAt(sb.length()-1, '}');
return sb.toString();
}
为了统一处理任意的 Java 对象,我们编写一个入口方法 toJson(Object),能够将任意的 Java 对象编码为 JSON 格式:
public static String toJson(Object o) {
if (o==null)
return "null";
if (o instanceof String)
return string2Json((String)o);
if (o instanceof Boolean)
return boolean2Json((Boolean)o);
if (o instanceof Number)
return number2Json((Number)o);
if (o instanceof Map)
return map2Json((Map<String, Object>)o);
if (o instanceof Object[])
return array2Json((Object[])o);
throw new RuntimeException("Unsupported type: " + o.getClass().getName());
}
我们并未对 Java 对象作严格的检查。不被支持的对象(例如 List)将直接抛出 RuntimeException 。此外,为了保证输出的 JSON 是有效的,Map<String, Object> 对象的 Key 也不能包含特殊字符。细心的读者可能还会发现循环引用的对象会引发无限递归,例如,精心构造一个循环引用的 Map,就可以检测到 StackOverflowException:
@Test(expected=StackOverflowError.class)
public void testRecurrsiveMap2Json() {
Map<String, Object> map = new HashMap<String, Object>();
map.put("key", map);
JsonUtil.map2Json(map);
}
好在服务器处理的 JSON 数据最终都应该转化为简单的 JavaScript 对象,因此,递归引用的可能性很小。
最后,通过 Servlet 或 MVC 框架输出 JSON 时,需要设置正确的 MIME 类型(application/json)和字符编码。假定服务器使用 UTF-8 编码,则可以使用以下代码输出编码后的 JSON 文本:
response.setContentType("application/json;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
PrintWriter pw = response.getWriter();
pw.write(JsonUtil.toJson(obj));
pw.flush();
JSON 已经是 JavaScript 标准的一部分。目前,主流的浏览器对 JSON 支持都非常完善。应用 JSON,我们可以从 XML 的解析中摆脱出来,对那些应用 Ajax 的 Web 2.0 网站来说,JSON 确实是目前最灵活的轻量级方案。
神同在搜索与神同在网址合并作为神同在网站主页
Godwithus神同在网站日志
网站的改进,说明,开发等。
