forked from bibleforge/BibleForge
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
127 lines (115 loc) · 5.49 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<!doctype html>
<!--
/**
* BibleForge
*
* @date 10-30-08
* @version alpha (α)
* @link http://BibleForge.com
* @license GNU Affero General Public License 3.0 (AGPL-3.0)
* @author BibleForge <[email protected]>
*/
/**
* Copyright (C) 2012
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see http://www.opensource.org/licenses/AGPL-3.0.
*/
Welcome to hacking BibleForge.
This is the first file that is loaded when BibleForge loads. It is pretty simple.
It just creates some HTML elements and loads the external JavaScript and CSS.
In the future, this will probably be generated by the server to add more advanced features.
Most of the code is found in js/lang/en.js, js/main.js, and js/secondary.js.
js/lang/en.js is the first external script to be loaded. It creates some special functions and
variables specific to the English language. Lord willing, in the future, other languages will
be supported and will be loaded based on the clients' IP address or settings.
js/main.js is the heart of BibleForge. All of the essential code is in there. That's a good place
to start at. Understanding that code will help you understand the rest.
js/secondary.js is lazily loaded by js/main.js. It contains code that is not essential to
BibleForge or that can be loaded later with no impact to BibleForge's usability. It is loaded
later to make BibleForge start quicker.
styles/base.css is also loaded, which contains the essential styles for BibleForge. Currently,
no other style sheets are used. It is planned to allow users to add their own custom styles.
-->
<html>
<head>
<meta http-equiv=content-type content="text/html;charset=UTF-8">
<!-- TODO: Set the page title (and inputIcon title) with language specific JavaScript. -->
<title>BibleForge</title>
<link rel=stylesheet href="/styles/base.css?4609159">
<link rel="icon" type="image/png" href="/favicon.png">
<!-- This graphic is used by handhelds and tablets for a bookmark icon. -->
<!-- NOTE: Ideally, this should be at least 114 pixels. -->
<link rel="apple-touch-icon" href="/images/scroll_64.png">
<meta name=description content="BibleForge: The free, open source Bible Study web app.">
<!-- Safari on the iPhone or iPad requires that the viewport width be set. -->
<!-- The Froyo browser on Android 2.2 needs scaling disabled in order for fixed positioning to work. -->
<!-- TODO: The correct header should probably be sent dynamically from the server. -->
<meta name=viewport content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
<!-- Redirect unsupported browsers and those with JavaScript turned off to a non-JS version. -->
<noscript>
<meta http-equiv=refresh content="0; URL=!">
</noscript>
<!--[if lt IE 9]>
<meta http-equiv=refresh content="0; URL=!">
<![endif]-->
<!-- Tell Googlebot (and maybe other bots) to retry the same address with "?_escaped_fragment_=" at the end. -->
<!-- Then the server can create a page for Googlebot to index. -->
<meta name="fragment" content="!">
</head>
<body
><div class=viewPorts id=viewPort0
><div class=topBars
><div class=searchBars
><form action="/!"
><label for=q0 class=queryPadding
><nobr
><input type=button class=lang
><input type=text name=q id=q0 class=queryInput
><input type=image class=inputIcon alt=Go src="data:image/gif;base64,R0lGODlhEAAQAPIHAAIFARweHDU3NFlbWHJ0cZ2fnNDTz/3//CH5BAAKAAAALAAAAAAQABAAAANDeLpnAyAQRgsYxhQBDD2WxxDABxTfIUxMmRYBY7jfTNGU3YrUMPQ4xYwnhPAsKNmJBIEkF05ZqkmcGlOMwBW74FSxCQA7"
></nobr
></label
></form
></div
><div class=infoBars
><div class=infoLeft></div
></div
></div
><div class=loaders></div
><div class=scrolls></div
><div class=loaders></div
></div
><script>
"use strict";
/// Create the global BibleForge variable to which everything else attaches.
var BF = {};
/// Create the basis for the language object.
///NOTE: The elements in this object are overwritten if/when the code is actually downloaded.
///NOTE: Could use window.navigator.language (or perhaps navigator.userLanguage) to determine the user's language.
///NOTE: On the server side, the Accept-Language header could be used.
///TODO: This object needs to be created in the Forge.
BF.langs = {
/// Although this code is currently loaded by default (and so full_name will rewritten soon), in the future, the default language might be dynamically chosen.
en: {
full_name: "English (KJV)"
},
en_em: {
full_name: "Early Modern English (1611)",
modified: 4609102
}
};
</script
><script src="/js/lang/en.js?4638282"></script
><script src="/js/main.js?5902309"></script
></body
></html>