Fossil SCM
Assorted improvements to the new use-of-JS doc
Commit
f40a9ccf3c47adee5965e2c44b13a7b283e91020d808472cc6f5b7f43270a656
Parent
9fd8b1c9d192efb…
1 file changed
+27
-27
+27
-27
| --- www/javascript.md | ||
| +++ www/javascript.md | ||
| @@ -9,21 +9,21 @@ | ||
| 9 | 9 | enhancement to provided functionality, and there is always another way |
| 10 | 10 | to accomplish a given end without using JavaScript. |
| 11 | 11 | |
| 12 | 12 | This is not to say that Fossil’s fall-backs for such cases are always as |
| 13 | 13 | elegant and functional as a no-JS purist might wish. That is simply |
| 14 | -because [the vast majority of web users run with JS enabled](#stats), and a | |
| 15 | -minority of those run with some kind of conditional JavaScript blocking | |
| 16 | -in place. Fossil’s active developers do not deviate from that norm | |
| 17 | -enough that we have many no-JS purists among us, so the no-JS case | |
| 14 | +because [the vast majority of web users run with JS enabled](#stats), | |
| 15 | +and a minority of those run with some kind of conditional JavaScript | |
| 16 | +blocking in place. Fossil’s active developers do not deviate from that | |
| 17 | +norm enough that we have many no-JS purists among us, so the no-JS case | |
| 18 | 18 | doesn’t get as much attention as some might want. We do [accept code |
| 19 | 19 | contributions][cg], and we are philosophically in favor of graceful |
| 20 | 20 | fall-backs, so you are welcome to appoint yourself the position of no-JS |
| 21 | 21 | czar for the Fossil project! |
| 22 | 22 | |
| 23 | 23 | Evil is in actions, not in nouns, so we do not believe JavaScript *can* |
| 24 | -be evil. It is an active technology, but the actions that matters here | |
| 24 | +be evil. It is an active technology, but the actions that matter here | |
| 25 | 25 | are those of writing the code and checking it into the Fossil project |
| 26 | 26 | repository. None of the JavaScript code in Fossil is evil, a fact we |
| 27 | 27 | enforce by being careful about who we give check-in rights on the |
| 28 | 28 | repository to and by policing what code does get contributed. The Fossil |
| 29 | 29 | project does not accept non-trivial outside contributions. |
| @@ -89,14 +89,14 @@ | ||
| 89 | 89 | common ones like jQuery. Every bit of JavaScript served by the stock |
| 90 | 90 | version of Fossil was written specifically for the Fossil project and is |
| 91 | 91 | stored [in its code repository](https://fossil-scm.org/fossil/file). |
| 92 | 92 | |
| 93 | 93 | Therefore, if you want to hack on the JavaScript code served by Fossil |
| 94 | -and mechanisms like [skin editing][cs] don’t suffice for your | |
| 95 | -purposes, you can hack on the JavaScript in your local instance | |
| 96 | -directly, just as you can hack on its C, SQL, Tcl, etc. code. Fossil is | |
| 97 | -free and open source software, under [a single license][2cbsd]. | |
| 94 | +and mechanisms like [skin editing][cs] don’t suffice for your purposes, | |
| 95 | +you can hack on the JavaScript in your local instance directly, just as | |
| 96 | +you can hack on its C, SQL, and Tcl code. Fossil is free and open source | |
| 97 | +software, under [a single license][2cbsd]. | |
| 98 | 98 | |
| 99 | 99 | [2cbsd]: https://fossil-scm.org/home/doc/trunk/COPYRIGHT-BSD2.txt |
| 100 | 100 | [cs]: ./customskin.md |
| 101 | 101 | |
| 102 | 102 | |
| @@ -137,17 +137,17 @@ | ||
| 137 | 137 | timeline simply collapses to zero width. All of the information you can |
| 138 | 138 | get from the timeline can be retrieved from Fossil in other ways not |
| 139 | 139 | using JavaScript: the “`fossil timeline`” command, the “`fossil info`” |
| 140 | 140 | command, by clicking around within the web UI, etc. |
| 141 | 141 | |
| 142 | -_Potential Workaround:_ The timeline could be enhanced with | |
| 143 | -`<noscript>` tags that replace the graph with a column of checkboxes | |
| 144 | -that control what a series of form submit buttons do when clicked, | |
| 145 | -replicating the current JS-based features of the graph using | |
| 146 | -client-server round-trips. For example, you could click two of those | |
| 147 | -checkboxes and then a button labeled “Diff Selected” to replicate the | |
| 148 | -current “click two nodes to diff them” feature. | |
| 142 | +_Potential Workaround:_ The timeline could be enhanced with `<noscript>` | |
| 143 | +tags that replace the graph with a column of checkboxes that control | |
| 144 | +what a series of form submit buttons do when clicked, replicating the | |
| 145 | +current JS-based features of the graph using client-server round-trips. | |
| 146 | +For example, you could click two of those checkboxes and then a button | |
| 147 | +labeled “Diff Selected” to replicate the current “click two nodes to | |
| 148 | +diff them” feature. | |
| 149 | 149 | |
| 150 | 150 | [wt]: https://fossil-scm.org/fossil/timeline |
| 151 | 151 | |
| 152 | 152 | |
| 153 | 153 | ### <a id="wedit"></a>WYSIWYG Wiki Editor |
| @@ -154,26 +154,26 @@ | ||
| 154 | 154 | |
| 155 | 155 | The Admin → Wiki → “Enable WYSIWYG Wiki Editing” toggle switches the |
| 156 | 156 | default plaintext editor for [Fossil wiki][fw] documents to one that |
| 157 | 157 | works like a basic word processor. This feature requires JavaScript in |
| 158 | 158 | order to react to editor button clicks like the “**B**” button, meaning |
| 159 | -“make \[selected\] text boldface.” There is no standard WYSIWIG editor | |
| 159 | +“make \[selected\] text boldface.” There is no standard WYSIWYG editor | |
| 160 | 160 | component in browsers, doubtless because it’s relatively straightforward |
| 161 | 161 | to create one using JavaScript. |
| 162 | 162 | |
| 163 | -_Graceful Fallback:_ Edit your wiki documents in plain text. Fossil’s | |
| 164 | -wiki and Markdown language processors were designed to be edited that | |
| 165 | -way, and this is the default behavior. | |
| 163 | +_Graceful Fallback:_ Edit your wiki documents in the default plain text | |
| 164 | +wiki editor. Fossil’s wiki and Markdown language processors were | |
| 165 | +designed to be edited that way. | |
| 166 | 166 | |
| 167 | 167 | [fw]: ./wikitheory.wiki |
| 168 | 168 | |
| 169 | 169 | |
| 170 | 170 | ### <a id="ln"></a>Line Numbering |
| 171 | 171 | |
| 172 | 172 | When viewing source files, Fossil offers to show line numbers in some |
| 173 | -cases. Toggling them on and off is currently handled | |
| 174 | -in JavaScript. ([Example][mainc].) | |
| 173 | +cases. Toggling them on and off is currently handled in JavaScript. | |
| 174 | +([Example][mainc].) | |
| 175 | 175 | |
| 176 | 176 | _Workaround:_ Edit the URL to give the “`ln`” query parameter per [the |
| 177 | 177 | `/file` docs](/help?cmd=/file), or provide a patch to reload the page |
| 178 | 178 | with this parameter included/excluded to implement the toggle via a |
| 179 | 179 | server round-trip. |
| @@ -195,18 +195,18 @@ | ||
| 195 | 195 | In several places where the Fossil web UI shows a check-in hash or |
| 196 | 196 | similar, hovering over that check-in shows a tooltip with details about |
| 197 | 197 | the type of artifact the hash refers to and allows you to click to copy |
| 198 | 198 | the hash to the clipboard. |
| 199 | 199 | |
| 200 | -_Graceful Fallback:_ When JavaScript is disabled, these tooltips | |
| 201 | -simply don’t appear. You can then select and copy the hash using your | |
| 202 | -browser, make “`fossil info`” queries on those hashes, etc. | |
| 200 | +_Graceful Fallback:_ When JavaScript is disabled, these tooltips simply | |
| 201 | +don’t appear. You can then select and copy the hash using your browser, | |
| 202 | +make “`fossil info`” queries on those hashes, etc. | |
| 203 | 203 | |
| 204 | 204 | |
| 205 | 205 | ### <a id="bots"></a>Anti-Bot Defenses |
| 206 | 206 | |
| 207 | -Fossil has [anit-bot defenses][abd], and it has some JavaScript code | |
| 207 | +Fossil has [anti-bot defenses][abd], and it has some JavaScript code | |
| 208 | 208 | that, if run, can drop some of these defenses if it decides a given page |
| 209 | 209 | was loaded on behalf of a human, rather than a bot. |
| 210 | 210 | |
| 211 | 211 | _Graceful Fallback:_ You can use Fossil’s anonymous login feature to |
| 212 | 212 | convince the remote Fossil instance that you are not a bot. Coupled with |
| @@ -244,8 +244,8 @@ | ||
| 244 | 244 | developers are unlikely to try to make these features work better in the |
| 245 | 245 | absence of JavaScript. |
| 246 | 246 | |
| 247 | 247 | However, we are willing to study patches to make this better. For |
| 248 | 248 | example, the wall clock displays could include the page load time in the |
| 249 | -dynamically-generated HTML shipped from the remote Fossil server, so | |
| 249 | +dynamically generated HTML shipped from the remote Fossil server, so | |
| 250 | 250 | that in the absence of JavaScript, you at least get the page generation |
| 251 | 251 | time, expressed in the server’s time zone. |
| 252 | 252 |
| --- www/javascript.md | |
| +++ www/javascript.md | |
| @@ -9,21 +9,21 @@ | |
| 9 | enhancement to provided functionality, and there is always another way |
| 10 | to accomplish a given end without using JavaScript. |
| 11 | |
| 12 | This is not to say that Fossil’s fall-backs for such cases are always as |
| 13 | elegant and functional as a no-JS purist might wish. That is simply |
| 14 | because [the vast majority of web users run with JS enabled](#stats), and a |
| 15 | minority of those run with some kind of conditional JavaScript blocking |
| 16 | in place. Fossil’s active developers do not deviate from that norm |
| 17 | enough that we have many no-JS purists among us, so the no-JS case |
| 18 | doesn’t get as much attention as some might want. We do [accept code |
| 19 | contributions][cg], and we are philosophically in favor of graceful |
| 20 | fall-backs, so you are welcome to appoint yourself the position of no-JS |
| 21 | czar for the Fossil project! |
| 22 | |
| 23 | Evil is in actions, not in nouns, so we do not believe JavaScript *can* |
| 24 | be evil. It is an active technology, but the actions that matters here |
| 25 | are those of writing the code and checking it into the Fossil project |
| 26 | repository. None of the JavaScript code in Fossil is evil, a fact we |
| 27 | enforce by being careful about who we give check-in rights on the |
| 28 | repository to and by policing what code does get contributed. The Fossil |
| 29 | project does not accept non-trivial outside contributions. |
| @@ -89,14 +89,14 @@ | |
| 89 | common ones like jQuery. Every bit of JavaScript served by the stock |
| 90 | version of Fossil was written specifically for the Fossil project and is |
| 91 | stored [in its code repository](https://fossil-scm.org/fossil/file). |
| 92 | |
| 93 | Therefore, if you want to hack on the JavaScript code served by Fossil |
| 94 | and mechanisms like [skin editing][cs] don’t suffice for your |
| 95 | purposes, you can hack on the JavaScript in your local instance |
| 96 | directly, just as you can hack on its C, SQL, Tcl, etc. code. Fossil is |
| 97 | free and open source software, under [a single license][2cbsd]. |
| 98 | |
| 99 | [2cbsd]: https://fossil-scm.org/home/doc/trunk/COPYRIGHT-BSD2.txt |
| 100 | [cs]: ./customskin.md |
| 101 | |
| 102 | |
| @@ -137,17 +137,17 @@ | |
| 137 | timeline simply collapses to zero width. All of the information you can |
| 138 | get from the timeline can be retrieved from Fossil in other ways not |
| 139 | using JavaScript: the “`fossil timeline`” command, the “`fossil info`” |
| 140 | command, by clicking around within the web UI, etc. |
| 141 | |
| 142 | _Potential Workaround:_ The timeline could be enhanced with |
| 143 | `<noscript>` tags that replace the graph with a column of checkboxes |
| 144 | that control what a series of form submit buttons do when clicked, |
| 145 | replicating the current JS-based features of the graph using |
| 146 | client-server round-trips. For example, you could click two of those |
| 147 | checkboxes and then a button labeled “Diff Selected” to replicate the |
| 148 | current “click two nodes to diff them” feature. |
| 149 | |
| 150 | [wt]: https://fossil-scm.org/fossil/timeline |
| 151 | |
| 152 | |
| 153 | ### <a id="wedit"></a>WYSIWYG Wiki Editor |
| @@ -154,26 +154,26 @@ | |
| 154 | |
| 155 | The Admin → Wiki → “Enable WYSIWYG Wiki Editing” toggle switches the |
| 156 | default plaintext editor for [Fossil wiki][fw] documents to one that |
| 157 | works like a basic word processor. This feature requires JavaScript in |
| 158 | order to react to editor button clicks like the “**B**” button, meaning |
| 159 | “make \[selected\] text boldface.” There is no standard WYSIWIG editor |
| 160 | component in browsers, doubtless because it’s relatively straightforward |
| 161 | to create one using JavaScript. |
| 162 | |
| 163 | _Graceful Fallback:_ Edit your wiki documents in plain text. Fossil’s |
| 164 | wiki and Markdown language processors were designed to be edited that |
| 165 | way, and this is the default behavior. |
| 166 | |
| 167 | [fw]: ./wikitheory.wiki |
| 168 | |
| 169 | |
| 170 | ### <a id="ln"></a>Line Numbering |
| 171 | |
| 172 | When viewing source files, Fossil offers to show line numbers in some |
| 173 | cases. Toggling them on and off is currently handled |
| 174 | in JavaScript. ([Example][mainc].) |
| 175 | |
| 176 | _Workaround:_ Edit the URL to give the “`ln`” query parameter per [the |
| 177 | `/file` docs](/help?cmd=/file), or provide a patch to reload the page |
| 178 | with this parameter included/excluded to implement the toggle via a |
| 179 | server round-trip. |
| @@ -195,18 +195,18 @@ | |
| 195 | In several places where the Fossil web UI shows a check-in hash or |
| 196 | similar, hovering over that check-in shows a tooltip with details about |
| 197 | the type of artifact the hash refers to and allows you to click to copy |
| 198 | the hash to the clipboard. |
| 199 | |
| 200 | _Graceful Fallback:_ When JavaScript is disabled, these tooltips |
| 201 | simply don’t appear. You can then select and copy the hash using your |
| 202 | browser, make “`fossil info`” queries on those hashes, etc. |
| 203 | |
| 204 | |
| 205 | ### <a id="bots"></a>Anti-Bot Defenses |
| 206 | |
| 207 | Fossil has [anit-bot defenses][abd], and it has some JavaScript code |
| 208 | that, if run, can drop some of these defenses if it decides a given page |
| 209 | was loaded on behalf of a human, rather than a bot. |
| 210 | |
| 211 | _Graceful Fallback:_ You can use Fossil’s anonymous login feature to |
| 212 | convince the remote Fossil instance that you are not a bot. Coupled with |
| @@ -244,8 +244,8 @@ | |
| 244 | developers are unlikely to try to make these features work better in the |
| 245 | absence of JavaScript. |
| 246 | |
| 247 | However, we are willing to study patches to make this better. For |
| 248 | example, the wall clock displays could include the page load time in the |
| 249 | dynamically-generated HTML shipped from the remote Fossil server, so |
| 250 | that in the absence of JavaScript, you at least get the page generation |
| 251 | time, expressed in the server’s time zone. |
| 252 |
| --- www/javascript.md | |
| +++ www/javascript.md | |
| @@ -9,21 +9,21 @@ | |
| 9 | enhancement to provided functionality, and there is always another way |
| 10 | to accomplish a given end without using JavaScript. |
| 11 | |
| 12 | This is not to say that Fossil’s fall-backs for such cases are always as |
| 13 | elegant and functional as a no-JS purist might wish. That is simply |
| 14 | because [the vast majority of web users run with JS enabled](#stats), |
| 15 | and a minority of those run with some kind of conditional JavaScript |
| 16 | blocking in place. Fossil’s active developers do not deviate from that |
| 17 | norm enough that we have many no-JS purists among us, so the no-JS case |
| 18 | doesn’t get as much attention as some might want. We do [accept code |
| 19 | contributions][cg], and we are philosophically in favor of graceful |
| 20 | fall-backs, so you are welcome to appoint yourself the position of no-JS |
| 21 | czar for the Fossil project! |
| 22 | |
| 23 | Evil is in actions, not in nouns, so we do not believe JavaScript *can* |
| 24 | be evil. It is an active technology, but the actions that matter here |
| 25 | are those of writing the code and checking it into the Fossil project |
| 26 | repository. None of the JavaScript code in Fossil is evil, a fact we |
| 27 | enforce by being careful about who we give check-in rights on the |
| 28 | repository to and by policing what code does get contributed. The Fossil |
| 29 | project does not accept non-trivial outside contributions. |
| @@ -89,14 +89,14 @@ | |
| 89 | common ones like jQuery. Every bit of JavaScript served by the stock |
| 90 | version of Fossil was written specifically for the Fossil project and is |
| 91 | stored [in its code repository](https://fossil-scm.org/fossil/file). |
| 92 | |
| 93 | Therefore, if you want to hack on the JavaScript code served by Fossil |
| 94 | and mechanisms like [skin editing][cs] don’t suffice for your purposes, |
| 95 | you can hack on the JavaScript in your local instance directly, just as |
| 96 | you can hack on its C, SQL, and Tcl code. Fossil is free and open source |
| 97 | software, under [a single license][2cbsd]. |
| 98 | |
| 99 | [2cbsd]: https://fossil-scm.org/home/doc/trunk/COPYRIGHT-BSD2.txt |
| 100 | [cs]: ./customskin.md |
| 101 | |
| 102 | |
| @@ -137,17 +137,17 @@ | |
| 137 | timeline simply collapses to zero width. All of the information you can |
| 138 | get from the timeline can be retrieved from Fossil in other ways not |
| 139 | using JavaScript: the “`fossil timeline`” command, the “`fossil info`” |
| 140 | command, by clicking around within the web UI, etc. |
| 141 | |
| 142 | _Potential Workaround:_ The timeline could be enhanced with `<noscript>` |
| 143 | tags that replace the graph with a column of checkboxes that control |
| 144 | what a series of form submit buttons do when clicked, replicating the |
| 145 | current JS-based features of the graph using client-server round-trips. |
| 146 | For example, you could click two of those checkboxes and then a button |
| 147 | labeled “Diff Selected” to replicate the current “click two nodes to |
| 148 | diff them” feature. |
| 149 | |
| 150 | [wt]: https://fossil-scm.org/fossil/timeline |
| 151 | |
| 152 | |
| 153 | ### <a id="wedit"></a>WYSIWYG Wiki Editor |
| @@ -154,26 +154,26 @@ | |
| 154 | |
| 155 | The Admin → Wiki → “Enable WYSIWYG Wiki Editing” toggle switches the |
| 156 | default plaintext editor for [Fossil wiki][fw] documents to one that |
| 157 | works like a basic word processor. This feature requires JavaScript in |
| 158 | order to react to editor button clicks like the “**B**” button, meaning |
| 159 | “make \[selected\] text boldface.” There is no standard WYSIWYG editor |
| 160 | component in browsers, doubtless because it’s relatively straightforward |
| 161 | to create one using JavaScript. |
| 162 | |
| 163 | _Graceful Fallback:_ Edit your wiki documents in the default plain text |
| 164 | wiki editor. Fossil’s wiki and Markdown language processors were |
| 165 | designed to be edited that way. |
| 166 | |
| 167 | [fw]: ./wikitheory.wiki |
| 168 | |
| 169 | |
| 170 | ### <a id="ln"></a>Line Numbering |
| 171 | |
| 172 | When viewing source files, Fossil offers to show line numbers in some |
| 173 | cases. Toggling them on and off is currently handled in JavaScript. |
| 174 | ([Example][mainc].) |
| 175 | |
| 176 | _Workaround:_ Edit the URL to give the “`ln`” query parameter per [the |
| 177 | `/file` docs](/help?cmd=/file), or provide a patch to reload the page |
| 178 | with this parameter included/excluded to implement the toggle via a |
| 179 | server round-trip. |
| @@ -195,18 +195,18 @@ | |
| 195 | In several places where the Fossil web UI shows a check-in hash or |
| 196 | similar, hovering over that check-in shows a tooltip with details about |
| 197 | the type of artifact the hash refers to and allows you to click to copy |
| 198 | the hash to the clipboard. |
| 199 | |
| 200 | _Graceful Fallback:_ When JavaScript is disabled, these tooltips simply |
| 201 | don’t appear. You can then select and copy the hash using your browser, |
| 202 | make “`fossil info`” queries on those hashes, etc. |
| 203 | |
| 204 | |
| 205 | ### <a id="bots"></a>Anti-Bot Defenses |
| 206 | |
| 207 | Fossil has [anti-bot defenses][abd], and it has some JavaScript code |
| 208 | that, if run, can drop some of these defenses if it decides a given page |
| 209 | was loaded on behalf of a human, rather than a bot. |
| 210 | |
| 211 | _Graceful Fallback:_ You can use Fossil’s anonymous login feature to |
| 212 | convince the remote Fossil instance that you are not a bot. Coupled with |
| @@ -244,8 +244,8 @@ | |
| 244 | developers are unlikely to try to make these features work better in the |
| 245 | absence of JavaScript. |
| 246 | |
| 247 | However, we are willing to study patches to make this better. For |
| 248 | example, the wall clock displays could include the page load time in the |
| 249 | dynamically generated HTML shipped from the remote Fossil server, so |
| 250 | that in the absence of JavaScript, you at least get the page generation |
| 251 | time, expressed in the server’s time zone. |
| 252 |