vOC@\	*.jsǉ邱Ƃŋ@\głVXe̐

dl͗\ύXɂȂꍇ悭܂B
ɏĂdl͐Ȃ\܂B




Tv
plugins\fBNg*.jst@CScrapBook.jsCuǂݍݎɓǂݍ܂B
evOC̊֘At@ĆAt@CƓÕTutH_ȉɒuƁB

vOCg@\Sʂ̐ɂẮAlibPluggable.txtQƁB



vOCXNvg̃gbvxł́AIuWFNg̊g
ϐ݂̏̂s悤ɂAԂ̂鏈͍TB

R}hłAł邾ȃt@C̓ǂݍ݂C^[lbg̏擾Ȃǂ̎Ԃ̂鏈͍sȂ悤ɂ邱ƁB




R}hg
y[W̕\eef[^x[X́AvOCǂݍݎɃR}hƂĒǉB

ScrapBook.addCommand('COMMANDNAME',function(params){
		//R}h{́B
		//Ă΂ƂthiśAScrapBook̃CX^XłB
	}
);

R}hScrapBook.prototypeCOMMANDNAME\bhƂĒǉB
R}hɂ͈nAlԂƂoB
̏nꍇ́Athis̃vpeBɊi[ĂAIuWFNgɂB

̃R}hꊇo^邱Ƃ\B
ScrapBook.addCommands({
	name1:function(p){
	},
	name2:function(p){
	}
});



R}htB^

eR}hɁutB^vƂĕʂ̃R}h蓖Ă邱ƂŁAR}h̎sOEsɎIɎs悤ɂȂB

ScrapBook.addInFilter(cName,fName,func)		sOtB^
ScrapBook.addFilter(cName,fName,func)	stB^
	cName	tB^蓖ĂΏۂ̃R}h
	fName	tB^R}h̃R}h
	func	tB^̖{̂ƂȂ֐


tB^R}hƓlɈAScrapBook.addInFilter('FILTERNAME',...
̂悤ɂătB^ɍXɃtB^蓖ĂB

OtB^́AR}h̎sOɎsAR}hɓnÖƂė^B
returnŒlԂƂŁÃtB^R}h{̂ɗ^ύXłB
tB^lԂȂꍇ́ÃtB^ɗ^ꂽ̂Ɠl̃tB^R}h{̂̈ƂĎgB

tB^́AR}h̎sɎsAR}hԂԂlƂė^B
returnŒlԂƂŁÃtB^̈AR}hŜ̕ԂlύXłB
tB^lԂȂꍇ́ÃtB^ɗ^ꂽ̂ƓlgB




tB^ER}ȟĂяo
tB^R}h́AScrapBook̃CX^XIuWFNg̃\bhƂČĂяoB

execute()
	NGɃR}hsAy[W̐Ȃǂs
execCommand(name [,param])
	nameŎw肳ꂽR}hƁAttB^sĕԂl𓾂
	R}hʂ̃R}hĂяoƂ́Aɂg
execFilters(name)
	nameɊ֘AÂꂽtB^sĕԂl𓾂




ScrapBook.user.jsĂяoR}h
ScrapBook.user.jsł́AScrapBook.html̃NG(u?vȍ~)ɉăR}hsAŌDrawR}hsB

NGɁuc=vŃR}hw肳ĂꍇAł̖ÕR}hsB

R}hw肳ĂȂꍇAid,sel,q̏Ƀp[^݂̑`FbNAŏɌp[^ɑΉR}hsB
ǂ̃p[^Ȃꍇ́ATopPageR}hsB
̃p[^ƃR}h́AScrapBook.addDefaultCommand()ŒǉłB



̃R}ḧɂ́ANG͂URL.QueryStringIuWFNg^B
Ⴆ΁AuScrapBook.html?c=Edit&id=11111111vƂURLJꂽꍇA
uEditvR}hĂ΂A
pƂƁAp.cŃR}hAc.idIDQƂłB


tH[Ăяoꂽꍇɂ́A
p.qɓ͂񂪊i[B
ʂthis.page.SubItemsɊi[邱ƁB
̑̃NG̎dl[html.txt]Q
p2=new URL.QueryString(p)qSQLNGɏāA
this.execCommand('SQLSearch',p2)s΁A͓KɉƂĂB

ʂĂяoꂽꍇɂ́A
p.selɑIڂIDzƂĊi[B
܂Ap.optionɃIvV͗̓ei[B

y[Wʕ\Ăяoꂽꍇɂ́A
p.idɂ̃y[WIDi[B

this.getTargetIDs(p)Ƃ邱ƂŁAidselŗ^ꂽIDzƂē邱ƂoB






WR}h
ȉ̃R}hAŗp邽߂ɗpӂĂB
̃R}hɂtB^蓖ĂēgłB

Init
	RXgN^Ă΂
	Kvȏ́ÃR}h̃tB^ƂĒǉB
Scrap
	XNbvǉ@\{́BAddScrap.jsĂ΂B
	PGetPageSaveĂяô
	aftertB^ŃbZ[W̕\s肷
GetPage
	y[W̓e擾B
	ԂĺAPageIuWFNgɒǉvpeBi[IuWFNgB
	Wł́Ay[WURLAy[W^CgAI͈͂̓e擾B
	aftertB^ł́A擾e̕ύXsB
	aftertB^ɂ́A擾y[Wi[IuWFNgnB
ScrapDialog
	XNbṽ_CAO\邽߂̃R}hB
	DialogIuWFNg
	ԂlDialogIuWFNgsho()\bh̕Ԃl
	̃R}hɃtB^ǉ邱ƂŁA_CAOɓ͍ڂǉłB
Save
	f[^x[Xւ̕ۑsB
	͕ۑPageIuWFNgB
	beforetB^ł́AẻHsB
	aftertB^ł́Ay[W{̈ȊÕf[^̕ۑȂǂsB
MakePage
	y[We\HTML̐sB
	PageIuWFNg
	ԂlHTML
MakeSubPage
	y[Wꊇ\p̃y[We\HTML𐶐B
	PageIuWFNg
	ԂlHTML
MakeList
	y[W̃TuACeɌʃXgHTML𐶐B
	PageIuWFNg
	Ԃl̓XgHTML̔zB(join('')ŕɕϊĎg)
MakeSearchNavi
	ʂ̃irQ[Vɕ\郊N𐶐
Draw
	y[W\B
	beforetB^ǉ邱ƂŁAy[W\OɊe풲sB
	aftertB^ł́Ay[WɕttH[Ȃǂ̕\sB


W\bh
ScrapBook̃CX^Xɂ́Aȉ̃\bhpӂĂB
vOCŃR}hǉꍇADrawR}h̑OtB^ȂǂŁA
̃\bh𗘗pāAy[WォR}hɃANZXł悤ɂĂB

addSearchCommand(cName,name)
	tH[ɃR}hǉ
	cNameR}hAname\
addPageCommand(cName,name)
	y[WẼtH[ɃR}hǉ
	cNameR}hAname\
addSidebar(title,html)
	TCho[ɃZNVǉ
	title͌oAhtml͓e
addMenu(link,title,description)
	TCho[̃j[ɃNǉ
	linkURLAtitle͕\Adescription̓c[`bv
	link̐擪uHvꍇANɂȂB
addNavigation(html)
	irQ[VHTMLǉ


y[Wg
y[WڂƂ̏`PageNXAScrapBookNXƓlɃR}hg\łB

XPageIuWFNgɑ΂čs֐́A
ȉ̂悤ɂPagẽR}hƂēo^B

Page.addCommand('KillAd',function(pattern){
	var adpattern=pattern||'.*ad.*|.*amazon.*';
	this.content=this.content.replace(new RegExp(/**/),'');
});

E\bh
add(initObj)
	VPageIuWFNg𐶐A
	gSubItemszvpeBɒǉĕԂB
	initObjɂ́A{Title:'aaa',Link:'...'}̂悤ɃvpeB񋓂łB
each(func[,param1,..])
	gSubItemszvpeB̊evfɑ΂AfuncŎw肳ꂽ֐s
	func֐ꍇAevfthisƂĂ̊֐Ă΂B
	̏ꍇA2ȍ~֐̈ƂȂB
	func񂾂ꍇAevfɑ΂execCommand(func,param1)sB
getText()
	Title||Link||'ID:'+IDԂB
	^CgȂǂƂĕ\镶𓾂ƂɎgB


ER}h
LoadFromSQL(obj)
	obj.IDŎw肳ꂽڂobj.sqliteŗ^ꂽf[^x[Xǂݍ݁A
	g̃vpeBɃZbgB
	ԂĺAǂݍ݂ɐǂ
SearchFromSQL(obj)
	obj.sqliteŗ^ꂽf[^x[XPagese[u
	obj.queryŗ^ꂽŌsA
	obj.fieldszŗ^ꂽtB[h𓾂āA
	gSubItemszvpeBɃZbg
	ԂĺAIuWFNgB
	ԂlsucceedvpeBɓǂݍ݂ɐǂi[B
SaveToSQL(sqlite)
	g̒lsqliteŗ^ꂽf[^x[XPagese[uɏ㏑ۑ













XNbv_CAOg

XNbvɕ\_CAÓAScrapDialogR}h̑OɃtB^ǉ邱ƂŁA͍ڂǉłB
DialogIuWFNg̏ڍׂ́AlibDialog.txtQƁB

OtB^ňDialogIuWFNgɍڂǉB

ScrapBook.addInFilter('ScrapDialog','ScrapTagForm',function(obj){
	obj.addText('^O(&T)','tags',this.page.Tags.join(' '));obj.br();
});

tB^ł́ADialog.show()̕Ԃln̂ŁA͂ꂽlɏsB
_CAOLZꂽꍇAtB^̈nullɂȂB
OtB^œ͍ڂǉĂĂAtB^̎sOɕʂ̃tB^ɂđΉvpeB폜Ăꍇ̂ŁAvpeBĂ삷悤ɂĂƁB

ScrapBook.addFilter('ScrapDialog','ScrapTagSet',function(obj){
	if(obj){
		this.page.execCommand('AddTag',URL.keywords(obj.tags||''));
	}
});




















ANeBuXNvg()
html\js\*.jst@CĂƁAy[Wɑ}B(悤ɂȂ邩)


vOCwb_()
vOCXNvg̐擪ɁAȉ̂悤ȃRgĂƁA
vOC}l[WvOCŕ\B(Ƃȁccj

/* vOC
uses=URL,File
require=KeywordSearch,Highlight
description=
*/



