<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}

h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}

.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}

.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}

.tabSelected {color:[[ColorPalette::PrimaryDark]];
	border-left:1px solid [[ColorPalette::TertiaryLight]];
	border-top:1px solid [[ColorPalette::TertiaryLight]];
	border-right:1px solid [[ColorPalette::TertiaryLight]];
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}

#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}

.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
	border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
	border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
	border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}

.wizard .notChanged {background:transparent;}
.wizard .changedLocally {background:#80ff80;}
.wizard .changedServer {background:#8080ff;}
.wizard .changedBoth {background:#ff8080;}
.wizard .notFound {background:#ffff80;}
.wizard .putToServer {background:#ff80ff;}
.wizard .gotFromServer {background:#80ffff;}

#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}

.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}

.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}

.tiddler .defaultCommand {font-weight:bold;}

.shadow .title {color:[[ColorPalette::TertiaryDark]];}

.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}

.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}

.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}

.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}

.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}

.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}

.imageLink, #displayArea .imageLink {background:transparent;}

.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}

.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}

.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}

.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}

.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}

.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}
.readOnly {background:[[ColorPalette::TertiaryPale]];}

#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:alpha(opacity=60);}
* html .tiddler {height:1%;}

body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}

h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}

.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}

/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}

#mainMenu .tiddlyLinkExisting,
	#mainMenu .tiddlyLinkNonExisting,
	#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}

.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0; top:0;}

.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}

#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}

#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 0.3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}

.wizard {padding:0.1em 1em 0 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0 0; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0;}
.wizardFooter .status {padding:0 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em;}

#messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em;}
#messageArea a {text-decoration:underline;}

.tiddlerPopupButton {padding:0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em; margin:0;}

.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}

.tabset {padding:1em 0 0 0.5em;}
.tab {margin:0 0 0 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}

#contentWrapper {display:block;}
#splashScreen {display:none;}

#displayArea {margin:1em 17em 0 14em;}

.toolbar {text-align:right; font-size:.9em;}

.tiddler {padding:1em 1em 0;}

.missing .viewer,.missing .title {font-style:italic;}

.title {font-size:1.6em; font-weight:bold;}

.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}

.tiddler .button {padding:0.2em 0.4em;}

.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}

.footer {font-size:.9em;}
.footer li {display:inline;}

.annotation {padding:0.5em; margin:0.5em;}

* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0 0.25em; padding:0 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}

.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0 3px 0 3px;}

.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}

.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0; font-size:.9em;}
.editorFooter .button {padding-top:0; padding-bottom:0;}

.fieldsetFix {border:0; padding:0; margin:1px 0px;}

.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}

* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}
#backstageButton a {padding:0.1em 0.4em; margin:0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox where print preview displays the noscript content */
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser

Your username for signing your edits. Write it as a [[WikiWord]] (eg [[JoeBloggs]])

<<option txtUserName>>
<<option chkSaveBackups>> [[SaveBackups]]
<<option chkAutoSave>> [[AutoSave]]
<<option chkRegExpSearch>> [[RegExpSearch]]
<<option chkCaseSensitiveSearch>> [[CaseSensitiveSearch]]
<<option chkAnimate>> [[EnableAnimations]]

Also see [[AdvancedOptions]]

# Em mídia social, alguém perguntou: "Se você tivesse que escolher uma image para representar sua família, qual seria?" ([[link|http://www.votable.com/p/U9T]])
# O Senhor Deus tem uma família (a igreja) e ele escolheu uma image para representá-la: seu Filho Jesus.
# A imagem dessa família é a do amor.
# ''PROPÓSITO:'' Deus nos purifica para vivermos em família.
#* 1Pe 1.22: "Agora que vocês purificaram a sua vida pela obediência à verdade, visando ao amor fraternal e sincero, amem sinceramente uns aos outros e de todo o coração".
#*# A purificação vem pela ''obediência''.
#*# Obedecemos à ''verdade'', a mensagem verdadeira de Cristo, que hoje é o NT.
#*# O amor tem de ser "sincero", "intensamente" (NAA; "ardentemente" NBV).
# ''PRIORIDADE:'' Os irmãos merecem consideração especial.
#* Gl 6.10: "Portanto, enquanto temos oportunidade, façamos o bem a todos, especialmente aos da família da fé".
#* A família espiritual tem prioridade sobre a família física, especialmente quando esta procura impedir a dedicação à primeira. Mc 3.31-''35'': "Quem faz a vontade de Deus, este é meu irmão, minha irmã e minha mãe".
#* No mundo, objetos de valor, como o relógio Rolex, são frequentemente copiados e falsificados. O mesmo ocorre no âmbito espiritual.
#* Temos de saber, entre tantos grupos religiosos, qual é esta família da fé, o que é a igreja de Deus, conforme o Senhor define. 
#* Só vamos conseguir identificar a igreja verdadeira e única quando usamos a Bíblia para descobrir o modelo de Deus.
#* Entre suas características, são essas:
#*# Ela é identificada pelo novo nascimento, Jo 3.3, 5.
#*# Ela é identificada pelo amor mútuo, Jo 13.35.
#*# Elia é identificada pela unidade, Ef 4.4-6.
!! Introdução

# Agostinho disse: "Ame a Deus e faça como quiser". Alguns entendem sua frase no sentido de fazer o que lhe agrada independente da vontade de Deus.
#* Afinal, pensam muitos, Deus é Pai de todos nós e vai nos salvar independente do que fazemos.
# Todos falam bem do amor, mas poucos sabem o que é na realidade.

!! Pontos


# EVIDÊNCIA: Como podemos saber que Deus nos ama?
#* Ele nos criou, deu-nos vida, dá-nos oportunidade de conhecê-lo.
#* Ele enviou seu Filho, Jo 3.16: "Porque Deus tanto amou o mundo que deu o seu Filho Unigênito, para que todo o que nele crer não pereça, mas tenha a vida eterna".
# PRECEDÊNCIA: Ele nos amou primeiro, 1Jo 4.19: "Nós amamos porque ele nos amou primeiro".
# OBEDIÊNCIA: Quem ama a Deus o obedece.
#* Devemos amá-lo com todo o nosso ser, Mc 12.30.
#* Devemos amá-lo pela obediência, Jo 14.15, 21, 23.
This is for Part I, Chapter 9: "The Bible as Power." Unfinished, but posted here as a sample to give an idea of approach and style.



//God said, “Let there be light.” And there was light!// Genesis 1.3.

The Bible is God's word. In it, God speaks to man. Originally, for the most part, it was a spoken word. Then he caused it to be written down.

Whether spoken or written, God's word is the same and contains the same truth and power.

God's power is infinite. He is omnipotent. His power is exercised and displayed in his word.

> Just as the rain and the snow come down from the sky and don’t return there without watering the earth, making it conceive and yield plants  and providing seed to the sower and food to the eater, so is my word that comes from my mouth; it does not return to me empty. Instead, it does what I want, and accomplishes what I intend, Isaiah 55.10-11 CEB.

God created all things by speaking. "By faith we understand that the worlds were set in order at God’s command, so that the visible has its origin in the invisible" Hebrews 11.3.  To create something by speaking a word is almost beyond human comprehension.

God's word is often associated with power, for power is an essential element of his word. "For the kingdom of God does not consist in [mere] words but in power" 1 Corinthians 4.20 NASB. God's word carries power with it. Paul spoke of himself and his companions as servants of God who worked "in the word of truth, in the power of God" 2 Corinthians 6.7. Converts have "tasted the good word of God and the powers of the age to come" Hebrews 6.7.

Jesus is God, and as God he also wields the power of the divine word. He "sustains all things by his powerful word" Hebrews 1.3.

By means of the written word of God, he also creates something impossible for man to produce: a new life, a new creation, a new transformation of any person willing to submit himself.

No Other Book

Only the Bible is God's word. Therefore, only the Bible contains the power of God to save and to transform a person into a new creation. The Bible bears all the marks of a supernatural origin. It is consistent, free of error, demonstrates a unity in all its parts, even though it was written by about 40 men over a period of thousands of years.

God caused the Bible to be written, preserved, and translated. We may not see the details of how he did this, but he used many people—even those who don't serve him faithfully—in many places to bring the Bible to the world.

No other book has been printed, shared, translated, and distributed as much as the Bible.

The Holy Spirit and Power

The Holy Spirit is often connected with the power of God's word, 1 Corinthians 2.4; 1 Thessalonians 1.5. He is called the Spirit of truth because he revealed the truth to humanity, specifically, to the apostles and prophets who wrote the Bible.

The Holy Spirit performed miracles through the Lord Jesus and through the apostles and others in the church of the first century. But his greatest exercise of power comes through the proclamation of the Good News of Jesus Christ.  His power is evident in the Bible because he inspired its writing. When the Bible is read and taught, his power is present.

Power to Save

The Good News is God's power to save, Romans 1.16. That Good News, first preached by the apostles, has now been recorded in the New Testament. The written word continues to have the same power to save as God's spoken word.

Paul told Timothy that the "holy writings ... are able to give you wisdom for salvation through faith in Christ Jesus" 2 Timothy 3.15. The word "able" means to be capable or to have the power to accomplish something.

James wrote something similar. "Therefore, with humility, set aside all moral filth and the growth of wickedness, and welcome the word planted deep inside you—the very word that is able to save you" James 1.21 CEB.

In order for God's word to save, it must be implanted deep inside a person. It must be received and cultivated. It must be well known and guarded in the heart. It must be practiced as well, Matthew 7.21, 

God's word grows in power when people respond with faith and repentance. "In this way the word of the Lord continued to grow in power and to prevail" Acts 19.20. This verse is a summary of the impact of God's word in the lives of people who receive it. Here, the word of God is almost synonymous with the growth of the church. It represents the addition of converts to God's family. The writer points to the cause of the growth as being the word of God. He sees the success of the Good News. God's word has power to save people.

Power to Transform

The Holy Spirit uses God's word to make us holy. Paul wrote that God's word "is at work among you who believe" 1 Thessalonians 2.13.

The Bible gives power to resist temptation. This is exactly what Jesus did. When tempted, he responded each time by citing a passage of Scripture, Matthew 4.1-11.

The Bible makes one capable to teach. "Every scripture is inspired by God and useful for teaching, for reproof, for correction, and for training in righteousness, that the person dedicated to God may be capable and equipped for every good work" 2 Timothy 3.16-17. Because it comes from God, Scripture empowers one to teach and equips one for good works.

Power in Judgment

Those who reject the Bible's saving and transforming power will still feel its power, but in judgment. Those who disobey God will be the objects of his word. His word will penetrate and judge.

>Thus we must make every effort to enter that rest, so that no one may fall by following the same pattern of disobedience. For the word of God is living and active and sharper than any double-edged sword, piercing even to the point of dividing soul from spirit, and joints from marrow; it is able to judge the desires and thoughts of the heart. And no creature is hidden from God, but everything is naked and exposed to the eyes of him to whom we must render an account" Hebrews 4.11-13.

On the last day, the day of final judgment, all people will appear before God. They will be judged by God for what they did while on earth, for good or bad. People who do not follow Jesus will be condemned. Those who followed Jesus faithfully will be saved.

The word of God will serve the function of judge. (See also John 14.28.) No one can hide his deeds from God. God's word is compared to a double-edged sword. Such a sword is sharp and penetrating. Nothing can keep it from entering deep into a human body. In the same way, God's word will reveal everything a person thinks, desires, plans, and decides.

Speak God's Words

Because the power to save and to transform are in God's word, the Bible, Christians must not speak their own words when teaching others about the Good News, but God's. "Whoever speaks, let it be with God’s words" 1 Peter 4.11.

The people of God do not proclaim human wisdom or philosophy. "For the message [literally, word] about the cross is foolishness to those who are perishing, but to us who are being saved it is the power of God" 1 Corinthians 1.18. The content of the Good News is the crucifixion (death) of Christ. It is this message or word that saves. So God's people must take care not to change his word in any way.

Now or Later

We have the opportunity to be saved and transformed today by the Bible. If we refuse it now, we will feel that same power at judgment, except it will be used for our eternal destruction. We may accept this power today by our own free will, or we will experience it in judgment, helpless to resist.

Let us receive and obey God's word, study the Bible diligently, and open our lives so that God may save and transform us. He then may also use us to bring that same salvation and transformation to many others.

!! I. Their Word, the Bible
# The God who Speaks - Lee Parish RECEIVED
# The Message of the Bible: Human Problem and Divine Solution - Ed Mathews RECEIVED
# All Scripture Is Inspired by God - Jon Galloway
# How We Got the Bible - Weylan Deaver RECEIVED
# God's Word Is Pure and Trustworthy - Carlos Prazeres
# The Canon of the Bible - Stephen Lord
# Where the Bible Speaks - Kevin Moore RECEIVED
# [[The Bible as Power|BibleAsPowerPOG]] - J. Randal Matheny
# The OT, Written for our Learning - 
# The New Testament as Our Covenant - Eddie Parrish RECEIVED

!! II. Their Way of Love
# God Is Love, 1 Jn 4.8, 16 - Joel Stephen Williams RECEIVED
# The Greatest Commandments - Owen Olbricht RECEIVED
# The Better Way, 1 Cor 13
# The One Way of Christ, Jn 14.6
# The Love for God's Family, 1Pt 1.22
# Caring for One Another - Lance Mosher RECEIVED
# The Sacrifice of Love, Jn 3.16.
# Be Perfect, as God Is Perfect, Mt 5.43-48
# Love for God's Word, Psa 119.140 - Jon Galloway
# Love as Mission, to Save a Lost World - Michael Brooks

!! III. Their Walk, in Imitation of Christ
# Be Holy, for I Am Holy - Jon Galloway
# The Christ of the Four Gospels
# In Christ, Where It All Happens
# The Humility of Christ, Jn 13, Php 2
# Powerful Deeds and Words, Lk 24.19 
# Walking by the Spirit
# One in Christ Jesus, Gal 3.26-28 [Equality]
# Many Gifts for One Goal [Diversity of gifts for unity of the body] - Oran Burt RECEIVED
# The Hope: To Be As He Is, 1 Jn 3.1-3
# Walking in the Light - Al Parr RECEIVED

!! IV. Their Worship of God
# The God who Is Worthy
# Church as Meeting
# The Day of the Lord
# Meeting for Praise and Edification
# Prayers of the Saints - Michael Summers
# Songs of the Joyful - Jon Galloway
# Offerings of the Blessed
# The Table of the Lord - Gary Hampton RECEIVED
# Words of Exhortation [Preaching and teaching]
# Personal Worship

!! V. Their Work of Reconciliation
# The God who Seeks, Saves and Sends
# Eternal Life, the Goal of Saving Souls
# God in Christ Reconciling the World, 2 Cor 5.19
# Unity in Christ, Eph 4 - Jon Galloway
# Essential Attitudes for Reconciliation
# Faith and Faithfulness
# Repentance of Sin
# The Great Confession
# The New Birth, Jn 3 (Baptism)
# Glorifying God, Mt 5.16, 1 Pet 2.12, Rm 15.5-9

!! VI. The Will of God
# God's Will: Good, Well-Pleasing, and Perfect
# Obedience in Light of Christ's Second Coming
LoRan PeopleOfGod

* Written especially for evangelism, targeting the interested non-Christian, providing an overview of God's eternal plan, with a focus upon his people as the present expression of his kingdom upon the earth.
* All chapters are ''positive exposition'' of Bible teaching. Refutation or mention of false doctrine should not dominate the approach.
* Faithful writers for each chapter.
* Maximum of 1500 words per chapter. Neither should chapters be much below the limit.
* Use the [[NET Bible|https://www.biblegateway.com/versions/New-English-Translation-NET-Bible/]] (home: [[NetBible.org|http://netbible.org]]) for citations; no abbreviation is needed to note its use. If any others are cited, include the version abbreviation after each reference.
** Please write out in full the books of the Bible.
* No footnotes or endnotes. Any citations of books or articles, which ought to be few, should be done in the text.
* Style: Be simple. Prefer short sentences. Many people will not be native English speakers. Also, many English speakers have a poor command of language and poor reading skills. See Strunk and White, //Elements of Style//.
* The conclusion to each chapter should, where appropriate, include a call to action based upon the content of that chapter.
* Deadline: We'd like to have this all done by the end of 2017. So deadline is to give it a certain priority.
* Please send your contributions to the editor as html email text. Just paste your text inside the email. Please do not send as an attachment, and especially not as a .doc/x or pdf file.
* Somewhere we'll include bio info on contributors. Please send a 50-word bio at some point to the editor.
Loran is the abbreviation for "long-range navigation." I hope I have in Scripture the Spirit's navigation for the long range of eternity.

|''Name:''|LoadRemoteFileThroughProxy (previous LoadRemoteFileHijack)|
|''Description:''|When the TiddlyWiki file is located on the web (view over http) the content of [[SiteProxy]] tiddler is added in front of the file url. If [[SiteProxy]] does not exist "/proxy/" is added. |
|''Date:''|mar 17, 2007|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
version.extensions.LoadRemoteFileThroughProxy = {
 major: 1, minor: 1, revision: 0, 
 date: new Date("mar 17, 2007"), 
 source: "http://tiddlywiki.bidix.info/#LoadRemoteFileThroughProxy"};

if (!window.bidix) window.bidix = {}; // bidix namespace
if (!bidix.core) bidix.core = {};

bidix.core.loadRemoteFile = loadRemoteFile;
loadRemoteFile = function(url,callback,params)
 if ((document.location.toString().substr(0,4) == "http") && (url.substr(0,4) == "http")){ 
 url = store.getTiddlerText("SiteProxy", "/proxy/") + url;
 return bidix.core.loadRemoteFile(url,callback,params);
A palavra "Cristão" ocorre três vezes no NT e cada ocorrência oferece muito contexto para entender melhor seu significado.

!! I. Povo, At 11.26.
# A primeira ocorrência da palavra cristão se encontra no plural.
# A palavra é aplicada aos discípulos de Cristo. Significa seguir Jesus.
# FUTURA MENSAGEM: Por que neste momento e neste local o nome de cristão é dado nesta congregação?

!! II. Persuasão, At 26.28.
# A segunda ocorrência da palavra cristão se encontra também no livro de Atos.
## Atos é o livro do crescimento númerico da igreja e do desenvolvimento da vida em Cristo.
## Ser cristão significa estar em movimento, viver uma dinâmica espiritual.
# Não nascemos como cristãos, mas nos tornamos cristãos.
# O processo de tornar-se cristão ocorre após ouvir e ficar convencido da verdade da mensagem.
# Nem todos os que ouvem a mensagem de Cristo se tornam cristãos. É um momento de decisão.
# O que é necessário para eu ficar persuadido, convencido, a ponto de tomar a decisão?
# [[FUTURA MENSAGEM|CristãoPersuasão]]: Qual o tempo necessário para alguém se tornar cristão?

!! III. Perseguição, 1Pe 4.16.
# É a mesma coisa ser insultado "por causa do nome de Cristo" 14 e sofrer "como cristão" 16, porque o nome do cristão remete ao nome de Cristo.
# Sofrer pela fé não é motivo de desistência, mas sim de glorificar a Deus.
# Somente quem participa dos sofrimentos de Cristo participará da sua glória.
# Deus abençoa quem suporta a perseguição.
# A resposta certa à perseguição: confiar em Deus, 19.
# [[FUTURA MENSAGEM|CristãoPerseguição]]: Qual é a dificuldade da salvação? 17-18.
|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Date:''|Apr 19, 2007|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
version.extensions.PasswordOptionPlugin = {
	major: 1, minor: 0, revision: 2, 
	date: new Date("Apr 19, 2007"),
	source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
	coreVersion: '2.2.0 (Beta 5)'

config.macros.option.passwordCheckboxLabel = "Save this password on this computer";
config.macros.option.passwordInputType = "password"; // password | text
setStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");

merge(config.macros.option.types, {
	'pas': {
		elementType: "input",
		valueField: "value",
		eventName: "onkeyup",
		className: "pasOptionInput",
		typeValue: config.macros.option.passwordInputType,
		create: function(place,type,opt,className,desc) {
			// password field
			// checkbox linked with this password "save this password on this computer"
			// text savePasswordCheckboxLabel
		onChange: config.macros.option.genericOnChange

merge(config.optionHandlers['chk'], {
	get: function(name) {
		// is there an option linked with this chk ?
		var opt = name.substr(3);
		if (config.options[opt]) 
		return config.options[name] ? "true" : "false";

merge(config.optionHandlers, {
	'pas': {
 		get: function(name) {
			if (config.options["chk"+name]) {
				return encodeCookie(config.options[name].toString());
			} else {
				return "";
		set: function(name,value) {config.options[name] = decodeCookie(value);}

// need to reload options to load passwordOptions

if (!config.options['pasPassword'])
	config.options['pasPassword'] = '';

		pasPassword: "Test password"
A collaborative book project about God's people, designed to introduce outsiders, especially, to the kingdom of God as expressed today in his spiritual family.

* ChaptersPOG
* GuidelinesPOG
* [[Sample chapter|BibleAsPowerPOG]]

# Eu amo Jesus. E por isso amo a palavra de Jesus. Amo a verdade de Jesus, pois ele é "o caminho, a verdade e a vida" Jo 14.6.
# "O amor não se alegra com a injustiça, mas se alegra com a verdade" 1Co 13.6.
# "... Cristo se tornou servo dos que são da circuncisão, ''por amor à verdade de Deus'', para confirmar as promessas feitas aos patriarcas", Rm 15.8.
# O amor e a verdade não são incompatíveis: "Antes, seguindo a verdade em amor, cresçamos em tudo naquele que é a cabeça, Cristo" Ef 4.15.
# 2Ts 2.10: "(...) rejeitaram o amor à verdade que os poderia salvar".

!Fique dentro da palavra de Deus

* Pv 30.5-6 e contexto.
** Humildade, 1-4, 7-14. 
***Ver Rm 11.25a: "Irmãos, não quero que ignorem este mistério, para que não se tornem presunçosos (...)".
** Paulo chamou os coríntios de arrogantes, 1Co 4.18-19, por mudarem as ordens que ele dava para todas as igrejas.
* Levítico 9.1—10.3 — Como fazer e como não fazer.
* Moisés e a rocha.
** Na primeira vez, Deus o mandou bater na rocha, Êx 17.6.
** Na segunda, Deus o mandou falar à rocha, Nm 20.6-12.

Princípios básicos para cantar na igreja de Deus (sem instrumento).

!!! ''1. Forma de doutrina''

# Rom 6.17: Obedecer à "forma de ensino que foi transmitida" é a chave de não ser mais escravos do pecado.
# Existe um padrão a ser seguido no NT para a adoração, a piedade e a obra da igreja: "Retenha, com fé e amor em Cristo Jesus, o modelo da sã doutrina que você ouviu de mim" 2Tm 1.13.
#* A mesma coisa foi ensinada em toda as igrejas, 1Co 4.17; 7.17; 11.16; 14.33-34.
#* "Uma só fé" Ef 4.5, parte das sete verdades que servem como a base da unidade em Cristo. Se não acertarmos estas, não há possibilidade da unidade.
# "(...) ouviram e entenderam a graça de Deus em toda a sua verdade" Col 1.6.
# Manter a sã doutrina significa não se associar com aqueles que promovem o erro, 1Co 15.33-34; 2Jo 9-11; Tt 1.10-11.
# Pela pregação da palavra e pela reação dos que não a aceitam, os que rejeitam a verdade se revelarão, 2Tm 1-4.

!!! ''2. Diferença das alianças''

# Quem quer adotar o instrumento de música na adoração acaba recorrendo ao AT.
# As práticas do AT não podem ser trazidas direto na nova aliança: local do templo, sacerdócio araônico, lei de Moisés, observação do sábado, sacrifício de animais, circuncisão, etc.
# Adotar uma prática da antiga aliança mosaica se obriga a pessoa a praticar toda ela, Gl 5.1-4.
# "Jesus declarou 'puros' todos os alimentos", Mc 7.14-19.
# No NT não há nenhum mandamento, nenhum exemplo, nenhuma menção do uso de instrumentos de música na adoração da igreja.

!!! ''3. Natureza da autoridade''

# Específica
#* Hebreus 7.11-16 - Sobre a tribo de Judá, "Moisés nada fala quanto a sacerdócio". Conclusão: Então Jesus não podia ser, conforme a lei de Moisés, sacerdócio!
# Falamos quando a Bíblia fala, e quando ela não fala, ficamos em silênio. Tradução: não vamos além do que está escrito, 1Co 4.6.
# Deus 4.1-2
# Ap 22.18-19
# O argumento: é permitido o que a Bíblia não proíbe. Assim se pode justificar tudo.
#* Os católicos justificam assim a veneração de Maria.

!!! ''4. A questão principal: Jesus é Senhor''

# Devemos confessar Jesus como Senhor: "toda língua confesse que Jesus Cristo é o Senhor, para a glória de Deus Pai" Fp 2.11.
# Mt 7.21. Isso significa fazer a vontade do Pai.
# 2 Pedro o chama de "nosso Senhor e Salvador Jesus Cristo", uma vez em cada dos três capítulos. Para ele ser Salvador, tem de ser primeiro Senhor. Quer dizer: Temos que obedecê-lo para sermos salvos, Heb 5.9; Jo 12.50.
# Se confessamos ele como Senhor, há coisas que temos de fazer, 2Tm 2.19: "(...) afaste-se da iniqüidade todo aquele que confessa o nome do Senhor".

!!! ''5. Quando adota ou aprova o instrumento''

# ... compromete a autoridade bíblica específica e assim abre a porta para todo tipo de inovação e prática estranha às Escrituras.
# ... não existe mais nada que nos distingue das denominações.
# ... não agimos mais pela fé, pois ela se baseia na palavra de Cristo, Rm 10.17: "Conseqüentemente, a fé vem por se ouvir a mensagem, e a mensagem é ouvida mediante a palavra de Cristo".
## "(...) tudo o que não provém da fé é pecado" Rm 14.23.
## "Sem fé é impossível agradar a Deus" Heb 11.6.

* Cânticos baseados nesse salmo: 63, 21 (no hinário //Melodia do coração//)

!! Introdução

# Já esteve numa conversa quando a outra pessoa falava de um assunto, e mudou de repente para falar de outro? Como se sentiu nesse momento?
# Salmo 19 parece ter dois assuntos diferentes. Parece que muda de repente de assunto. Mas veremos que existe uma conexão muito forte entre os dois.
# Leiamos o salmo na NVI.

!! Perguntas para reflexão

# O salmo tem dois assuntos principais. Quais são? [A criação e a palavra de Deus.]
# Em que os dois assuntos diferem? [A criação proclama sem palavras; a palavra do Senhor as tem.]
# O que une os dois assuntos no salmo? [As duas são revelações de Deus.]
# O que a lei/palavra de Deus faz que a criação não é capaz de fazer? 11 [Informar-nos sobre o plano de Deus e revelar como ser recompensado por Deus.]
# Quantas vezes, e onde, a palavra "Deus" ocorre no salmo? 1 [Uma só.]
# Quantas vezes, e onde, a palavra "Senhor" ocorre no salmo? [Sete.]
# Se "Deus" aparece somente no primeiro assunto, e "Senhor" [Jeová, Iahweh=Eu-Sou] somente no segundo, o que isso quer dizer? [O nome Eu-Sou é o nome da aliança. A palavra de Deus nos coloca em relacionamento com Deus. A criação não pode fazer isso.]
# A lei/palavra de Deus é coisa positiva ou negativa? Por quê? 10 [Positiva. Muita agradável, pelo benefício que traz à alma.]
# Depois de qual dos assuntos há oração a Deus? 12-13 [O da palavra de Deus.]
# Quao o teor dessa oração? 12-13 [Perdão, proteção contra o pecado, integridade.]
# Por que isso é importante? [Por que não entendemos como orar e como Deus nos deseja bem olhando somente para a criação.]
# Como as nossas palavras e meditação serão agradáveis a Deus? Ou, em outras palavras, como este pedido será cumprido? 14 [Quando as palavras de Deus se tornam nossas.]
# Somente no último verso encontramos os adjetivos possessivos: "minha" e "meu". O que isso significa? 14 [O autor aplica as verdades à própria vida.]

!! E agora?

# O que devemos aprender da nossa observação da criação? [A glória de Deus, sua bondade, seu poder.]
# Onde vamos encontrar a palavra de Deus hoje? [Na Bíblia.]
# Como então deve ser a nossa atitude para com a Bíblia? [Reverência, estudo.]
# Onde existe a recompensa de Deus? 11 [Na obediência da sua palavra e dos seus mandamentos.]
# Está disposto e pronto para fazer isso?
The Notebook to Bind Them All
Loran Work and Prayer
Description: Contains the stuff you need to use Tiddlyspot
Note, you also need UploadPlugin, PasswordOptionPlugin and LoadRemoteFileThroughProxy
from http://tiddlywiki.bidix.info for a complete working Tiddlyspot site.

// edit this if you are migrating sites or retrofitting an existing TW
config.tiddlyspotSiteId = 'loran';

// make it so you can by default see edit controls via http
config.options.chkHttpReadOnly = false;
window.readOnly = false; // make sure of it (for tw 2.2)
window.showBackstage = true; // show backstage too

// disable autosave in d3
if (window.location.protocol != "file:")
	config.options.chkGTDLazyAutoSave = false;

// tweak shadow tiddlers to add upload button, password entry box etc
with (config.shadowTiddlers) {
	SiteUrl = 'http://'+config.tiddlyspotSiteId+'.tiddlyspot.com';
	SideBarOptions = SideBarOptions.replace(/(<<saveChanges>>)/,"$1<<tiddler TspotSidebar>>");
	OptionsPanel = OptionsPanel.replace(/^/,"<<tiddler TspotOptions>>");
	DefaultTiddlers = DefaultTiddlers.replace(/^/,"[[WelcomeToTiddlyspot]] ");
	MainMenu = MainMenu.replace(/^/,"[[WelcomeToTiddlyspot]] ");

// create some shadow tiddler content

 "| tiddlyspot password:|<<option pasUploadPassword>>|",
 "| site management:|<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">>//(requires tiddlyspot password)//<br>[[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]], [[download (go offline)|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download]]|",
 "| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[blog|http://tiddlyspot.blogspot.com/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|"

 "tiddlyspot password:",
 "<<option pasUploadPassword>>",

 "<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">><html><a href='http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download' class='button'>download</a></html>"

 "This document is a ~TiddlyWiki from tiddlyspot.com.  A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.",
 "@@font-weight:bold;font-size:1.3em;color:#444; //What now?// &nbsp;&nbsp;@@ Before you can save any changes, you need to enter your password in the form below.  Then configure privacy and other site settings at your [[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]] (your control panel username is //" + config.tiddlyspotSiteId + "//).",
 "<<tiddler TspotControls>>",
 "See also GettingStarted.",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working online// &nbsp;&nbsp;@@ You can edit this ~TiddlyWiki right now, and save your changes using the \"save to web\" button in the column on the right.",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// &nbsp;&nbsp;@@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick.  You can make changes and save them locally without being connected to the Internet.  When you're ready to sync up again, just click \"upload\" and your ~TiddlyWiki will be saved back to tiddlyspot.com.",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Help!// &nbsp;&nbsp;@@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]].  Also visit [[TiddlyWiki.org|http://tiddlywiki.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help.  If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// &nbsp;&nbsp;@@ We hope you like using your tiddlyspot.com site.  Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions."

| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 28/02/2017 06:24:55 | LoRan | [[/|http://loran.tiddlyspot.com/]] | [[store.cgi|http://loran.tiddlyspot.com/store.cgi]] | . | [[index.html | http://loran.tiddlyspot.com/index.html]] | . |
| 02/03/2017 06:40:46 | LoRan | [[/|http://loran.tiddlyspot.com/]] | [[store.cgi|http://loran.tiddlyspot.com/store.cgi]] | . | [[index.html | http://loran.tiddlyspot.com/index.html]] | . | ok |
| 02/03/2017 06:42:38 | LoRan | [[/|http://loran.tiddlyspot.com/]] | [[store.cgi|http://loran.tiddlyspot.com/store.cgi]] | . | [[index.html | http://loran.tiddlyspot.com/index.html]] | . |
| 11/06/2017 06:47:04 | LoRan | [[/|http://loran.tiddlyspot.com/]] | [[store.cgi|http://loran.tiddlyspot.com/store.cgi]] | . | [[index.html | http://loran.tiddlyspot.com/index.html]] | . | ok |
| 11/06/2017 07:06:45 | LoRan | [[/|http://loran.tiddlyspot.com/]] | [[store.cgi|http://loran.tiddlyspot.com/store.cgi]] | . | [[index.html | http://loran.tiddlyspot.com/index.html]] | . |
| 19/06/2017 13:19:24 | LoRan | [[/|http://loran.tiddlyspot.com/#PeopleOfGod]] | [[store.cgi|http://loran.tiddlyspot.com/store.cgi]] | . | [[index.html | http://loran.tiddlyspot.com/index.html]] | . | failed |
| 19/06/2017 13:20:26 | LoRan | [[/|http://loran.tiddlyspot.com/#PeopleOfGod]] | [[store.cgi|http://loran.tiddlyspot.com/store.cgi]] | . | [[index.html | http://loran.tiddlyspot.com/index.html]] | . |
| 19/06/2017 14:02:47 | LoRan | [[/|http://loran.tiddlyspot.com/#PeopleOfGod]] | [[store.cgi|http://loran.tiddlyspot.com/store.cgi]] | . | [[index.html | http://loran.tiddlyspot.com/index.html]] | . | ok |
| 19/06/2017 14:07:18 | LoRan | [[/|http://loran.tiddlyspot.com/#PeopleOfGod]] | [[store.cgi|http://loran.tiddlyspot.com/store.cgi]] | . | [[index.html | http://loran.tiddlyspot.com/index.html]] | . | ok |
| 19/06/2017 14:13:54 | LoRan | [[/|http://loran.tiddlyspot.com/#PeopleOfGod]] | [[store.cgi|http://loran.tiddlyspot.com/store.cgi]] | . | [[index.html | http://loran.tiddlyspot.com/index.html]] | . |
|''Description:''|Save to web a TiddlyWiki|
|''Date:''|Feb 24, 2008|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
version.extensions.UploadPlugin = {
	major: 4, minor: 1, revision: 3,
	date: new Date("Feb 24, 2008"),
	source: 'http://tiddlywiki.bidix.info/#UploadPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	coreVersion: '2.2.0'

// Environment

if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.debugMode = false;	// true to activate both in Plugin and UploadService
// Upload Macro

config.macros.upload = {
// default values
	defaultBackupDir: '',	//no backup
	defaultStoreScript: "store.php",
	defaultToFilename: "index.html",
	defaultUploadDir: ".",
	authenticateUser: true	// UploadService Authenticate User
config.macros.upload.label = {
	promptOption: "Save and Upload this TiddlyWiki with UploadOptions",
	promptParamMacro: "Save and Upload this TiddlyWiki in %0",
	saveLabel: "save to web", 
	saveToDisk: "save to disk",
	uploadLabel: "upload"	

config.macros.upload.messages = {
	noStoreUrl: "No store URL in parmeters or options",
	usernameOrPasswordMissing: "Username or password missing"

config.macros.upload.handler = function(place,macroName,params) {
	if (readOnly)
	var label;
	if (document.location.toString().substr(0,4) == "http") 
		label = this.label.saveLabel;
		label = this.label.uploadLabel;
	var prompt;
	if (params[0]) {
		prompt = this.label.promptParamMacro.toString().format([this.destFile(params[0], 
			(params[1] ? params[1]:bidix.basename(window.location.toString())), params[3])]);
	} else {
		prompt = this.label.promptOption;
	createTiddlyButton(place, label, prompt, function() {config.macros.upload.action(params);}, null, null, this.accessKey);

config.macros.upload.action = function(params)
		// for missing macro parameter set value from options
		if (!params) params = {};
		var storeUrl = params[0] ? params[0] : config.options.txtUploadStoreUrl;
		var toFilename = params[1] ? params[1] : config.options.txtUploadFilename;
		var backupDir = params[2] ? params[2] : config.options.txtUploadBackupDir;
		var uploadDir = params[3] ? params[3] : config.options.txtUploadDir;
		var username = params[4] ? params[4] : config.options.txtUploadUserName;
		var password = config.options.pasUploadPassword; // for security reason no password as macro parameter	
		// for still missing parameter set default value
		if ((!storeUrl) && (document.location.toString().substr(0,4) == "http")) 
			storeUrl = bidix.dirname(document.location.toString())+'/'+config.macros.upload.defaultStoreScript;
		if (storeUrl.substr(0,4) != "http")
			storeUrl = bidix.dirname(document.location.toString()) +'/'+ storeUrl;
		if (!toFilename)
			toFilename = bidix.basename(window.location.toString());
		if (!toFilename)
			toFilename = config.macros.upload.defaultToFilename;
		if (!uploadDir)
			uploadDir = config.macros.upload.defaultUploadDir;
		if (!backupDir)
			backupDir = config.macros.upload.defaultBackupDir;
		// report error if still missing
		if (!storeUrl) {
			return false;
		if (config.macros.upload.authenticateUser && (!username || !password)) {
			return false;
		bidix.upload.uploadChanges(false,null,storeUrl, toFilename, uploadDir, backupDir, username, password); 
		return false; 

config.macros.upload.destFile = function(storeUrl, toFilename, uploadDir) 
	if (!storeUrl)
		return null;
		var dest = bidix.dirname(storeUrl);
		if (uploadDir && uploadDir != '.')
			dest = dest + '/' + uploadDir;
		dest = dest + '/' + toFilename;
	return dest;

// uploadOptions Macro

config.macros.uploadOptions = {
	handler: function(place,macroName,params) {
		var wizard = new Wizard();
		var markList = wizard.getElement("markList");
		var listWrapper = document.createElement("div");
		var uploadCaption;
		if (document.location.toString().substr(0,4) == "http") 
			uploadCaption = config.macros.upload.label.saveLabel;
			uploadCaption = config.macros.upload.label.uploadLabel;
				{caption: uploadCaption, tooltip: config.macros.upload.label.promptOption, 
					onClick: config.macros.upload.action},
				{caption: this.cancelButton, tooltip: this.cancelButtonPrompt, onClick: this.onCancel}
	options: [
	refreshOptions: function(listWrapper) {
		var opts = [];
		for(i=0; i<this.options.length; i++) {
			var opt = {};
			opt.option = "";
			n = this.options[i];
			opt.name = n;
			opt.lowlight = !config.optionsDesc[n];
			opt.description = opt.lowlight ? this.unknownDescription : config.optionsDesc[n];
		var listview = ListView.create(listWrapper,opts,this.listViewTemplate);
		for(n=0; n<opts.length; n++) {
			var type = opts[n].name.substr(0,3);
			var h = config.macros.option.types[type];
			if (h && h.create) {
	onCancel: function(e)
		return false;
	wizardTitle: "Upload with options",
	step1Title: "These options are saved in cookies in your browser",
	step1Html: "<input type='hidden' name='markList'></input><br>",
	cancelButton: "Cancel",
	cancelButtonPrompt: "Cancel prompt",
	listViewTemplate: {
		columns: [
			{name: 'Description', field: 'description', title: "Description", type: 'WikiText'},
			{name: 'Option', field: 'option', title: "Option", type: 'String'},
			{name: 'Name', field: 'name', title: "Name", type: 'String'}
		rowClasses: [
			{className: 'lowlight', field: 'lowlight'} 

// upload functions

if (!bidix.upload) bidix.upload = {};

if (!bidix.upload.messages) bidix.upload.messages = {
	//from saving
	invalidFileError: "The original file '%0' does not appear to be a valid TiddlyWiki",
	backupSaved: "Backup saved",
	backupFailed: "Failed to upload backup file",
	rssSaved: "RSS feed uploaded",
	rssFailed: "Failed to upload RSS feed file",
	emptySaved: "Empty template uploaded",
	emptyFailed: "Failed to upload empty template file",
	mainSaved: "Main TiddlyWiki file uploaded",
	mainFailed: "Failed to upload main TiddlyWiki file. Your changes have not been saved",
	//specific upload
	loadOriginalHttpPostError: "Can't get original file",
	aboutToSaveOnHttpPost: 'About to upload on %0 ...',
	storePhpNotFound: "The store script '%0' was not found."

bidix.upload.uploadChanges = function(onlyIfDirty,tiddlers,storeUrl,toFilename,uploadDir,backupDir,username,password)
	var callback = function(status,uploadParams,original,url,xhr) {
		if (!status) {
		if (bidix.debugMode) 
		// Locate the storeArea div's 
		var posDiv = locateStoreArea(original);
		if((posDiv[0] == -1) || (posDiv[1] == -1)) {
	if(onlyIfDirty && !store.isDirty())
	// save on localdisk ?
	if (document.location.toString().substr(0,4) == "file") {
		var path = document.location.toString();
		var localPath = getLocalPath(path);
	// get original
	var uploadParams = new Array(storeUrl,toFilename,uploadDir,backupDir,username,password);
	var originalPath = document.location.toString();
	// If url is a directory : add index.html
	if (originalPath.charAt(originalPath.length-1) == "/")
		originalPath = originalPath + "index.html";
	var dest = config.macros.upload.destFile(storeUrl,toFilename,uploadDir);
	var log = new bidix.UploadLog();
	log.startUpload(storeUrl, dest, uploadDir,  backupDir);
	if (bidix.debugMode) 
		alert("about to execute Http - GET on "+originalPath);
	var r = doHttp("GET",originalPath,null,null,username,password,callback,uploadParams,null);
	if (typeof r == "string")
	return r;

bidix.upload.uploadRss = function(uploadParams,original,posDiv) 
	var callback = function(status,params,responseText,url,xhr) {
		if(status) {
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
		} else {
	// do uploadRss
	if(config.options.chkGenerateAnRssFeed) {
		var rssPath = uploadParams[1].substr(0,uploadParams[1].lastIndexOf(".")) + ".xml";
		var rssUploadParams = new Array(uploadParams[0],rssPath,uploadParams[2],'',uploadParams[4],uploadParams[5]);
		var rssString = generateRss();
		// no UnicodeToUTF8 conversion needed when location is "file" !!!
		if (document.location.toString().substr(0,4) != "file")
			rssString = convertUnicodeToUTF8(rssString);	
	} else {

bidix.upload.uploadMain = function(uploadParams,original,posDiv) 
	var callback = function(status,params,responseText,url,xhr) {
		var log = new bidix.UploadLog();
		if(status) {
			// if backupDir specified
			if ((params[3]) && (responseText.indexOf("backupfile:") > -1))  {
				var backupfile = responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\n", responseText.indexOf("backupfile:")));
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
		} else {
	// do uploadMain
	var revised = bidix.upload.updateOriginal(original,posDiv);

bidix.upload.httpUpload = function(uploadParams,data,callback,params)
	var localCallback = function(status,params,responseText,url,xhr) {
		url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
		if (xhr.status == 404)
		if ((bidix.debugMode) || (responseText.indexOf("Debug mode") >= 0 )) {
			if (responseText.indexOf("Debug mode") >= 0 )
				responseText = responseText.substring(responseText.indexOf("\n\n")+2);
		} else if (responseText.charAt(0) != '0') 
		if (responseText.charAt(0) != '0')
			status = null;
	// do httpUpload
	var boundary = "---------------------------"+"AaB03x";	
	var uploadFormName = "UploadPlugin";
	// compose headers data
	var sheader = "";
	sheader += "--" + boundary + "\r\nContent-disposition: form-data; name=\"";
	sheader += uploadFormName +"\"\r\n\r\n";
	sheader += "backupDir="+uploadParams[3] +
				";user=" + uploadParams[4] +
				";password=" + uploadParams[5] +
				";uploaddir=" + uploadParams[2];
	if (bidix.debugMode)
		sheader += ";debug=1";
	sheader += ";;\r\n"; 
	sheader += "\r\n" + "--" + boundary + "\r\n";
	sheader += "Content-disposition: form-data; name=\"userfile\"; filename=\""+uploadParams[1]+"\"\r\n";
	sheader += "Content-Type: text/html;charset=UTF-8" + "\r\n";
	sheader += "Content-Length: " + data.length + "\r\n\r\n";
	// compose trailer data
	var strailer = new String();
	strailer = "\r\n--" + boundary + "--\r\n";
	data = sheader + data + strailer;
	if (bidix.debugMode) alert("about to execute Http - POST on "+uploadParams[0]+"\n with \n"+data.substr(0,500)+ " ... ");
	var r = doHttp("POST",uploadParams[0],data,"multipart/form-data; ;charset=UTF-8; boundary="+boundary,uploadParams[4],uploadParams[5],localCallback,params,null);
	if (typeof r == "string")
	return r;

// same as Saving's updateOriginal but without convertUnicodeToUTF8 calls
bidix.upload.updateOriginal = function(original, posDiv)
	if (!posDiv)
		posDiv = locateStoreArea(original);
	if((posDiv[0] == -1) || (posDiv[1] == -1)) {
	var revised = original.substr(0,posDiv[0] + startSaveArea.length) + "\n" +
				store.allTiddlersAsHtml() + "\n" +
	var newSiteTitle = getPageTitle().htmlEncode();
	revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");
	revised = updateMarkupBlock(revised,"PRE-HEAD","MarkupPreHead");
	revised = updateMarkupBlock(revised,"POST-HEAD","MarkupPostHead");
	revised = updateMarkupBlock(revised,"PRE-BODY","MarkupPreBody");
	revised = updateMarkupBlock(revised,"POST-SCRIPT","MarkupPostBody");
	return revised;

// UploadLog
// config.options.chkUploadLog :
//		false : no logging
//		true : logging
// config.options.txtUploadLogMaxLine :
//		-1 : no limit
//      0 :  no Log lines but UploadLog is still in place
//		n :  the last n lines are only kept
//		NaN : no limit (-1)

bidix.UploadLog = function() {
	if (!config.options.chkUploadLog) 
		return; // this.tiddler = null
	this.tiddler = store.getTiddler("UploadLog");
	if (!this.tiddler) {
		this.tiddler = new Tiddler();
		this.tiddler.title = "UploadLog";
		this.tiddler.text = "| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |";
		this.tiddler.created = new Date();
		this.tiddler.modifier = config.options.txtUserName;
		this.tiddler.modified = new Date();
	return this;

bidix.UploadLog.prototype.addText = function(text) {
	if (!this.tiddler)
	// retrieve maxLine when we need it
	var maxLine = parseInt(config.options.txtUploadLogMaxLine,10);
	if (isNaN(maxLine))
		maxLine = -1;
	// add text
	if (maxLine != 0) 
		this.tiddler.text = this.tiddler.text + text;
	// Trunck to maxLine
	if (maxLine >= 0) {
		var textArray = this.tiddler.text.split('\n');
		if (textArray.length > maxLine + 1)
			this.tiddler.text = textArray.join('\n');		
	// update tiddler fields
	this.tiddler.modifier = config.options.txtUserName;
	this.tiddler.modified = new Date();
	// refresh and notifiy for immediate update
	store.notify(this.tiddler.title, true);

bidix.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir,  backupDir) {
	if (!this.tiddler)
	var now = new Date();
	var text = "\n| ";
	var filename = bidix.basename(document.location.toString());
	if (!filename) filename = '/';
	text += now.formatString("0DD/0MM/YYYY 0hh:0mm:0ss") +" | ";
	text += config.options.txtUserName + " | ";
	text += "[["+filename+"|"+location + "]] |";
	text += " [[" + bidix.basename(storeUrl) + "|" + storeUrl + "]] | ";
	text += uploadDir + " | ";
	text += "[[" + bidix.basename(toFilename) + " | " +toFilename + "]] | ";
	text += backupDir + " |";

bidix.UploadLog.prototype.endUpload = function(status) {
	if (!this.tiddler)
	this.addText(" "+status+" |");

// Utilities

bidix.checkPlugin = function(plugin, major, minor, revision) {
	var ext = version.extensions[plugin];
	if (!
		(ext  && 
			((ext.major > major) || 
			((ext.major == major) && (ext.minor > minor))  ||
			((ext.major == major) && (ext.minor == minor) && (ext.revision >= revision))))) {
			// write error in PluginManager
			if (pluginInfo)
				pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision);
			eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined"

bidix.dirname = function(filePath) {
	if (!filePath) 
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(0, lastpos);
	} else {
		return filePath.substring(0, filePath.lastIndexOf("\\"));

bidix.basename = function(filePath) {
	if (!filePath) 
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("#")) != -1) 
		filePath = filePath.substring(0, lastpos);
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(lastpos + 1);
	} else
		return filePath.substring(filePath.lastIndexOf("\\")+1);

bidix.initOption = function(name,value) {
	if (!config.options[name])
		config.options[name] = value;

// Initializations

// require PasswordOptionPlugin 1.0.1 or better
bidix.checkPlugin("PasswordOptionPlugin", 1, 0, 1);

// styleSheet
setStylesheet('.txtUploadStoreUrl, .txtUploadBackupDir, .txtUploadDir {width: 22em;}',"uploadPluginStyles");

	txtUploadStoreUrl: "Url of the UploadService script (default: store.php)",
	txtUploadFilename: "Filename of the uploaded file (default: in index.html)",
	txtUploadDir: "Relative Directory where to store the file (default: . (downloadService directory))",
	txtUploadBackupDir: "Relative Directory where to backup the file. If empty no backup. (default: ''(empty))",
	txtUploadUserName: "Upload Username",
	pasUploadPassword: "Upload Password",
	chkUploadLog: "do Logging in UploadLog (default: true)",
	txtUploadLogMaxLine: "Maximum of lines in UploadLog (default: 10)"

// Options Initializations

// Backstage
	uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: '<<uploadOptions>>'}