소스 검색

added builder and minified version

Signed-off-by: Gerald <gera2ld@163.com>
Gerald 10 년 전
부모
커밋
296faebd88
6개의 변경된 파일25개의 추가작업 그리고 19개의 파일을 삭제
  1. 2 1
      .gitignore
  2. 4 3
      README.md
  3. 1 0
      dist/duoshuo-ua.min.js
  4. 0 0
      src/duoshuo-ua.css
  5. 15 10
      duoshuo-ua.js
  6. 3 5
      test.example.html

+ 2 - 1
.gitignore

@@ -1 +1,2 @@
-test.html
+test/test.html
+node_modules/

+ 4 - 3
README.md

@@ -14,13 +14,12 @@ duoshuoQuery中可以定义`myId`和`getUAString`函数:
 ``` HTML
 <html>
 <head>
-<link rel=stylesheet type=text/css href=duoshuo-ua.css />
 
 <!-- 第1部分:必须写在后2部分的前面 -->
 <script>var duoshuoQuery={short_name:'test',myId:1234567};</script>
 
-<!-- 第2部分:加载duoshuo-ua.js -->
-<script src=duoshuo-ua.js></script>
+<!-- 第2部分:加载duoshuo-ua.min.js -->
+<script src=dist/duoshuo-ua.min.js></script>
 
 <!-- 第3部分:也可写成异步加载,请写在第2部分后面 -->
 <script src=http://static.duoshuo.com/embed.js></script>
@@ -33,6 +32,8 @@ duoshuoQuery中可以定义`myId`和`getUAString`函数:
 </html>
 ```
 
+注:dist/duoshuo-ua.min.js是压缩后的代码,集成了CSS,无需单独加载CSS文件,如需自定义,请使用未压缩版本。
+
 效果可参见:<http://geraldl.net/about>
 
 如果要求更高一点可以使用<https://github.com/faisalman/ua-parser-js>来进行UA解析。

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
dist/duoshuo-ua.min.js


duoshuo-ua.css → src/duoshuo-ua.css


+ 15 - 10
duoshuo-ua.js

@@ -95,6 +95,12 @@
 		r=getRule(a,rules_br);if(r[0]) {result.br=r[0];result.br_cls=r[1];}
 		return result;
 	}
+	function getUAString(local){
+		var a=local.agent;
+		return '<div class="ds-os ds-os-'+a.os_cls+'">'+a.os+'</div>'+
+			'<div class="ds-br ds-br-'+a.br_cls+'">'+a.br+'</div>'+
+			(local.webmaster?'<div class=ds-webmaster>天下第一帅的站长</div>':'');
+	}
 	function callBefore(local,args){
 		var e=args[0];
 		if(args.length==1)	// embed.unstable.js
@@ -105,17 +111,11 @@
 	function callAfter(local,args){
 		var r=local.result,a=local.agent,
 				i=r.indexOf('<div class="ds-comment-header">'),
-				j=r.indexOf('</div>',i);
-		local.result=r.slice(0,j)+getUAString(local)+r.slice(j);
+				j=r.indexOf('</div>',i),
+				func=duoshuoQuery.getUAString||getUAString;
+		local.result=r.slice(0,j)+func(local)+r.slice(j);
 	}
-	var getUAString=duoshuoQuery.getUAString||function(local){
-		var a=local.agent;
-		return '<div class="ds-os ds-os-'+a.os_cls+'">'+a.os+'</div>'+
-			'<div class="ds-br ds-br-'+a.br_cls+'">'+a.br+'</div>'+
-			(local.webmaster?'<div class=ds-webmaster>天下第一帅的站长</div>':'');
-	},ondomready=duoshuoQuery.ondomready;
-	duoshuoQuery.ondomready=function(){
-		if(ondomready) ondomready();
+	function init(){
 		var post=DUOSHUO.templates.post;
 		DUOSHUO.templates.post=function(){
 			var local={},args=arguments;
@@ -124,5 +124,10 @@
 			callAfter.call(this,local,args);
 			return local.result;
 		}
+	}
+	var ondomready=duoshuoQuery.ondomready;
+	duoshuoQuery.ondomready=function(){
+		if(ondomready) ondomready();
+		init();
 	};
 }();

+ 3 - 5
test.example.html

@@ -3,13 +3,11 @@
 	<head>
 		<meta charset=utf-8 />
 		<title>Test DUOSHUO</title>
-		<link rel=stylesheet type=text/css href=duoshuo-ua.css />
+		<script>var duoshuoQuery={short_name:'your_short_name',myId:1234567};</script>
+		<script src=../dist/duoshuo-ua.min.js></script>
+		<script src=http://static.duoshuo.com/embed.unstable.js></script>
 	</head>
 	<body>
-		<script>var duoshuoQuery={short_name:'your_short_name'};</script>
 		<div class=ds-thread data-thread-key="your_key"></div>
-		<script src=http://static.duoshuo.com/embed.unstable.js></script>
-		<script src=duoshuo-ua.js></script>
-		<script>duoshuoQuery.ondomready=duoshuoQuery.pluginUA(1234567);</script>
 	</body>
 </html>