The ''REVILO, Inc.'' website is up and running at <<tiddler SiteUrl>>.
To make quoted bits of text stand out, you can use BlockQuotes within your [[tiddler]]s, like this:\n\nJeremyRuston said:\n<<<\nA TiddlyWiki is like a blog because it's divided up into neat little chunks, but it encourages you to read it by hyperlinking rather than sequentially: if you like, a non-linear blog analogue that binds the individual microcontent items into a cohesive whole.\n<<<\n\nLike BulletPoints and NumberedBulletPoints, you can have multiple levels of BlockQuotes. Just [[edit]] this tiddler to see how it's done.\n\n>level 1\n>level 1\n>>level 2\n>>level 2\n>>>level 3\n>>>level 3\n>>level 2\n>level 1\n
Creating BulletPoints is simple.\n* Just add an asterisk\n* at the beginning of a line.\n** If you want to create sub-bullets\n** start the line with two asterisks\n*** And if you want yet another level\n*** use three asterisks\n* Edit this tiddler to see how it's done\n* You can also do NumberedBulletPoints
\n// //''Name:'' Calendar Plugin\n// //''Version:'' <<getversion calendar>> (<<getversiondate calendar "DD MMM YYYY">>)\n// //''Author:'' Tiago Dionízio\n\n// //''Syntax:'' \n// //<< {{{calendar}}} >> or << {{{calendar //thismonth//}}} >> or << {{{calendar ''year'' ''month''}}} >> or << {{{calendar ''year'' ''month'' ''day''}}} >>\n\n// //''Description:'' \n// // Create a calendar view for a specific month.\n// // * << {{{calendar}}} >> creates a calendar displaying the current month and current day selected.\n// // * << {{{calendar ''thismonth''}}} >> creates a calendar displaying the current month.\n// // * << {{{calendar ''year'' ''month''}}} >> creates a calendar displaying a specific month.\n// // * << {{{calendar ''year'' ''month'' ''day''}}} >> creates a calendar displaying a specific month with the day highlighted.\n// // All calendars will also show associated tiddlers with a different color (configurable in CSS).\n\n// //''Code section:''\n// (you should not need to alter anything below here)//\n{{{\nversion.extensions.calendar = { major: 1, minor: 0, revision: 0, date: new Date(2005, 07, 15)};\n\n\n// --------------------------------------------------------------------\n// Calendar\n// --------------------------------------------------------------------\n\nconfig.macros.calendar = {\n\n // months as they appear in the calendar's title\n calendarMonths: [\n "January", "February", "March", "April", "May", "June",\n "July", "August", "September", "October", "November", "December"\n ],\n\n // week day titles as they appear on the calendar\n calendarWeekDays: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],\n\n // day week starts from (normally 0-Su or 1-Mo)\n calendarWeekStart: 0\n};\n\nconfig.macros.calendar.createLink = function(theParent,theText,theAction) {\n var link = createTiddlyElement(theParent,"span",null,"calendarCell",theText);\n if (theAction != null) {\n link.onclick = theAction;\n }\n return link;\n}\n\n/***************************************************************************\n** Internal functions\n***************************************************************************/\n\nconfig.macros.calendar.findCalendar = function(child) {\n var parent;\n while (child && child.parentNode) {\n parent = child.parentNode;\n if (parent.id == "calendarWrapper") {\n return parent;\n }\n child = parent;\n }\n return null;\n}\n\nconfig.macros.calendar.selectDate = function(e) {\n if (!e) var e = window.event;\n var cm = config.macros.calendar;\n\n var calendar = cm.findCalendar(this);\n if (calendar) {\n var d = this.getAttribute("date");\n if (d != null) {\n cm.makeCalendar(calendar, new Date(new Number(d)));\n }\n }\n\n e.cancelBubble = true;\n if (e.stopPropagation) e.stopPropagation();\n return false;\n}\n\nconfig.macros.calendar.dateTiddler = function(date) {\n var cm = config.macros.calendar;\n var y = date.getFullYear();\n var m = date.getMonth()+1;\n var d = date.getDate();\n //var title = d + "/"+ (m < 10 ? "0" : "") + m + "/" + (d < 10 ? "0" : "") + y;\n var title = y + (m < 10 ? "0" : "") + m + (d < 10 ? "0" : "") + d;\n return title;\n}\n\nconfig.macros.calendar.makeCalendar = function(calendar, dt_current) {\n var cm = config.macros.calendar;\n var dt_today = new Date(new Number(calendar.getAttribute("today")));\n var select_today = calendar.getAttribute("selectToday") == "yes";\n calendar.setAttribute("date", dt_current.valueOf());\n\n while (calendar.hasChildNodes())\n calendar.removeChild(calendar.firstChild);\n\n // get same date in the previous year\n var dt_prev_year = new Date(dt_current);\n dt_prev_year.setFullYear(dt_prev_year.getFullYear() - 1);\n if (dt_prev_year.getDate() != dt_current.getDate())\n dt_prev_year.setDate(0);\n\n // get same date in the next year\n var dt_next_year = new Date(dt_current);\n dt_next_year.setFullYear(dt_next_year.getFullYear() + 1);\n if (dt_next_year.getDate() != dt_current.getDate())\n dt_next_year.setDate(0);\n\n // get same date in the previous month\n var dt_prev_month = new Date(dt_current);\n dt_prev_month.setMonth(dt_prev_month.getMonth() - 1);\n if (dt_prev_month.getDate() != dt_current.getDate())\n dt_prev_month.setDate(0);\n\n // get same date in the next month\n var dt_next_month = new Date(dt_current);\n dt_next_month.setMonth(dt_next_month.getMonth() + 1);\n if (dt_next_month.getDate() != dt_current.getDate())\n dt_next_month.setDate(0);\n\n // get first day to display in the grid for current month\n var dt_firstday = new Date(dt_current);\n dt_firstday.setDate(1);\n dt_firstday.setDate(1 - (7 + dt_firstday.getDay() - cm.calendarWeekStart) % 7);\n\n var area, header, table;\n var line, cell, i;\n\n // 1 - calendar header table\n // 2 - calendar days table\n area = createTiddlyElement(calendar, "table", "calendarArea");\n area = createTiddlyElement(area, "tbody");\n\n // 1 - calendar header table\n header = createTiddlyElement(\n createTiddlyElement(\n createTiddlyElement(\n area,\n "tr"\n ),\n "td"\n ),\n "table",\n "calendarHeader"\n );\n header = createTiddlyElement(header, "tbody");\n line = createTiddlyElement(header, "tr", null, null, null);\n\n var headerValues = [\n [ "<<", "selectYear", dt_prev_year.valueOf() ],\n [ "<", "selectMonth", dt_prev_month.valueOf() ],\n [ cm.calendarMonths[dt_current.getMonth()] + ' ' + dt_current.getFullYear(),\n "selectToday", dt_today.valueOf() ],\n [ ">", "selectMonth", dt_next_month.valueOf() ],\n [ ">>", "selectYear", dt_next_year.valueOf() ]\n ];\n\n for (i = 0; i < headerValues.length; ++i) {\n cm.createLink(\n createTiddlyElement(\n line,\n "td",\n null,\n headerValues[i][1]\n ),\n headerValues[i][0],\n cm.selectDate\n ).setAttribute("date", headerValues[i][2]);\n }\n\n // 2 - calendar days table\n table = createTiddlyElement(\n createTiddlyElement(\n createTiddlyElement(\n area,\n "tr"\n ),\n "td"\n ),\n "table",\n "calendarTable"\n );\n table = createTiddlyElement(table, "tbody");\n\n // print weekdays titles\n line = createTiddlyElement(table, "tr", "calendarLine", "weekNames", null);\n for (var n = 0; n < 7; ++n) {\n createTiddlyElement(line, "td", null, null, cm.calendarWeekDays[(cm.calendarWeekStart + n)%7]);\n }\n\n // print calendar table\n var dt_current_day = new Date(dt_firstday);\n var day_class;\n var title;\n while (dt_current_day.getMonth() == dt_current.getMonth() ||\n dt_current_day.getMonth() == dt_firstday.getMonth()) {\n\n // print row heder\n line = createTiddlyElement(table, "tr", "calendarLine", null, null);\n for (var n_current_wday = 0; n_current_wday < 7; ++n_current_wday) {\n title = cm.dateTiddler(dt_current_day);\n if (store.tiddlers[title] != null)\n // day has a tiddler associated with it\n day_class = "scheduledDay";\n else if (select_today && dt_current_day.valueOf() == dt_today.valueOf())\n // print current date\n day_class = "currentDay";\n else if (dt_current_day.getDay() == 0 || dt_current_day.getDay() == 6)\n // weekend days\n day_class = "weekDay";\n else\n // print working days of current month\n day_class = "workingDay";\n\n var text = dt_current_day.getDate();\n var cell = createTiddlyElement(line, "td", null, day_class, null);\n\n if (dt_current_day.getMonth() == dt_current.getMonth()) {\n var link = cm.createLink(cell, text, onClickTiddlerLink);\n link.setAttribute("date", dt_current_day.valueOf());\n link.setAttribute("tiddlyLink", title);\n }\n\n dt_current_day.setDate(dt_current_day.getDate()+1);\n }\n }\n}\n\nconfig.macros.calendar.handler = function(place, macroName, params) {\n var date = null;\n var sel = "yes";\n if (params.length == 2) {\n date = new Date(\n params[0],\n params[1]-1,\n 1\n );\n sel = "no";\n }\n else if (params.length == 3) {\n date = new Date(\n params[0],\n params[1]-1,\n params[2]\n );\n }\n else if (params.length == 1 && params[0] == "thismonth") {\n date = new Date();\n date = new Date(date.getFullYear(), date.getMonth(), 1);\n sel = "no";\n }\n else {\n date = new Date();\n // filter time values off\n date = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n }\n\n var cm = config.macros.calendar;\n calendar = createTiddlyElement(place, "span", "calendarWrapper");\n calendar.setAttribute("name", "calendarWrapper");\n calendar.setAttribute("today", date.valueOf());\n calendar.setAttribute("selectToday", sel);\n\n cm.makeCalendar(calendar, date);\n}\n\n\nfunction refreshCalendars(hint) {\n var calendars = document.getElementsByName("calendarWrapper");\n var cm = config.macros.calendar;\n var i, c;\n for (i = 0; i < calendars.length; ++i) {\n c = calendars.item(i);\n if (c.id == "calendarWrapper") {\n cm.makeCalendar(c, new Date(new Number(c.getAttribute("date"))));\n }\n }\n}\nconfig.notifyTiddlers.push(refreshCalendars);\n\n}}}
Clients that REVILO, Inc. has done work for in the past:\n!!!~On-Site projects\n*''BNFL/BBWI Advanced Mixed Waste Treatment Project (AMWTP)''\n**ORACLE Forms-based Waste Tracking System\n**C# .NET based Web Reporting tools\n*''Idaho National Laboratory (INL) Center for Performance Improvement''\n**~ColdFusion website development including work for:\n***U.S. Department of Health and Human Services (HHS)\n***U.S. Environmental Protection Agency (EPA)\n***U.S. Energy Information Administration (EIA)\n***Internal clients to the Idaho National Laboratory (INL)\n*''International Software Engineering Inc. (~InSEI)''\n**~ColdFusion based Requirements Traceability Matrix\n!!!~Not-for-Profit projects\n*''Apple Cycling Team'' ( [[http://www.applecyclingteam.com|http://www.applecyclingteam.com]] )\n**~ColdFusion based web community \n*''Triathlon Club of Eastern Idaho'' ( Under Development )\n**PHP/~MySQL web community
window.onClickToolbarUndo = function(e) {\n var tiddlerName = null;\n if(this.parentNode.id) {\n tiddlerName = this.parentNode.id.substr(7);\n displayTiddler(null,tiddlerName,1,null,null,false,false);\n }\n\n // I want to close it if it hasn't been saved yet.\n if(typeof(store.tiddlers[tiddlerName]) == 'undefined') {\n closeTiddler(tiddlerName,false);\n }\n}\n
// // by Clint Checketts\n//{{{\nconfig.options.chkConfirmDelete= true;\nconfig.shadowTiddlers.AdvancedOptions += "\sn<<option chkConfirmDelete>> ConfirmBeforeDeleting";\nwindow.deleteTiddler_orig_confirmDelete = window.deleteTiddler;\nwindow.deleteTiddler= function(title) {\n var deleteIt = true;\n if (config.options.chkConfirmDelete) {\n deleteIt = confirm("Are you sure you want to delete " + title + "?");\n }\n if (deleteIt){\n deleteTiddler_orig_confirmDelete(title);\n }\n}\n//}}}\n
''REVILO, Inc.''\n964 Clarence Dr.\nIdaho Falls, ID 83402\n\n(208) 241-2782\n\n[[revilo@reviloinc.com|mailto:revilo@reviloinc.com]]
[[Welcome]]
{{{\n[img[title|filename]]\n[img[filename]]\n[img[title|filename][link]]\n[img[filename][link]]\n}}}\nImages can be included by their filename or full URL. It's good practice to include a title to be shown as a tooltip, and when the image isn't available. An image can also link to another tiddler or or a URL\n\n{{{\n[img[Fractal vegetable|fractalveg.jpg]]\n[img[This is shown as a tooltip|http://example.com/image.jpg]]\n[img[http://example.com/image.jpg]]\n[img[http://example.com/image.jpg][ExampleDotCom]]\n}}}\nThe tooltip is optional.\n\nYou can also float images to the left or right: the forest is left aligned with {{{[<img[}}}, and the field is right aligned with {{{[>img[}}}.\n@@clear(left):clear(right):display(block):You can use CSS to clear the floats@@\n{{{\n[<img[A woody bit of Hampstead Heath|forest.jpg]]\n[>img[A field near Milton Keynes|field.jpg]]\n}}}
Like most wikis, TiddlyWiki supports a range of simplified character formatting:\n| !To get | !Type this |h\n| ''Bold'' | {{{''Bold''}}} |\n| ==Strikethrough== | {{{==Strikethrough==}}} |\n| __Underline__ | {{{__Underline__}}} (that's two underline characters) |\n| //Italic// | {{{//Italic//}}} |\n| Superscript: 2^^3^^=8 | {{{2^^3^^=8}}} |\n| Subscript: a~~ij~~ = -a~~ji~~ | {{{a~~ij~~ = -a~~ji~~}}} |\n| @@highlight@@ | {{{@@highlight@@}}} |\n<<<\nThe highlight can also accept CSS syntax to directly style the text:\n{{{@@color:green;green coloured@@}}}\n@@color:green;green coloured@@\n{{{@@background-color:#ff0000;color:#ffffff;red coloured@@}}}\n@@background-color:#ff0000;color:#ffffff;red coloured@@\n@@text-shadow:black 3px 3px 8px;font-size:18pt;display:block;margin:1em 1em 1em 1em;border:1px solid black;Access any CSS style@@\n<<<\n\n//For backwards compatibility, the following highlight syntax is also accepted://\n{{{\n@@bgcolor(#ff0000):color(#ffffff):red coloured@@\n}}}\n@@bgcolor(#ff0000):color(#ffffff):red coloured@@
This is not a complete list, but it's a start.\n\n<<listTags definition>>
You can divide a tiddler into\n----\nsections by typing four dashes on a line by themselves
config.macros.listTags = { text: "Hello" }; \nconfig.macros.listTags.handler = function(place,macroName,params) \n{ \nvar tagged = store.getTaggedTiddlers(params[0], params[1]); \nvar string = ""; \nfor(var r=0;r<tagged.length;r++) \n{ \nif(params[2]) string = string + params[2] + " "; \nstring = string + "[[" + tagged[r].title + "]]\sn"; \n} \nwikify(string, place, null, null); \n}\n
<<calendar>>\n<<newTiddler>>[[news|News]][[services|Services]][[clients|Clients]]\n[[contact us|Contact]]\n\n\n\n
NewsArchive\n\n<<listTags news>>
<<listTags newsArchive>>
config.views.editor.defaultText = ""; // instead of "Type the text for '%0'"
A ''Performance Support System'' is a method of designing a system, in our case a software application, to mimic a business process. \nThat design is then developed into a means of accomplishing the same task in less time using fewer resources.\n\nOur process in creating a Performance Support System includes:\n#Mapping out the business process and determining the flow of actions and data.\n#Extrapolaing a set of requirements from the business process flow.\n#Designing a system to meet not only the requirements of the system, but also the resource restrictions of the client.\n#Developing the design using industry best practices and the latest developments in software application frameworks.\n#Meeting with the client often to review progress and demonstrate the system.
You can now link to [[external sites|http://www.osmosoft.com]]({{{[[external sites|http://www.osmosoft.com]]}}}) or [[ordinary tiddlers|TiddlyWiki]]({{{[[ordinary tiddlers|TiddlyWiki]]}}}) with ordinary words, without the messiness of the full URL appearing.
''REVILO, Inc.'' provides a wide variety of services for our [[clients|Clients]]. Our specialization is in [[Performance Support Systems|PerformanceSupportSystems]] Services including:\n*Web Site Development using the following frameworks\n**~ColdFusion\n**Active Server Pages\n**PHP\n**Java Server Pages\n*Database Design and Development\n*Object Oriented Application Development\n**Java and ~J2EE\n**Microsoft .NET (C#) development
<<search>><<closeAll>><<permaview>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel options 'Change TiddlyWiki advanced options'>>
Custom Software Solutions
REVILO, Inc.
http://www.reviloinc.com/
/* \n!!!Stylesheet: ShadesOfGrey\n * Ron Stewart \n * October 2005\n\n * Modified by Dave Oliver, October 2005\n{{{\n */\nBODY {\nfont-family: "Trebuchet MS", Verdana, Arial, sans-serif;\ncolor: #867663;\n}\n\n#header {\n/*border-bottom: 3px solid #303030;*/\nborder-bottom: 3px solid #000099;\n}\n\n#titleLine {\npadding-top: 2.000em;\n/*border-bottom: 3px solid #606060;*/\nborder-bottom: 3px solid #9999ff;\ncolor: #000099; \nbackground-color: #fff;\n/* text-align: right; */\n}\n\n#siteTitle {\ndisplay: block;\nfont-weight: bold;\nfont-size: 28pt;\n}\n\n#siteSubTitle {\ndisplay: block;\nfont-family: "Georgia", "Trebuchet MS", Verdana, Arial, sans-serif; \nfont-weight: bold;\nfont-style: italic;\n}\n\n.toolbar a.button {\ncolor: #888;\nborder: 1px solid #ccc;\n}\n\n.footer {\nmargin-bottom: 0.500em;\n}\n\n.footer a.button {\ncolor: #888;\nborder: 1px solid #fff !important;\n}\n\n.toolbar a.button:hover, .toolbar a.button:active, \n.footer a.button:hover, .footer a.button:active {\ncolor: #00f;\nbackground-color: #ddd;\nborder: 1px solid #fff !important;\n}\n\n.tiddler .title {\nfont-family: "Georgia", "Trebuchet MS", Verdana, Arial, sans-serif;\nborder-bottom: 1px solid #888;\n/*color: #000;*/\ncolor: #000099;\n}\n\n.tiddler {\nmargin-bottom: 1.000em\n}\n\n.tiddler .unselectedTiddler {\nborder: 1px solid #fff;\n}\n\n.tiddler .selectedTiddler {\nborder: 1px solid #f0f0f0;\n}\n\n.viewer {\ncolor: #000 !important;\n}\n\n.viewer a {\n/* color: #BE540B !important; */\n/*color: #930 !important;*/\ncolor: #888 !important;\n}\n\n.viewer a:hover, .viewer a:active {\n/* color: #00f !important; */\n/*color: #930 !important;*/\ncolor: #00f !important;\nbackground-color: transparent;\n}\n\n.viewer th {\ncolor: #000;\n/*background-color: #BBCCDD;*/\nbackground-color: #eee;\n}\n\n.viewer .button {\n margin: 0em 0.25em 0em 0.25em;\n padding: 0em 0.25em 0em 0.25em;\n background-color: #ddd;\n color: #fff;\n border-right: 1px solid #888;\n border-bottom: 1px solid #888;\n}\n\n.viewer .button:hover {\n background-color: #bbb;\n color: #cc9900;\n}\n\n.viewer blockquote {\n font-size: 8pt;\n line-height: 150%;\n border-left: 3px solid #ffffff;\n padding-left: 0.8em;\n margin-left: 2.5em;\n}\n\n.viewer h1,.viewer h2,.viewer h3,.viewer h4,.viewer h5 {\n font-weight: bold;\n text-decoration: none;\n background-color: #ddd;\n /*background-color: #9999ff;*/\n padding-left: 0.4em;\n}\n\n.viewer h1 {\n font-size: 12pt;\n}\n\n.viewer h2 {\n font-size: 11pt;\n}\n\n.viewer h3 {\n font-size: 10pt;\n}\n\n.viewer h4 {\n font-size: 9pt;\n}\n\n.viewer h5 {\n font-size: 8pt;\n}\n\n.viewer pre {\n padding: 0.5em 0.5em 0.5em 0.5em;\n margin-left: 0.5em;\n font-size: 100%;\n line-height: 1.4em;\n color: #000000;\n border: 1px solid #888;\n background-color: #ddd;\n overflow: auto;\n}\n\n.viewer code {\n font-size: 100%;\n line-height: 1.4em;\n color: #000000;\n}\n\n.viewer hr {\n border-top: dashed 1px #bbb;\n border-left: none;\n border-right: none;\n border-bottom: none;\n height: 1px;\n color: #888;\n}\n\n.toolbar {\n text-align: right;\n font-weight: normal;\n font-size: 8pt;\n padding: 0em 0em 0em 2em;\n color: #000000;\n visibility: hidden;\n}\n\n#mainMenu {\nposition: static;\nfloat: left;\n\nwidth: 10.000em !important;\nmargin: 0;\npadding: 3px;\n\nborder-right: 1px solid #ccc;\ntext-align: right;\n}\n\n#mainMenu a, #mainMenu a.tiddlyLink, \n#mainMenu a.tiddlyLinkNonExisting, #mainMenu a.button {\n/* color: #be540b !important; */\ndisplay: block;\n/*margin: 0 0.125em 0 0.125em;*/\nmargin: 0 0.1em 0 0.1em;\npadding: 0 2px 0 2px;\nwidth: 9.000em !important;\n/*color: #930 !important;*/\ncolor: #888 !important;\n}\n\n#mainMenu a:hover, #mainMenu a:active {\ncolor: #00f !important;\nbackground-color: #ddd !important;\n}\n\n#sidebar {\n/*border-left: 1px solid #888;*/\n/*border-bottom: 1px solid #888;*/\n}\n\n#sidebarOptions {\nbackground-color: #000099;\n}\n\n#sidebarOptions a.button{\ncolor: #fff;\n}\n\n#sidebarOptions a.button:hover, #sidebarOptions a.button:active {\ncolor: #fff;\nbackground-color: #ccc;\n}\n\n#sidebarOptions input {\nfont-family: "Trebuchet MS", Verdana, Arial, sans-serif;\nfont-size: 1.000em;\n}\n\n.sliderPanel {\nborder-top: 1px solid #bbb;\nborder-bottom: 1px solid #bbb;\nbackground-color: #888 !important;\n}\n\n.sliderPanel a.tiddlyLink, .sliderPanel a.tiddlyLinkNonExisting {\n/*color: #930 !important;*/\ncolor: #fff !important;\n}\n\n.sliderPanel a.tiddlyLink:hover, \n.sliderPanel a.tiddlyLinkNonExisting:hover, \n.sliderPanel a.tiddlyLink:hover, \n.sliderPanel a.tiddlyLinkNonExisting:hover {\ncolor: #00f !important;\nbackground-color: transparent !important;\n}\n\n.tab {\npadding-left: 5px;\npadding-right: 5px;\n\n-moz-border-radius-topleft: 4px;\n-moz-border-radius-topright: 4px;\n}\n\n.tabSet {\n/*background-color: #888;*/\nbackground-color: #000099;\n}\n\n.tabSet a.tabSelected {\ncolor: #333 !important;\nbackground-color: #d8d8d8 !important;\n/*position: relative;*/\nposition: static;\ntop: -2px;\n}\n\n.tabSet a.tabUnselected {\ncolor: #666 !important;\nbackground-color: #bbb !important;\nposition: relative;\ntop: -2px;\n}\n\n.tabSet a.tabSelected:hover, \n.tabSet a.tabSelected:active, \n.tabSet a.tabUnselected:hover, \n.tabSet a.tabUnselected:active {\ncolor: #00f !important;\n}\n\n.tabContents {\nbackground-color: #d8d8d8 !important;\n}\n\n.tabContents a {\n/* color: #BE540B !important; */\n/* color: #930!important; */\ncolor: #000 !important;\n}\n\n.tabContents a:hover, tabContents a:active {\ncolor: #00f !important;\nbackground-color: transparent !important;\n}\n\n/* Settings for the "nested" tabs within the More tab: */\n.txtMoreTab .tabSet {\nbackground-color: #d8d8d8 !important;\n}\n\n.txtMoreTab .tabSet .tabSelected {\nbackground-color: #f0f0f0 !important;\n}\n\n.txtMoreTab .tabSet .tabUnselected {\nbackground-color: #bbb !important;\n}\n\n.txtMoreTab .tabContents {\nbackground-color: #f0f0f0 !important;\n}\n\n#messageArea {\ncolor: #999;\nbackground-color: #ddd;\nborder: 1px solid #888;\n}\n\n#messageArea a {\n/*color: #930 !important;*/\ncolor: #000 !important;\n}\n\n#messageArea a:hover {\n/*color: #00f !important;*/\ncolor: #00f !important;\n}\n\n#popup {\ncolor: #999;\nbackground-color: #ddd;\nborder: 1px solid #999;\n}\n\n#popup a {\n/*color: #930;*/\ncolor: #000;\n}\n\n#popup a:hover {\nbackground-color: #888;\ncolor: #00f;\n}\n\n#popup hr {\nborder-top: solid 1px #999;\ncolor: #999;\n}\n\n.editor INPUT, .editor TEXTAREA {\ncolor: #000;\n/*background-color: #fffff4;*/\nbackground-color: #eee;\nfont-family: "Bitstream Vera Sans Mono", "Courier New", Courier, monospaced;\nfont-size: 8pt;\noverflow: auto;\n}\n\n.zoomer {\nvisibility: hidden;\n}\n\n/* List item styling to get the funky chevrons or "guillemets" on the front \n * of list items rather than just bullets. Note that the html>body identifier \n * is important at this point to ensure that this degrades gracefully\n * for those poor lost souls still suffering under the curse of IE...\n */\nhtml>body .tiddler ul li {\nlist-style-type: none;\nlist-style-image: none; \n}\n\n.tiddler ul li:before {\ncontent: "\s00BB \s0020";\n}\n\n\n@media print {\n\n#mainMenu {\ndisplay: none;\n}\n\n#displayArea {\nmargin: 1em 1em 0em 1em;\nposition: relative;\n}\n\n#sidebar {\ndisplay: none;\n}\n\n} /* \nprint \n}}}\n*/\n\n/*\n!!! Start Calendar CSS\n{{{\n*/\n\n#mainMenu #calendarWrapper {\n display: block;\n}\n.viewer #calendarArea {\n width: 220px;\n}\n\n\n#calendarWrapper table {\n width: 100%;\n background-color: #000066;\n border-collapse: collapse;\n padding: 0px;\n margin: 0px;\n border: none;\n cursor: pointer;\n}\n\n#calendarWrapper #calendarArea {\n}\n\n#calendarWrapper #calendarTable .calendarCell {\n display: block;\n width: 100%;\n cursor: pointer;\n text-align: inherit;\n}\n\n#calendarWrapper #calendarHeader {\n font-weight: normal;\n width: 100%;\n text-align: center;\n font-size: 8pt;\n color: #ffffff;\n}\n\n#calendarWrapper #calendarHeader tr {\n width: 100%;\n}\n\n#calendarWrapper #calendarHeader td {\n padding: 1px 2px 1px 2px;\n}\n\n#calendarWrapper #calendarHeader .selectMonth {\n}\n\n#calendarWrapper #calendarHeader .selectYear {\n}\n\n#calendarWrapper #calendarHeader .selectToday {\n width: 100%;\n}\n\n#calendarWrapper #calendarTable {\n width: 100%;\n text-align: center;\n color: #000000;\n background-color: #ffffff;\n font-size: 8pt;\n}\n\n#calendarWrapper #calendarTable td {\n width: 14%;\n}\n\n#calendarWrapper #calendarTable .weekNames {\n /*color: #000;*/\n /*background-color: #888;*/\n color: #ffffff;\n background-color: #000099;\n}\n\n#calendarWrapper #calendarTable .weekDay {\n background-color: #ededed;\n}\n\n#calendarWrapper #calendarTable .currentDay {\n background-color: #6666cc;\n color: #ffffff;\n}\n\n#calendarWrapper #calendarTable .workingDay {\n background-color: #ffffff;\n}\n\n#calendarWrapper #calendarTable .scheduledDay {\n background-color: #000099;\n color: #ffffff;\n}\n\n/*\n}}}\n!!! End Calendar CSS */
!Header 1\n!!Header 2\n!!!Header 3\n!!!!Header 4\n!!!!!Header 5\n
*sample:\n|!th1111111111|!th2222222222|\n|>| colspan |\n| rowspan |left|\n|~| right|\n|bgcolor(#a0ffa0):colored| center |\n|caption|c
// //''Name:'' WebView\n// //''Version:'' <<getversion webview>> (<<getversiondate webview "DD MMM YYYY">>)\n// //''Author:'' AlanHecht\n// //''Type:'' SystemConfig\n\n// //''Description:'' WebView lets you customize how your ~TiddlyWiki file will appear when viewed as a website (i.e. when accessed via an "http:..." URL). This lets you use ~TiddlyWiki as a website without it being obvious or confusing to your web visitors. You can selectively set which toolbar buttons appear to visitors as well hide/show the tiddler tag footers, sidebar commands, options, advanced options, and even the sidebar tabs. You can even disable the "double-click to edit" feature.\n// //@@''To illustrate, I've put an example of a ~WebView configuration [[here|http://snipurl.com/qwikiweb/webviewsample.htm]]. Note: don't use the code from this example as the WebView version is old.''@@\n\n// //''Directions:'' <<tiddler StartupBehaviorDirections>> \n// //Then, in the code section below, change the lines in the WebView settings section to enable or disable that particular feature. If you wish to use an alternate version of the sidebar commands, options, advanced options, or the sidebar tabs, you'll need to edit the alternate versions that appear below. The default versions for these has been included for convenience. Leave them as is if you do not want them to be changed for web viewing.\n\n// //''Revision History:''\n// // v0.1.0 (09 August 2005): preview release (to ~TiddlyWikiDev community)\n// // v0.1.1 (10 August 2005): initial release (includes a slight change from the "preview" version)\n// // v0.1.2 (10 August 2005): added a contentWrapper class name ("webView") to allow custom CSS for the web-based ~TiddlyWiki (see notes for more information). Thanks to Clint Checketts for this addition.\n// // v0.1.3 (3 September 2005): retooled the shadow tiddlers for SideBarTabs and MoreTab to reflect the changes made in TiddlyWiki version 1.2.32. Also added macro code that lets you preview the WebView look before you upload to your server. Simply add the {{{<< testWebView >>}}} macro into your AdvancedOptions tiddler or other location to create a button for the preview.\n\n// //''Notes:'' ~WebView 0.1.2 added a class name for the web-served ~TiddlyWiki contentWrapper. This means that you can have sections in your stylesheet tiddler that get applied only when the wiki is viewed from the web. For instance, you can enlarge the toolbar font with the following CSS in the stylesheet tiddler: {{{.webView #displayArea .toolbar {font-size: 2em;} }}}\n\n// //''Code section:''\n// //Webview settings (edit the following with true (enable) or false (disable) according to how the page should look from the web)\nvar wvShowNewTiddler = false; // //''affects all "new tidder" macro links''\nvar wvShowNewJournal = false; // //''affects all "new journal" macro links''\nvar wvDblClickToEdit = false; // //''enables/disables the "double-click to edit a tiddler" feature''\nvar wvShowClose = true; // //''show/hide toolbar close buttons''\nvar wvShowEdit = false; // //''show/hide toolbar edit buttons''\nvar wvShowPermalink = false; // //''show/hide toolbar permalink buttons''\nvar wvShowReferences = true; // //''show/hide toolbar references buttons''\nvar wvShowTags = false; // //''show/hide tiddler tag footers''\nvar wvShowTabs = false; // //''show/hide sidebar tabs entirely (you can also customize them below)''\n\n// //Alternate versions of SideBar, Options, AdvancedOptions, SideBarTabs, and MoreTab\n//config.shadowTiddlers.wvSideBarOptions = "<<search>><<closeAll>><<slider chkSliderOptionsPanel OptionsPanel options 'Change TiddlyWiki advanced options'>>";\nconfig.shadowTiddlers.wvSideBarOptions = "<<search>><<closeAll>>";\n\nconfig.shadowTiddlers.wvOptionsPanel = "These InterfaceOptions for customising TiddlyWiki are saved in your browser\sn\snYour username for signing your edits. Write it as a WikiWord (eg JoeBloggs)\sn\sn<<option txtUserName>>\sn<<option chkSaveBackups>> SaveBackups\sn<<option chkAutoSave>> AutoSave\sn<<option chkGenerateAnRssFeed>> GenerateAnRssFeed\sn<<option chkRegExpSearch>> RegExpSearch\sn<<option chkCaseSensitiveSearch>> CaseSensitiveSearch\sn<<option chkAnimate>> EnableAnimations\sn\snSee AdvancedOptions";\n\nconfig.shadowTiddlers.wvAdvancedOptions = "<<option chkOpenInNewWindow>> OpenLinksInNewWindow\sn<<option chkSaveEmptyTemplate>> SaveEmptyTemplate\sn<<option chkToggleLinks>> Clicking on links to tiddlers that are already open causes them to close\sn^^(override with Control or other modifier key)^^";\n\nconfig.shadowTiddlers.wvSideBarTabs = "<<tabs txtMainTab Timeline Timeline TabTimeline All 'All tiddlers' TabAll Tags 'All tags' TabTags More 'More lists' TabMore>>";\n\nconfig.shadowTiddlers.wvTabMore = "<<tabs txtMoreTab Missing 'Missing tiddlers' TabMoreMissing Orphans 'Orphaned tiddlers' TabMoreOrphans>>";\n\n\n// //''Actual code section (no need to edit below this line for most users)''\n// //------------------------------------------------------------------------------\nversion.extensions.webview = {major: 0, minor: 1, revision: 3, date: new Date("Sep 3, 2005")};\n// Identify special tiddlers to intercept\nvar wvShadowTiddlers = ["SideBarOptions","OptionsPanel","AdvancedOptions","SideBarTabs","TabMore"];\n\n// Determine if the page is being loaded locally or from the web\nvar docPath = document.location.toString().substring(0,document.location.toString().indexOf(":"));\nif(docPath == "file")\n var inWebView = false;\nelse\n {\n var inWebView = true;\n document.getElementById('contentWrapper').className += " webView";\n }\n\n// Hijack the newTiddler function\nconfig.macros.newTiddler.handler_orig_webView = config.macros.newTiddler.handler;\nconfig.macros.newTiddler.handler = function(place,macroName,params)\n{\n if (!inWebView || wvShowNewTiddler)\n config.macros.newTiddler.handler_orig_webView(place,macroName,params);\n}\n\n// Hijack the newJournal function\nconfig.macros.newJournal.handler_orig_webView = config.macros.newJournal.handler;\nconfig.macros.newJournal.handler = function(place,macroName,params)\n{\n if (!inWebView || wvShowNewJournal)\n config.macros.newJournal.handler_orig_webView(place,macroName,params);\n}\n\n// Replace "double-click to edit" function\nwindow.onDblClickTiddler_orig_webView = window.onDblClickTiddler;\nwindow.onDblClickTiddler = function(e) {\nif(!inWebView || wvDblClickToEdit)\n {\n clearMessage();\n if(document.selection)\n document.selection.empty();\n var tiddler;\n if(this.id.substr(0,7) == "tiddler")\n tiddler = this.id.substr(7);\n if(tiddler)\n displayTiddler(null,tiddler,2,null,null,false,false);\n }\n}\n\n// Hijack the createTiddlerToolbar function\nwindow.createTiddlerToolbar_orig_webView = window.createTiddlerToolbar;\nwindow.createTiddlerToolbar = function(title,isEditor)\n{\n var theToolbar = document.getElementById("toolbar" + title);\n var lingo = config.views;\n if(theToolbar)\n {\n removeChildren(theToolbar);\n insertSpacer(theToolbar);\n if(isEditor)\n {\n // Editor toolbar\n lingo = lingo.editor;\n createTiddlyButton(theToolbar,lingo.toolbarDone.text,lingo.toolbarDone.tooltip,onClickToolbarSave);\n insertSpacer(theToolbar);\n createTiddlyButton(theToolbar,lingo.toolbarCancel.text,lingo.toolbarCancel.tooltip,onClickToolbarUndo);\n insertSpacer(theToolbar);\n createTiddlyButton(theToolbar,lingo.toolbarDelete.text,lingo.toolbarDelete.tooltip,onClickToolbarDelete);\n }\n else\n {\n // Viewer toolbar\n lingo = lingo.wikified;\n if(!inWebView || wvShowClose)\n {\n createTiddlyButton(theToolbar,lingo.toolbarClose.text,lingo.toolbarClose.tooltip,onClickToolbarClose);\n insertSpacer(theToolbar);\n }\n if(!inWebView || wvShowEdit)\n {\n createTiddlyButton(theToolbar,lingo.toolbarEdit.text,lingo.toolbarEdit.tooltip,onClickToolbarEdit);\n insertSpacer(theToolbar);\n }\n if(!inWebView || wvShowPermalink)\n {\n createTiddlyButton(theToolbar,lingo.toolbarPermalink.text,lingo.toolbarPermalink.tooltip,onClickToolbarPermaLink);\n insertSpacer(theToolbar);\n }\n if(!inWebView || wvShowReferences)\n {\n createTiddlyButton(theToolbar,lingo.toolbarReferences.text,lingo.toolbarReferences.tooltip,onClickToolbarReferences);\n }\n }\n insertSpacer(theToolbar);\n }\n}\n\n// Hijack the createTiddlerFooter function\nwindow.createTiddlerFooter_orig_webView = window.createTiddlerFooter;\nwindow.createTiddlerFooter = function(title,isEditor)\n{\n if(!inWebView || wvShowTags)\n createTiddlerFooter_orig_webView(title,isEditor);\n}\n\n// sideBar, options, and tab settings code\n// Hijack the getTiddlerText prototype function\nTiddlyWiki.prototype.getTiddlerText_orig_webView = TiddlyWiki.prototype.getTiddlerText;\nTiddlyWiki.prototype.getTiddlerText = function(title,defaultText)\n{\n if(inWebView && (wvShadowTiddlers.join("~").match(title) == title))\n {\n defaultText = store.getTiddlerText_orig_webView(title,defaultText);\n var tiddlerText = store.getTiddlerText_orig_webView("wv"+title,defaultText);\n }\n else\n var tiddlerText = store.getTiddlerText_orig_webView(title,defaultText);\n return tiddlerText;\n}\n// Reset the getTiddlerText function for the current store\nstore.getTiddlerText = TiddlyWiki.prototype.getTiddlerText;\n// SideBarTabs show/hide code\n// Remove the old refreshTabs function from notifyTiddlers & store notifications\nfor(t=0; t<config.notifyTiddlers.length; t++)\n if(config.notifyTiddlers[t] == window.refreshTabs)\n config.notifyTiddlers.splice(t,1);\n// Hijack the refreshTabs function\nwindow.refreshTabs_orig_webView = window.refreshTabs;\nwindow.refreshTabs = function(hint)\n{\n if(!inWebView || wvShowTabs)\n refreshTabs_orig_webView(hint);\n else\n document.getElementById("sidebarTabs").style.display = "none";\n}\n// Add our new refreshTabs function to the notifyTiddlers list & store notifications\nconfig.notifyTiddlers.push(refreshTabs());\nstore.addNotification(null,refreshTabs);\n\n// WebView Preview code...\nfunction toggleWebView()\n{\n var forceWebView = confirm("Do you want to preview this TiddlyWiki using WebView? This preview can be cancelled by refreshing the page in your browser. Be sure to save changes before previewing WebView settings.");\n if(forceWebView)\n inWebView=true;\n else\n inWebView=false;\n refreshMenu();\n refreshStory();\n refreshTabs();\n refreshSidebar("SideBarOptions");\n}\n\nconfig.macros.testWebView = {}\nconfig.macros.testWebView.handler = function(place,macroName,params)\n{\n createTiddlyButton(place,"Test WebView","Manually turn WebView on ",toggleWebView);\n}\n\n
Welcome to ''REVILO, Inc.''. We are a full-service client-oriented custom software solutions provider. Please feel free to take a look at our [[services|Services]] list as well as a list of recent [[clients|Clients]]. \n\nAs many people are unfamilar with the 'tech-speak' that is so indicative of professionals in the software industry, we have provided a short [[glossary|Glossary]] of the less familiar terms we use on this website.