このコミットが含まれているのは:
守矢諏訪子 2023-11-06 16:16:43 +09:00
コミット 7534554e7f
5個のファイルの変更49行の追加11行の削除

ファイルの表示

@ -1,3 +1,8 @@
# 2.0.1
* manページを修正
* 「-h」を修正
* エラーページを修正
# 2.0.0
* PHPからGo言語に交換しました

ファイルの表示

@ -1,4 +1,4 @@
NAME=spliti
NAME := $(shell cat main.go | grep "var sofname" | awk '{print $$4}' | sed "s/\"//g")
VERSION := $(shell cat main.go | grep "var version" | awk '{print $$4}' | sed "s/\"//g")
# Linux、Haiku、Illumos = /usr、FreeBSDとOpenBSD = /usr/local、NetBSD = /usr/pkg
PREFIX=/usr/local

14
main.go
ファイルの表示

@ -6,13 +6,14 @@ import (
"strconv"
)
var version = "2.0.0"
var sofname = "spliti"
var version = "2.0.1"
func help() {
fmt.Println("使い方:")
fmt.Println("spliti -v :バージョンを表示")
fmt.Println("spliti -s [ポート番号] ポート番号でウエブサーバーを実行(デフォルト9930)")
fmt.Println("spliti -h :ヘルプを表示")
fmt.Println(sofname + " -v :バージョンを表示")
fmt.Println(sofname + " -s [ポート番号] ポート番号でウエブサーバーを実行(デフォルト9930)")
fmt.Println(sofname + " -h :ヘルプを表示")
}
func main() {
@ -34,9 +35,12 @@ func main() {
}
} else if len(args) == 2 {
if args[1] == "-v" {
fmt.Println("spliti-" + version)
fmt.Println(sofname + "-" + version)
} else if args[1] == "-s" {
serv(cnf, 9930)
} else {
help()
return
}
} else {
help()

35
page.go
ファイルの表示

@ -128,6 +128,27 @@ func rmcbloat(body string, cnf Config) string {
return "<div class=\"newsArticle\">" + body + "</div>"
}
/* エラーだけが残るまで消す */
func rmebloat(body string, cnf Config) string {
var re *regexp.Regexp
rep := []struct {
pat string
repl string
}{
{`(?s)<!DOCTYPE html>.*?<p class="messageAlert">`, ""},
{`(?s)</p>.*?</html>`, ""},
}
for _, r := range rep {
re = regexp.MustCompile(r.pat)
body = re.ReplaceAllString(body, r.repl)
}
body = strings.TrimSpace("<div class=\"newsArticle\">\n" + strings.TrimSpace(body)) + "\n </div>\n"
return body
}
/* 記事だけが残るまで消す */
func rmbloat(body string, cnf Config) string {
var re *regexp.Regexp
@ -210,10 +231,18 @@ func get(url string, cnf Config) map[string]string {
res["title"] = gettitle(body)
if isarticle(url) {
res["img"] = getimg(body, cnf)
res["content"] = rmbloat(body, cnf)
if !strings.Contains(body, "newsArticle") {
res["content"] = rmebloat(body, cnf)
} else {
res["img"] = getimg(body, cnf)
res["content"] = rmbloat(body, cnf)
}
} else {
res["content"] = rmcbloat(body, cnf)
if !strings.Contains(body, "注目のニュース") {
res["content"] = rmebloat(body, cnf)
} else {
res["content"] = rmcbloat(body, cnf)
}
}
res["desc"] = getdesc(res["content"])
}

ファイルの表示

@ -6,13 +6,13 @@ mixi向けプライバシーUI。
[\fI\,オプション\/\fR] [\fI\,ポート番号\/\fR]
.SH 説明
.PP
URLロリはクッソ小さいURL短縮作成ソフトです。
splitiはmixi向けプライバシーUIです。
.TP
\fB\-v\fR
バージョンを表示
.TP
\fB\-s [ポート番号]\fR
ポート番号でサーバーを開始(デフォルト9910)
ポート番号でサーバーを開始(デフォルト9930)
.TP
\fB\-h\fR
ヘルプを表示