Fossil SCM

Provide an "Expand" or "Collapse" button on long forum posts. The default threshold is 50em.

drh 2020-07-09 19:09 trunk merge
Commit cd9cb4d24ad6cfc12a0198ac46ba50f4614afbc9ee59f8ea7a00e76cc381e9a6
+18 -2
--- src/default.css
+++ src/default.css
@@ -764,20 +764,36 @@
764764
border: 1px solid black;
765765
padding-left: 1ex;
766766
padding-right: 1ex;
767767
margin-top: 1ex;
768768
}
769
-div.forumPostBody {
770
- max-height: 100em;
769
+div.forumHier, div.forumTime, div.forumHierRoot {
770
+ display: flex;
771
+ flex-direction: column;
772
+}
773
+div.forumHier > div > form,
774
+div.forumTime > div > form,
775
+div.forumHierRoot > div > form {
776
+ margin: 0.5em 0;
777
+}
778
+button.forum-post-collapser {
779
+ align-self: flex-start;
780
+}
781
+div.forumPostBody{
782
+ max-height: 50em;
771783
overflow: auto;
784
+}
785
+div.forumPostBody.expanded {
786
+ max-height: initial;
772787
}
773788
div.forumSel {
774789
background-color: #cef;
775790
}
776791
div.forumObs {
777792
color: #bbb;
778793
}
794
+
779795
#capabilitySummary {
780796
text-align: center;
781797
}
782798
#capabilitySummary td {
783799
padding-left: 3ex;
784800
--- src/default.css
+++ src/default.css
@@ -764,20 +764,36 @@
764 border: 1px solid black;
765 padding-left: 1ex;
766 padding-right: 1ex;
767 margin-top: 1ex;
768 }
769 div.forumPostBody {
770 max-height: 100em;
 
 
 
 
 
 
 
 
 
 
 
 
771 overflow: auto;
 
 
 
772 }
773 div.forumSel {
774 background-color: #cef;
775 }
776 div.forumObs {
777 color: #bbb;
778 }
 
779 #capabilitySummary {
780 text-align: center;
781 }
782 #capabilitySummary td {
783 padding-left: 3ex;
784
--- src/default.css
+++ src/default.css
@@ -764,20 +764,36 @@
764 border: 1px solid black;
765 padding-left: 1ex;
766 padding-right: 1ex;
767 margin-top: 1ex;
768 }
769 div.forumHier, div.forumTime, div.forumHierRoot {
770 display: flex;
771 flex-direction: column;
772 }
773 div.forumHier > div > form,
774 div.forumTime > div > form,
775 div.forumHierRoot > div > form {
776 margin: 0.5em 0;
777 }
778 button.forum-post-collapser {
779 align-self: flex-start;
780 }
781 div.forumPostBody{
782 max-height: 50em;
783 overflow: auto;
784 }
785 div.forumPostBody.expanded {
786 max-height: initial;
787 }
788 div.forumSel {
789 background-color: #cef;
790 }
791 div.forumObs {
792 color: #bbb;
793 }
794
795 #capabilitySummary {
796 text-align: center;
797 }
798 #capabilitySummary td {
799 padding-left: 3ex;
800
+18 -2
--- src/default.css
+++ src/default.css
@@ -764,20 +764,36 @@
764764
border: 1px solid black;
765765
padding-left: 1ex;
766766
padding-right: 1ex;
767767
margin-top: 1ex;
768768
}
769
-div.forumPostBody {
770
- max-height: 100em;
769
+div.forumHier, div.forumTime, div.forumHierRoot {
770
+ display: flex;
771
+ flex-direction: column;
772
+}
773
+div.forumHier > div > form,
774
+div.forumTime > div > form,
775
+div.forumHierRoot > div > form {
776
+ margin: 0.5em 0;
777
+}
778
+button.forum-post-collapser {
779
+ align-self: flex-start;
780
+}
781
+div.forumPostBody{
782
+ max-height: 50em;
771783
overflow: auto;
784
+}
785
+div.forumPostBody.expanded {
786
+ max-height: initial;
772787
}
773788
div.forumSel {
774789
background-color: #cef;
775790
}
776791
div.forumObs {
777792
color: #bbb;
778793
}
794
+
779795
#capabilitySummary {
780796
text-align: center;
781797
}
782798
#capabilitySummary td {
783799
padding-left: 3ex;
784800
--- src/default.css
+++ src/default.css
@@ -764,20 +764,36 @@
764 border: 1px solid black;
765 padding-left: 1ex;
766 padding-right: 1ex;
767 margin-top: 1ex;
768 }
769 div.forumPostBody {
770 max-height: 100em;
 
 
 
 
 
 
 
 
 
 
 
 
771 overflow: auto;
 
 
 
772 }
773 div.forumSel {
774 background-color: #cef;
775 }
776 div.forumObs {
777 color: #bbb;
778 }
 
779 #capabilitySummary {
780 text-align: center;
781 }
782 #capabilitySummary td {
783 padding-left: 3ex;
784
--- src/default.css
+++ src/default.css
@@ -764,20 +764,36 @@
764 border: 1px solid black;
765 padding-left: 1ex;
766 padding-right: 1ex;
767 margin-top: 1ex;
768 }
769 div.forumHier, div.forumTime, div.forumHierRoot {
770 display: flex;
771 flex-direction: column;
772 }
773 div.forumHier > div > form,
774 div.forumTime > div > form,
775 div.forumHierRoot > div > form {
776 margin: 0.5em 0;
777 }
778 button.forum-post-collapser {
779 align-self: flex-start;
780 }
781 div.forumPostBody{
782 max-height: 50em;
783 overflow: auto;
784 }
785 div.forumPostBody.expanded {
786 max-height: initial;
787 }
788 div.forumSel {
789 background-color: #cef;
790 }
791 div.forumObs {
792 color: #bbb;
793 }
794
795 #capabilitySummary {
796 text-align: center;
797 }
798 #capabilitySummary td {
799 padding-left: 3ex;
800
+25 -8
--- src/forum.c
+++ src/forum.c
@@ -402,11 +402,10 @@
402402
}
403403
db_reset(&q);
404404
return zResult;
405405
}
406406
407
-
408407
/*
409408
** Display all posts in a forum thread in chronological order
410409
*/
411410
static void forum_display_chronological(int froot, int target, int bRawMode){
412411
ForumThread *pThread = forumthread_create(froot, 0);
@@ -485,11 +484,11 @@
485484
forum_render(0, zMimetype, pPost->zWiki, 0, 1);
486485
}
487486
if( g.perm.WrForum && p->pLeaf==0 ){
488487
int sameUser = login_is_individual()
489488
&& fossil_strcmp(pPost->zUser, g.zLogin)==0;
490
- @ <p><form action="%R/forumedit" method="POST">
489
+ @ <div><form action="%R/forumedit" method="POST">
491490
@ <input type="hidden" name="fpid" value="%s(p->zUuid)">
492491
if( !isPrivate ){
493492
/* Reply and Edit are only available if the post has already
494493
** been approved */
495494
@ <input type="submit" name="reply" value="Reply">
@@ -506,11 +505,11 @@
506505
}else if( sameUser ){
507506
/* A post that is pending moderation can be deleted by the
508507
** person who originally submitted the post */
509508
@ <input type="submit" name="reject" value="Delete">
510509
}
511
- @ </form></p>
510
+ @ </form></div>
512511
}
513512
manifest_destroy(pPost);
514513
@ </div>
515514
}
516515
@@ -593,11 +592,11 @@
593592
0, 1);
594593
}
595594
if( g.perm.WrForum && p->pLeaf==0 ){
596595
int sameUser = login_is_individual()
597596
&& fossil_strcmp(pPost->zUser, g.zLogin)==0;
598
- @ <p><form action="%R/forumedit" method="POST">
597
+ @ <div><form action="%R/forumedit" method="POST">
599598
@ <input type="hidden" name="fpid" value="%s(p->zUuid)">
600599
if( !isPrivate ){
601600
/* Reply and Edit are only available if the post has already
602601
** been approved */
603602
@ <input type="submit" name="reply" value="Reply">
@@ -614,11 +613,11 @@
614613
}else if( sameUser ){
615614
/* A post that is pending moderation can be deleted by the
616615
** person who originally submitted the post */
617616
@ <input type="submit" name="reject" value="Delete">
618617
}
619
- @ </form></p>
618
+ @ </form></div>
620619
}
621620
manifest_destroy(pPost);
622621
@ </div>
623622
}
624623
forumthread_delete(pThread);
@@ -719,11 +718,11 @@
719718
@ <p><span class="modpending">Awaiting Moderator Approval</span></p>
720719
}else{
721720
forum_render(0, pPost->zMimetype, pPost->zWiki, 0, 1);
722721
}
723722
if( g.perm.WrForum ){
724
- @ <p><form action="%R/forumedit" method="POST">
723
+ @ <div><form action="%R/forumedit" method="POST">
725724
@ <input type="hidden" name="fpid" value="%s(zUuid)">
726725
if( !isPrivate ){
727726
/* Reply and Edit are only available if the post has already
728727
** been approved */
729728
@ <input type="submit" name="reply" value="Reply">
@@ -740,18 +739,36 @@
740739
}else if( sameUser ){
741740
/* A post that is pending moderation can be deleted by the
742741
** person who originally submitted the post */
743742
@ <input type="submit" name="reject" value="Delete">
744743
}
745
- @ </form></p>
744
+ @ </form></div>
746745
}
747746
manifest_destroy(pPost);
748747
@ </div>
749748
}
750749
forumthread_delete(pThread);
751750
return target;
752751
}
752
+
753
+/*
754
+** The first time this is called, it emits SCRIPT tags to load various
755
+** forum-related JavaScript. Ideally it should be called near the end
756
+** of the page, immediately before the call to style_footer() (which
757
+** closes the document's <BODY> and <HTML> tags). Calls after the first
758
+** are a no-op.
759
+*/
760
+static void forum_emit_page_js(){
761
+ static int once = 0;
762
+ if(0==once){
763
+ once = 1;
764
+ style_load_js("forum.js");
765
+ style_emit_script_fossil_bootstrap(0);
766
+ style_emit_script_dom(0);
767
+ style_emit_script_builtin(0, "fossil.page.forumpost.js");
768
+ }
769
+}
753770
754771
/*
755772
** WEBPAGE: forumpost
756773
**
757774
** Show a single forum posting. The posting is shown in context with
@@ -877,11 +894,11 @@
877894
}else{
878895
style_submenu_element("Chronological", "%R/%s/%s?t=c", g.zPath, zName);
879896
style_submenu_element("Unformatted", "%R/%s/%s?t=r", g.zPath, zName);
880897
forum_display_hierarchical(froot, fpid);
881898
}
882
- style_load_js("forum.js");
899
+ forum_emit_page_js();
883900
style_footer();
884901
}
885902
886903
/*
887904
** Return true if a forum post should be moderated.
888905
--- src/forum.c
+++ src/forum.c
@@ -402,11 +402,10 @@
402 }
403 db_reset(&q);
404 return zResult;
405 }
406
407
408 /*
409 ** Display all posts in a forum thread in chronological order
410 */
411 static void forum_display_chronological(int froot, int target, int bRawMode){
412 ForumThread *pThread = forumthread_create(froot, 0);
@@ -485,11 +484,11 @@
485 forum_render(0, zMimetype, pPost->zWiki, 0, 1);
486 }
487 if( g.perm.WrForum && p->pLeaf==0 ){
488 int sameUser = login_is_individual()
489 && fossil_strcmp(pPost->zUser, g.zLogin)==0;
490 @ <p><form action="%R/forumedit" method="POST">
491 @ <input type="hidden" name="fpid" value="%s(p->zUuid)">
492 if( !isPrivate ){
493 /* Reply and Edit are only available if the post has already
494 ** been approved */
495 @ <input type="submit" name="reply" value="Reply">
@@ -506,11 +505,11 @@
506 }else if( sameUser ){
507 /* A post that is pending moderation can be deleted by the
508 ** person who originally submitted the post */
509 @ <input type="submit" name="reject" value="Delete">
510 }
511 @ </form></p>
512 }
513 manifest_destroy(pPost);
514 @ </div>
515 }
516
@@ -593,11 +592,11 @@
593 0, 1);
594 }
595 if( g.perm.WrForum && p->pLeaf==0 ){
596 int sameUser = login_is_individual()
597 && fossil_strcmp(pPost->zUser, g.zLogin)==0;
598 @ <p><form action="%R/forumedit" method="POST">
599 @ <input type="hidden" name="fpid" value="%s(p->zUuid)">
600 if( !isPrivate ){
601 /* Reply and Edit are only available if the post has already
602 ** been approved */
603 @ <input type="submit" name="reply" value="Reply">
@@ -614,11 +613,11 @@
614 }else if( sameUser ){
615 /* A post that is pending moderation can be deleted by the
616 ** person who originally submitted the post */
617 @ <input type="submit" name="reject" value="Delete">
618 }
619 @ </form></p>
620 }
621 manifest_destroy(pPost);
622 @ </div>
623 }
624 forumthread_delete(pThread);
@@ -719,11 +718,11 @@
719 @ <p><span class="modpending">Awaiting Moderator Approval</span></p>
720 }else{
721 forum_render(0, pPost->zMimetype, pPost->zWiki, 0, 1);
722 }
723 if( g.perm.WrForum ){
724 @ <p><form action="%R/forumedit" method="POST">
725 @ <input type="hidden" name="fpid" value="%s(zUuid)">
726 if( !isPrivate ){
727 /* Reply and Edit are only available if the post has already
728 ** been approved */
729 @ <input type="submit" name="reply" value="Reply">
@@ -740,18 +739,36 @@
740 }else if( sameUser ){
741 /* A post that is pending moderation can be deleted by the
742 ** person who originally submitted the post */
743 @ <input type="submit" name="reject" value="Delete">
744 }
745 @ </form></p>
746 }
747 manifest_destroy(pPost);
748 @ </div>
749 }
750 forumthread_delete(pThread);
751 return target;
752 }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
753
754 /*
755 ** WEBPAGE: forumpost
756 **
757 ** Show a single forum posting. The posting is shown in context with
@@ -877,11 +894,11 @@
877 }else{
878 style_submenu_element("Chronological", "%R/%s/%s?t=c", g.zPath, zName);
879 style_submenu_element("Unformatted", "%R/%s/%s?t=r", g.zPath, zName);
880 forum_display_hierarchical(froot, fpid);
881 }
882 style_load_js("forum.js");
883 style_footer();
884 }
885
886 /*
887 ** Return true if a forum post should be moderated.
888
--- src/forum.c
+++ src/forum.c
@@ -402,11 +402,10 @@
402 }
403 db_reset(&q);
404 return zResult;
405 }
406
 
407 /*
408 ** Display all posts in a forum thread in chronological order
409 */
410 static void forum_display_chronological(int froot, int target, int bRawMode){
411 ForumThread *pThread = forumthread_create(froot, 0);
@@ -485,11 +484,11 @@
484 forum_render(0, zMimetype, pPost->zWiki, 0, 1);
485 }
486 if( g.perm.WrForum && p->pLeaf==0 ){
487 int sameUser = login_is_individual()
488 && fossil_strcmp(pPost->zUser, g.zLogin)==0;
489 @ <div><form action="%R/forumedit" method="POST">
490 @ <input type="hidden" name="fpid" value="%s(p->zUuid)">
491 if( !isPrivate ){
492 /* Reply and Edit are only available if the post has already
493 ** been approved */
494 @ <input type="submit" name="reply" value="Reply">
@@ -506,11 +505,11 @@
505 }else if( sameUser ){
506 /* A post that is pending moderation can be deleted by the
507 ** person who originally submitted the post */
508 @ <input type="submit" name="reject" value="Delete">
509 }
510 @ </form></div>
511 }
512 manifest_destroy(pPost);
513 @ </div>
514 }
515
@@ -593,11 +592,11 @@
592 0, 1);
593 }
594 if( g.perm.WrForum && p->pLeaf==0 ){
595 int sameUser = login_is_individual()
596 && fossil_strcmp(pPost->zUser, g.zLogin)==0;
597 @ <div><form action="%R/forumedit" method="POST">
598 @ <input type="hidden" name="fpid" value="%s(p->zUuid)">
599 if( !isPrivate ){
600 /* Reply and Edit are only available if the post has already
601 ** been approved */
602 @ <input type="submit" name="reply" value="Reply">
@@ -614,11 +613,11 @@
613 }else if( sameUser ){
614 /* A post that is pending moderation can be deleted by the
615 ** person who originally submitted the post */
616 @ <input type="submit" name="reject" value="Delete">
617 }
618 @ </form></div>
619 }
620 manifest_destroy(pPost);
621 @ </div>
622 }
623 forumthread_delete(pThread);
@@ -719,11 +718,11 @@
718 @ <p><span class="modpending">Awaiting Moderator Approval</span></p>
719 }else{
720 forum_render(0, pPost->zMimetype, pPost->zWiki, 0, 1);
721 }
722 if( g.perm.WrForum ){
723 @ <div><form action="%R/forumedit" method="POST">
724 @ <input type="hidden" name="fpid" value="%s(zUuid)">
725 if( !isPrivate ){
726 /* Reply and Edit are only available if the post has already
727 ** been approved */
728 @ <input type="submit" name="reply" value="Reply">
@@ -740,18 +739,36 @@
739 }else if( sameUser ){
740 /* A post that is pending moderation can be deleted by the
741 ** person who originally submitted the post */
742 @ <input type="submit" name="reject" value="Delete">
743 }
744 @ </form></div>
745 }
746 manifest_destroy(pPost);
747 @ </div>
748 }
749 forumthread_delete(pThread);
750 return target;
751 }
752
753 /*
754 ** The first time this is called, it emits SCRIPT tags to load various
755 ** forum-related JavaScript. Ideally it should be called near the end
756 ** of the page, immediately before the call to style_footer() (which
757 ** closes the document's <BODY> and <HTML> tags). Calls after the first
758 ** are a no-op.
759 */
760 static void forum_emit_page_js(){
761 static int once = 0;
762 if(0==once){
763 once = 1;
764 style_load_js("forum.js");
765 style_emit_script_fossil_bootstrap(0);
766 style_emit_script_dom(0);
767 style_emit_script_builtin(0, "fossil.page.forumpost.js");
768 }
769 }
770
771 /*
772 ** WEBPAGE: forumpost
773 **
774 ** Show a single forum posting. The posting is shown in context with
@@ -877,11 +894,11 @@
894 }else{
895 style_submenu_element("Chronological", "%R/%s/%s?t=c", g.zPath, zName);
896 style_submenu_element("Unformatted", "%R/%s/%s?t=r", g.zPath, zName);
897 forum_display_hierarchical(froot, fpid);
898 }
899 forum_emit_page_js();
900 style_footer();
901 }
902
903 /*
904 ** Return true if a forum post should be moderated.
905
--- src/fossil.dom.js
+++ src/fossil.dom.js
@@ -72,10 +72,11 @@
7272
dom.footer = dom.createElemFactory('footer');
7373
dom.section = dom.createElemFactory('section');
7474
dom.span = dom.createElemFactory('span');
7575
dom.strong = dom.createElemFactory('strong');
7676
dom.em = dom.createElemFactory('em');
77
+ dom.label = dom.createElemFactory('label');
7778
dom.img = function(src){
7879
const e = dom.create('img');
7980
if(src) e.setAttribute('src',src);
8081
return e;
8182
};
8283
8384
ADDED src/fossil.page.forumpost.js
--- src/fossil.dom.js
+++ src/fossil.dom.js
@@ -72,10 +72,11 @@
72 dom.footer = dom.createElemFactory('footer');
73 dom.section = dom.createElemFactory('section');
74 dom.span = dom.createElemFactory('span');
75 dom.strong = dom.createElemFactory('strong');
76 dom.em = dom.createElemFactory('em');
 
77 dom.img = function(src){
78 const e = dom.create('img');
79 if(src) e.setAttribute('src',src);
80 return e;
81 };
82
83 DDED src/fossil.page.forumpost.js
--- src/fossil.dom.js
+++ src/fossil.dom.js
@@ -72,10 +72,11 @@
72 dom.footer = dom.createElemFactory('footer');
73 dom.section = dom.createElemFactory('section');
74 dom.span = dom.createElemFactory('span');
75 dom.strong = dom.createElemFactory('strong');
76 dom.em = dom.createElemFactory('em');
77 dom.label = dom.createElemFactory('label');
78 dom.img = function(src){
79 const e = dom.create('img');
80 if(src) e.setAttribute('src',src);
81 return e;
82 };
83
84 DDED src/fossil.page.forumpost.js
--- a/src/fossil.page.forumpost.js
+++ b/src/fossil.page.forumpost.js
@@ -0,0 +1,12 @@
1
+(function(F/*the fossil object*/){
2
+ "use strict";
3
+ /* JS code for /HierRootfossil.page, D = fossilwidget = D.div(classList.add();
4
+ject*/){
5
+ "use stri(func tion(F//** A double-click toggle will select "the current word" on the
6
+ post, which is minorconst getButtonbtnbtn.innerText = tonbtnbtn.innerText = const btn = ev.targetler on elemecallback if the user presses the element for a brief period
7
+ (time is defined a few lines down from here). */
8
+ const addLongpresse, cal};
9
+ };
10
+ cogetButton), false);
11
+};doCollapser)
12
+
--- a/src/fossil.page.forumpost.js
+++ b/src/fossil.page.forumpost.js
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
--- a/src/fossil.page.forumpost.js
+++ b/src/fossil.page.forumpost.js
@@ -0,0 +1,12 @@
1 (function(F/*the fossil object*/){
2 "use strict";
3 /* JS code for /HierRootfossil.page, D = fossilwidget = D.div(classList.add();
4 ject*/){
5 "use stri(func tion(F//** A double-click toggle will select "the current word" on the
6 post, which is minorconst getButtonbtnbtn.innerText = tonbtnbtn.innerText = const btn = ev.targetler on elemecallback if the user presses the element for a brief period
7 (time is defined a few lines down from here). */
8 const addLongpresse, cal};
9 };
10 cogetButton), false);
11 };doCollapser)
12
--- src/main.mk
+++ src/main.mk
@@ -226,10 +226,11 @@
226226
$(SRCDIR)/fossil.bootstrap.js \
227227
$(SRCDIR)/fossil.confirmer.js \
228228
$(SRCDIR)/fossil.dom.js \
229229
$(SRCDIR)/fossil.fetch.js \
230230
$(SRCDIR)/fossil.page.fileedit.js \
231
+ $(SRCDIR)/fossil.page.forumpost.js \
231232
$(SRCDIR)/fossil.storage.js \
232233
$(SRCDIR)/fossil.tabs.js \
233234
$(SRCDIR)/graph.js \
234235
$(SRCDIR)/href.js \
235236
$(SRCDIR)/login.js \
236237
--- src/main.mk
+++ src/main.mk
@@ -226,10 +226,11 @@
226 $(SRCDIR)/fossil.bootstrap.js \
227 $(SRCDIR)/fossil.confirmer.js \
228 $(SRCDIR)/fossil.dom.js \
229 $(SRCDIR)/fossil.fetch.js \
230 $(SRCDIR)/fossil.page.fileedit.js \
 
231 $(SRCDIR)/fossil.storage.js \
232 $(SRCDIR)/fossil.tabs.js \
233 $(SRCDIR)/graph.js \
234 $(SRCDIR)/href.js \
235 $(SRCDIR)/login.js \
236
--- src/main.mk
+++ src/main.mk
@@ -226,10 +226,11 @@
226 $(SRCDIR)/fossil.bootstrap.js \
227 $(SRCDIR)/fossil.confirmer.js \
228 $(SRCDIR)/fossil.dom.js \
229 $(SRCDIR)/fossil.fetch.js \
230 $(SRCDIR)/fossil.page.fileedit.js \
231 $(SRCDIR)/fossil.page.forumpost.js \
232 $(SRCDIR)/fossil.storage.js \
233 $(SRCDIR)/fossil.tabs.js \
234 $(SRCDIR)/graph.js \
235 $(SRCDIR)/href.js \
236 $(SRCDIR)/login.js \
237
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -638,10 +638,11 @@
638638
$(SRCDIR)/fossil.bootstrap.js \
639639
$(SRCDIR)/fossil.confirmer.js \
640640
$(SRCDIR)/fossil.dom.js \
641641
$(SRCDIR)/fossil.fetch.js \
642642
$(SRCDIR)/fossil.page.fileedit.js \
643
+ $(SRCDIR)/fossil.page.forumpost.js \
643644
$(SRCDIR)/fossil.storage.js \
644645
$(SRCDIR)/fossil.tabs.js \
645646
$(SRCDIR)/graph.js \
646647
$(SRCDIR)/href.js \
647648
$(SRCDIR)/login.js \
648649
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -638,10 +638,11 @@
638 $(SRCDIR)/fossil.bootstrap.js \
639 $(SRCDIR)/fossil.confirmer.js \
640 $(SRCDIR)/fossil.dom.js \
641 $(SRCDIR)/fossil.fetch.js \
642 $(SRCDIR)/fossil.page.fileedit.js \
 
643 $(SRCDIR)/fossil.storage.js \
644 $(SRCDIR)/fossil.tabs.js \
645 $(SRCDIR)/graph.js \
646 $(SRCDIR)/href.js \
647 $(SRCDIR)/login.js \
648
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -638,10 +638,11 @@
638 $(SRCDIR)/fossil.bootstrap.js \
639 $(SRCDIR)/fossil.confirmer.js \
640 $(SRCDIR)/fossil.dom.js \
641 $(SRCDIR)/fossil.fetch.js \
642 $(SRCDIR)/fossil.page.fileedit.js \
643 $(SRCDIR)/fossil.page.forumpost.js \
644 $(SRCDIR)/fossil.storage.js \
645 $(SRCDIR)/fossil.tabs.js \
646 $(SRCDIR)/graph.js \
647 $(SRCDIR)/href.js \
648 $(SRCDIR)/login.js \
649
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -559,10 +559,11 @@
559559
"$(SRCDIR)\fossil.bootstrap.js" \
560560
"$(SRCDIR)\fossil.confirmer.js" \
561561
"$(SRCDIR)\fossil.dom.js" \
562562
"$(SRCDIR)\fossil.fetch.js" \
563563
"$(SRCDIR)\fossil.page.fileedit.js" \
564
+ "$(SRCDIR)\fossil.page.forumpost.js" \
564565
"$(SRCDIR)\fossil.storage.js" \
565566
"$(SRCDIR)\fossil.tabs.js" \
566567
"$(SRCDIR)\graph.js" \
567568
"$(SRCDIR)\href.js" \
568569
"$(SRCDIR)\login.js" \
@@ -1147,10 +1148,11 @@
11471148
echo "$(SRCDIR)\fossil.bootstrap.js" >> $@
11481149
echo "$(SRCDIR)\fossil.confirmer.js" >> $@
11491150
echo "$(SRCDIR)\fossil.dom.js" >> $@
11501151
echo "$(SRCDIR)\fossil.fetch.js" >> $@
11511152
echo "$(SRCDIR)\fossil.page.fileedit.js" >> $@
1153
+ echo "$(SRCDIR)\fossil.page.forumpost.js" >> $@
11521154
echo "$(SRCDIR)\fossil.storage.js" >> $@
11531155
echo "$(SRCDIR)\fossil.tabs.js" >> $@
11541156
echo "$(SRCDIR)\graph.js" >> $@
11551157
echo "$(SRCDIR)\href.js" >> $@
11561158
echo "$(SRCDIR)\login.js" >> $@
11571159
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -559,10 +559,11 @@
559 "$(SRCDIR)\fossil.bootstrap.js" \
560 "$(SRCDIR)\fossil.confirmer.js" \
561 "$(SRCDIR)\fossil.dom.js" \
562 "$(SRCDIR)\fossil.fetch.js" \
563 "$(SRCDIR)\fossil.page.fileedit.js" \
 
564 "$(SRCDIR)\fossil.storage.js" \
565 "$(SRCDIR)\fossil.tabs.js" \
566 "$(SRCDIR)\graph.js" \
567 "$(SRCDIR)\href.js" \
568 "$(SRCDIR)\login.js" \
@@ -1147,10 +1148,11 @@
1147 echo "$(SRCDIR)\fossil.bootstrap.js" >> $@
1148 echo "$(SRCDIR)\fossil.confirmer.js" >> $@
1149 echo "$(SRCDIR)\fossil.dom.js" >> $@
1150 echo "$(SRCDIR)\fossil.fetch.js" >> $@
1151 echo "$(SRCDIR)\fossil.page.fileedit.js" >> $@
 
1152 echo "$(SRCDIR)\fossil.storage.js" >> $@
1153 echo "$(SRCDIR)\fossil.tabs.js" >> $@
1154 echo "$(SRCDIR)\graph.js" >> $@
1155 echo "$(SRCDIR)\href.js" >> $@
1156 echo "$(SRCDIR)\login.js" >> $@
1157
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -559,10 +559,11 @@
559 "$(SRCDIR)\fossil.bootstrap.js" \
560 "$(SRCDIR)\fossil.confirmer.js" \
561 "$(SRCDIR)\fossil.dom.js" \
562 "$(SRCDIR)\fossil.fetch.js" \
563 "$(SRCDIR)\fossil.page.fileedit.js" \
564 "$(SRCDIR)\fossil.page.forumpost.js" \
565 "$(SRCDIR)\fossil.storage.js" \
566 "$(SRCDIR)\fossil.tabs.js" \
567 "$(SRCDIR)\graph.js" \
568 "$(SRCDIR)\href.js" \
569 "$(SRCDIR)\login.js" \
@@ -1147,10 +1148,11 @@
1148 echo "$(SRCDIR)\fossil.bootstrap.js" >> $@
1149 echo "$(SRCDIR)\fossil.confirmer.js" >> $@
1150 echo "$(SRCDIR)\fossil.dom.js" >> $@
1151 echo "$(SRCDIR)\fossil.fetch.js" >> $@
1152 echo "$(SRCDIR)\fossil.page.fileedit.js" >> $@
1153 echo "$(SRCDIR)\fossil.page.forumpost.js" >> $@
1154 echo "$(SRCDIR)\fossil.storage.js" >> $@
1155 echo "$(SRCDIR)\fossil.tabs.js" >> $@
1156 echo "$(SRCDIR)\graph.js" >> $@
1157 echo "$(SRCDIR)\href.js" >> $@
1158 echo "$(SRCDIR)\login.js" >> $@
1159

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button