diff --git a/404.html b/404.html index 3b2d1c2747..832034b47b 100644 --- a/404.html +++ b/404.html @@ -3832,6 +3832,8 @@ + + @@ -3974,6 +3976,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/FAQ/index.html b/FAQ/index.html index 41add23ac1..fdc8767c9a 100644 --- a/FAQ/index.html +++ b/FAQ/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/app/index.html b/api/app/index.html index 11e94ded96..8ada276136 100644 --- a/api/app/index.html +++ b/api/app/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -9049,8 +9072,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -9075,8 +9098,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -9219,8 +9242,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -9243,8 +9266,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -9267,8 +9290,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -9442,8 +9465,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -9875,8 +9898,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -9907,8 +9930,8 @@

    - class-attribute instance-attribute + class-attribute

    diff --git a/api/await_complete/index.html b/api/await_complete/index.html index c6166c9bc5..e325fbcf39 100644 --- a/api/await_complete/index.html +++ b/api/await_complete/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/await_remove/index.html b/api/await_remove/index.html index 08edfc45e4..1aac304124 100644 --- a/api/await_remove/index.html +++ b/api/await_remove/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/binding/index.html b/api/binding/index.html index 2590cdac9b..928000a269 100644 --- a/api/binding/index.html +++ b/api/binding/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -6825,8 +6848,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -6872,8 +6895,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -6896,8 +6919,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -6920,8 +6943,8 @@

    - class-attribute instance-attribute + class-attribute

    diff --git a/api/cache/index.html b/api/cache/index.html index 21e31a34ec..6ddecfdb71 100644 --- a/api/cache/index.html +++ b/api/cache/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -6962,8 +6985,8 @@

    - property writable + property

    diff --git a/api/color/index.html b/api/color/index.html index 42bdd61bb8..8fd9d1d113 100644 --- a/api/color/index.html +++ b/api/color/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -8129,8 +8152,8 @@

    - class-attribute instance-attribute + class-attribute

    diff --git a/api/command/index.html b/api/command/index.html index 49961e2604..cbf9b83386 100644 --- a/api/command/index.html +++ b/api/command/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -7803,8 +7826,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -7850,8 +7873,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -7943,8 +7966,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -8037,8 +8060,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -8672,8 +8695,8 @@

    search - async abstractmethod + async

    @@ -8830,8 +8853,8 @@

    - class-attribute instance-attribute + class-attribute

    diff --git a/api/constants/index.html b/api/constants/index.html index 8270bef26c..bc507c6cc2 100644 --- a/api/constants/index.html +++ b/api/constants/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/containers/index.html b/api/containers/index.html index 57c224abab..c7369b66f2 100644 --- a/api/containers/index.html +++ b/api/containers/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -7292,8 +7315,8 @@

    - class-attribute instance-attribute + class-attribute

    diff --git a/api/content_switcher/index.html b/api/content_switcher/index.html index 043721dc07..d88e0f5f8b 100644 --- a/api/content_switcher/index.html +++ b/api/content_switcher/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -6557,8 +6580,8 @@

    - class-attribute instance-attribute + class-attribute

    diff --git a/api/coordinate/index.html b/api/coordinate/index.html index fbb0653482..3e80adb882 100644 --- a/api/coordinate/index.html +++ b/api/coordinate/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/dom_node/index.html b/api/dom_node/index.html index ef7ea81299..767b216a88 100644 --- a/api/dom_node/index.html +++ b/api/dom_node/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -7626,8 +7649,8 @@

    - property writable + property

    @@ -7732,8 +7755,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -7949,8 +7972,8 @@

    - property writable + property

    @@ -8020,8 +8043,8 @@

    - property writable + property

    @@ -8327,8 +8350,8 @@

    - property writable + property

    diff --git a/api/errors/index.html b/api/errors/index.html index 71494569ed..ead0af16aa 100644 --- a/api/errors/index.html +++ b/api/errors/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/events/index.html b/api/events/index.html index 74b753f8ed..0055d4e8d1 100644 --- a/api/events/index.html +++ b/api/events/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -9298,8 +9321,8 @@

    - property writable + property

    diff --git a/api/filter/index.html b/api/filter/index.html index d961825009..55dc565e40 100644 --- a/api/filter/index.html +++ b/api/filter/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/fuzzy_matcher/index.html b/api/fuzzy_matcher/index.html index 4be6f626f5..e52280acb3 100644 --- a/api/fuzzy_matcher/index.html +++ b/api/fuzzy_matcher/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/geometry/index.html b/api/geometry/index.html index bbf289be9f..cb8ecad71d 100644 --- a/api/geometry/index.html +++ b/api/geometry/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -8154,8 +8177,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -8178,8 +8201,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -8734,8 +8757,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -8974,8 +8997,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -8998,8 +9021,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -9022,8 +9045,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -10826,8 +10849,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -10896,8 +10919,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -11325,8 +11348,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -11419,8 +11442,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -11443,8 +11466,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -11467,8 +11490,8 @@

    - class-attribute instance-attribute + class-attribute

    diff --git a/api/index.html b/api/index.html index 08d325d34e..49af8f16bb 100644 --- a/api/index.html +++ b/api/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/lazy/index.html b/api/lazy/index.html index 3ae86ce409..cb2e38d033 100644 --- a/api/lazy/index.html +++ b/api/lazy/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/logger/index.html b/api/logger/index.html index 52589de599..af65b9752b 100644 --- a/api/logger/index.html +++ b/api/logger/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/logging/index.html b/api/logging/index.html index 091015ed13..bb1b847d91 100644 --- a/api/logging/index.html +++ b/api/logging/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/map_geometry/index.html b/api/map_geometry/index.html index e01586266d..2dde6dd300 100644 --- a/api/map_geometry/index.html +++ b/api/map_geometry/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/message/index.html b/api/message/index.html index 93e979ea90..56a828ae48 100644 --- a/api/message/index.html +++ b/api/message/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/message_pump/index.html b/api/message_pump/index.html index 16e196cb62..6e06f83d4c 100644 --- a/api/message_pump/index.html +++ b/api/message_pump/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/on/index.html b/api/on/index.html index 0dede95e24..709ea50bcb 100644 --- a/api/on/index.html +++ b/api/on/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/pilot/index.html b/api/pilot/index.html index c6931acbba..fc2c76c04e 100644 --- a/api/pilot/index.html +++ b/api/pilot/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/query/index.html b/api/query/index.html index 8ca35d875d..ad77b513ed 100644 --- a/api/query/index.html +++ b/api/query/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/reactive/index.html b/api/reactive/index.html index 4d0d5fd1bf..c5d600b07b 100644 --- a/api/reactive/index.html +++ b/api/reactive/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/renderables/index.html b/api/renderables/index.html index 9c465d250a..e9b22b47bc 100644 --- a/api/renderables/index.html +++ b/api/renderables/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/screen/index.html b/api/screen/index.html index e86c4b1c1b..4c7094a751 100644 --- a/api/screen/index.html +++ b/api/screen/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -7714,8 +7737,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -7850,8 +7873,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -7874,8 +7897,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -7898,8 +7921,8 @@

    - class-attribute instance-attribute + class-attribute

    diff --git a/api/scroll_view/index.html b/api/scroll_view/index.html index 6638b0f562..57ec599b60 100644 --- a/api/scroll_view/index.html +++ b/api/scroll_view/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/scrollbar/index.html b/api/scrollbar/index.html index 7f3996a2d2..01c23a74a2 100644 --- a/api/scrollbar/index.html +++ b/api/scrollbar/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/signal/index.html b/api/signal/index.html index d5f5d827d8..5046513639 100644 --- a/api/signal/index.html +++ b/api/signal/index.html @@ -3839,6 +3839,8 @@ + + @@ -3981,6 +3983,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/strip/index.html b/api/strip/index.html index ed24c9f555..df1fcf00e4 100644 --- a/api/strip/index.html +++ b/api/strip/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/suggester/index.html b/api/suggester/index.html index a8ade1783b..bebc5c595f 100644 --- a/api/suggester/index.html +++ b/api/suggester/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -6822,8 +6845,8 @@

    get_suggestion - async abstractmethod + async

    diff --git a/api/system_commands_source/index.html b/api/system_commands_source/index.html index ef2367e8eb..29b7e0f8e7 100644 --- a/api/system_commands_source/index.html +++ b/api/system_commands_source/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/timer/index.html b/api/timer/index.html index 97bad42472..95f950a60b 100644 --- a/api/timer/index.html +++ b/api/timer/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/types/index.html b/api/types/index.html index 541ad52426..18e3bdaf76 100644 --- a/api/types/index.html +++ b/api/types/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -7480,8 +7503,8 @@

    - class-attribute instance-attribute + class-attribute

    diff --git a/api/validation/index.html b/api/validation/index.html index 44627347b7..4e59439748 100644 --- a/api/validation/index.html +++ b/api/validation/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -7400,8 +7423,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -7447,8 +7470,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -8999,8 +9022,8 @@

    - class-attribute instance-attribute + class-attribute

    diff --git a/api/walk/index.html b/api/walk/index.html index c7e4fdef82..341e05aa0f 100644 --- a/api/walk/index.html +++ b/api/walk/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/widget/index.html b/api/widget/index.html index 42cd13a378..fc705ba03c 100644 --- a/api/widget/index.html +++ b/api/widget/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -9354,8 +9377,8 @@ @@ -9378,8 +9401,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -9402,8 +9425,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -9426,8 +9449,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -9450,8 +9473,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -9679,8 +9702,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -9744,8 +9767,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -9832,8 +9855,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -9856,8 +9879,8 @@ @@ -9925,8 +9948,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -10299,8 +10322,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -10395,8 +10418,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -10419,8 +10442,8 @@

    - property writable + property

    @@ -10631,8 +10654,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -10657,8 +10680,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -10956,8 +10979,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -10982,8 +11005,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -11008,8 +11031,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -11114,8 +11137,8 @@

    - property writable + property

    @@ -11267,8 +11290,8 @@

    - class-attribute instance-attribute + class-attribute

    diff --git a/api/work/index.html b/api/work/index.html index 0dfa3c5a98..a76e5f079c 100644 --- a/api/work/index.html +++ b/api/work/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/api/worker/index.html b/api/worker/index.html index 3b11b8c5dc..9131777eb1 100644 --- a/api/worker/index.html +++ b/api/worker/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -7435,8 +7458,8 @@

    - property writable + property

    @@ -7953,8 +7976,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -7977,8 +8000,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -8001,8 +8024,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -8025,8 +8048,8 @@

    - class-attribute instance-attribute + class-attribute

    @@ -8049,8 +8072,8 @@

    - class-attribute instance-attribute + class-attribute

    diff --git a/api/worker_manager/index.html b/api/worker_manager/index.html index 9f37dee18f..19f8fd6f5b 100644 --- a/api/worker_manager/index.html +++ b/api/worker_manager/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2022/11/06/new-blog/index.html b/blog/2022/11/06/new-blog/index.html index 97352a998b..4d30640149 100644 --- a/blog/2022/11/06/new-blog/index.html +++ b/blog/2022/11/06/new-blog/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2022/11/08/version-040/index.html b/blog/2022/11/08/version-040/index.html index 5713171f4b..0a8a3bbb8a 100644 --- a/blog/2022/11/08/version-040/index.html +++ b/blog/2022/11/08/version-040/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2022/11/20/stealing-open-source-code-from-textual/index.html b/blog/2022/11/20/stealing-open-source-code-from-textual/index.html index d71988b700..d89b4a6022 100644 --- a/blog/2022/11/20/stealing-open-source-code-from-textual/index.html +++ b/blog/2022/11/20/stealing-open-source-code-from-textual/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2022/11/22/what-i-learned-from-my-first-non-trivial-pr/index.html b/blog/2022/11/22/what-i-learned-from-my-first-non-trivial-pr/index.html index bc3cbb27f3..5f147d6981 100644 --- a/blog/2022/11/22/what-i-learned-from-my-first-non-trivial-pr/index.html +++ b/blog/2022/11/22/what-i-learned-from-my-first-non-trivial-pr/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2022/11/24/spinners-and-progress-bars-in-textual/index.html b/blog/2022/11/24/spinners-and-progress-bars-in-textual/index.html index 237c74e099..ee94665f70 100644 --- a/blog/2022/11/24/spinners-and-progress-bars-in-textual/index.html +++ b/blog/2022/11/24/spinners-and-progress-bars-in-textual/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2022/11/26/on-dog-food-the-original-metaverse-and-not-being-bored/index.html b/blog/2022/11/26/on-dog-food-the-original-metaverse-and-not-being-bored/index.html index 0d8be37bce..bc1a73e191 100644 --- a/blog/2022/11/26/on-dog-food-the-original-metaverse-and-not-being-bored/index.html +++ b/blog/2022/11/26/on-dog-food-the-original-metaverse-and-not-being-bored/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2022/12/07/letting-your-cook-multitask-while-bringing-water-to-a-boil/index.html b/blog/2022/12/07/letting-your-cook-multitask-while-bringing-water-to-a-boil/index.html index acc0a0ba26..bf3e149b43 100644 --- a/blog/2022/12/07/letting-your-cook-multitask-while-bringing-water-to-a-boil/index.html +++ b/blog/2022/12/07/letting-your-cook-multitask-while-bringing-water-to-a-boil/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2022/12/08/be-the-keymaster/index.html b/blog/2022/12/08/be-the-keymaster/index.html index b3c7004e16..588e08bb6f 100644 --- a/blog/2022/12/08/be-the-keymaster/index.html +++ b/blog/2022/12/08/be-the-keymaster/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2022/12/11/version-060/index.html b/blog/2022/12/11/version-060/index.html index 6b5cca375b..c8af810db0 100644 --- a/blog/2022/12/11/version-060/index.html +++ b/blog/2022/12/11/version-060/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -6655,133 +6678,134 @@

    List View + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - ListViewExample + ListViewExample - - - - - - - - - - - -One - - -Two - - -Three - - - - - - - - + + + + + + + + + + + +One + + +Two + + +Three + + + + + + + + diff --git a/blog/2022/12/20/a-year-of-building-for-the-terminal/index.html b/blog/2022/12/20/a-year-of-building-for-the-terminal/index.html index 965b222e5a..ee12c10046 100644 --- a/blog/2022/12/20/a-year-of-building-for-the-terminal/index.html +++ b/blog/2022/12/20/a-year-of-building-for-the-terminal/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2022/12/30/a-better-asyncio-sleep-for-windows-to-fix-animation/index.html b/blog/2022/12/30/a-better-asyncio-sleep-for-windows-to-fix-animation/index.html index 5bd82c0616..85e7b85afb 100644 --- a/blog/2022/12/30/a-better-asyncio-sleep-for-windows-to-fix-animation/index.html +++ b/blog/2022/12/30/a-better-asyncio-sleep-for-windows-to-fix-animation/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/01/09/so-youre-looking-for-a-wee-bit-of-textual-help/index.html b/blog/2023/01/09/so-youre-looking-for-a-wee-bit-of-textual-help/index.html index 98d73a1981..91f2edfe73 100644 --- a/blog/2023/01/09/so-youre-looking-for-a-wee-bit-of-textual-help/index.html +++ b/blog/2023/01/09/so-youre-looking-for-a-wee-bit-of-textual-help/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/02/11/the-heisenbug-lurking-in-your-async-code/index.html b/blog/2023/02/11/the-heisenbug-lurking-in-your-async-code/index.html index b72143f3dd..93247ca90e 100644 --- a/blog/2023/02/11/the-heisenbug-lurking-in-your-async-code/index.html +++ b/blog/2023/02/11/the-heisenbug-lurking-in-your-async-code/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/02/15/textual-0110-adds-a-beautiful-markdown-widget/index.html b/blog/2023/02/15/textual-0110-adds-a-beautiful-markdown-widget/index.html index 5f15887dc5..f133466c13 100644 --- a/blog/2023/02/15/textual-0110-adds-a-beautiful-markdown-widget/index.html +++ b/blog/2023/02/15/textual-0110-adds-a-beautiful-markdown-widget/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/02/24/textual-0120-adds-syntactical-sugar-and-batch-updates/index.html b/blog/2023/02/24/textual-0120-adds-syntactical-sugar-and-batch-updates/index.html index 5969b96308..6d073ee72d 100644 --- a/blog/2023/02/24/textual-0120-adds-syntactical-sugar-and-batch-updates/index.html +++ b/blog/2023/02/24/textual-0120-adds-syntactical-sugar-and-batch-updates/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/03/08/overhead-of-python-asyncio-tasks/index.html b/blog/2023/03/08/overhead-of-python-asyncio-tasks/index.html index a42c191674..e233aacf18 100644 --- a/blog/2023/03/08/overhead-of-python-asyncio-tasks/index.html +++ b/blog/2023/03/08/overhead-of-python-asyncio-tasks/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/03/09/textual-0140-shakes-up-posting-messages/index.html b/blog/2023/03/09/textual-0140-shakes-up-posting-messages/index.html index 2c06d0cc7c..81ea7dadc2 100644 --- a/blog/2023/03/09/textual-0140-shakes-up-posting-messages/index.html +++ b/blog/2023/03/09/textual-0140-shakes-up-posting-messages/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/03/13/textual-0150-adds-a-tabs-widget/index.html b/blog/2023/03/13/textual-0150-adds-a-tabs-widget/index.html index b7d508b758..6a4ad897c6 100644 --- a/blog/2023/03/13/textual-0150-adds-a-tabs-widget/index.html +++ b/blog/2023/03/13/textual-0150-adds-a-tabs-widget/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/03/15/no-async-async-with-python/index.html b/blog/2023/03/15/no-async-async-with-python/index.html index 51c7a43349..ce78e00c60 100644 --- a/blog/2023/03/15/no-async-async-with-python/index.html +++ b/blog/2023/03/15/no-async-async-with-python/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/03/22/textual-0160-adds-tabbedcontent-and-border-titles/index.html b/blog/2023/03/22/textual-0160-adds-tabbedcontent-and-border-titles/index.html index cacc251a59..0731fb5e6e 100644 --- a/blog/2023/03/22/textual-0160-adds-tabbedcontent-and-border-titles/index.html +++ b/blog/2023/03/22/textual-0160-adds-tabbedcontent-and-border-titles/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -6442,141 +6465,141 @@

    Textual 0.16.0 adds T font-weight: 700; } - .terminal-19952654-matrix { + .terminal-1446205144-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-19952654-title { + .terminal-1446205144-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-19952654-r1 { fill: #c5c8c6 } -.terminal-19952654-r2 { fill: #e1e1e1 } -.terminal-19952654-r3 { fill: #737373 } -.terminal-19952654-r4 { fill: #e1e1e1;font-weight: bold } -.terminal-19952654-r5 { fill: #474747 } -.terminal-19952654-r6 { fill: #0178d4 } -.terminal-19952654-r7 { fill: #121212 } -.terminal-19952654-r8 { fill: #0053aa } -.terminal-19952654-r9 { fill: #dde8f3;font-weight: bold } -.terminal-19952654-r10 { fill: #323232 } -.terminal-19952654-r11 { fill: #ddedf9 } + .terminal-1446205144-r1 { fill: #c5c8c6 } +.terminal-1446205144-r2 { fill: #e1e1e1 } +.terminal-1446205144-r3 { fill: #737373 } +.terminal-1446205144-r4 { fill: #e1e1e1;font-weight: bold } +.terminal-1446205144-r5 { fill: #474747 } +.terminal-1446205144-r6 { fill: #0178d4 } +.terminal-1446205144-r7 { fill: #4ebf71;font-weight: bold } +.terminal-1446205144-r8 { fill: #323232 } +.terminal-1446205144-r9 { fill: #fea62b;font-weight: bold } +.terminal-1446205144-r10 { fill: #a7a9ab } +.terminal-1446205144-r11 { fill: #e2e3e3 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - TabbedApp + TabbedApp - - - - -LetoJessicaPaul -━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - -▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - -Lady Jessica - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -Bene Gesserit and concubine of Leto, and mother of Paul and Alia. - - - -PaulAlia -━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - -First child - - - - - - - L  Leto  J  Jessica  P  Paul  + + + + +LetoJessicaPaul +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + + +Lady Jessica + +Bene Gesserit and concubine of Leto, and mother of Paul and Alia. + + + +PaulAlia +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +First child + + + + + + + + l Leto j Jessica p Paul diff --git a/blog/2023/03/29/textual-0170-adds-translucent-screens-and-option-list/index.html b/blog/2023/03/29/textual-0170-adds-translucent-screens-and-option-list/index.html index 36967afc02..9926eb4a55 100644 --- a/blog/2023/03/29/textual-0170-adds-translucent-screens-and-option-list/index.html +++ b/blog/2023/03/29/textual-0170-adds-translucent-screens-and-option-list/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -6808,137 +6831,137 @@

    Option list - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - OptionListApp + OptionListApp - - - - OptionListApp - - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -Aerilon -Aquaria -Canceron -Caprica -Gemenon -Leonis -Libran -Picon -Sagittaron -Scorpia -Tauron -Virgon - - - -▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - - - + + + + OptionListApp + + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +Aerilon +Aquaria +Canceron +Caprica +Gemenon +Leonis +Libran +Picon +Sagittaron +Scorpia +Tauron +Virgon + + + +▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + + + @@ -6966,173 +6989,173 @@

    Option list - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - OptionListApp + OptionListApp - - - - OptionListApp - - - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -                        Data for Aerilon                         -┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ -Patron God       Population        Capital City        -┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ -Demeter          1.2 Billion       Gaoth               -└───────────────────┴────────────────────┴─────────────────────┘ -                        Data for Aquaria                        ▂▂ -┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┓ -Patron God       Population       Capital City         -┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━┩ -Hermes           75,000           None                 -└───────────────────┴───────────────────┴──────────────────────┘ -                       Data for Canceron                         -┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ -Patron God       Population        Capital City        -┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ -Hephaestus       6.7 Billion       Hades               -└───────────────────┴────────────────────┴─────────────────────┘ -                        Data for Caprica                         -┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ -Patron God       Population        Capital City        -┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ -▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - - - + + + + OptionListApp + + + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +                        Data for Aerilon                         +┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ +Patron God       Population        Capital City        +┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ +Demeter          1.2 Billion       Gaoth               +└───────────────────┴────────────────────┴─────────────────────┘ +                        Data for Aquaria                        ▂▂ +┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┓ +Patron God       Population       Capital City         +┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━┩ +Hermes           75,000           None                 +└───────────────────┴───────────────────┴──────────────────────┘ +                       Data for Canceron                         +┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ +Patron God       Population        Capital City        +┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ +Hephaestus       6.7 Billion       Hades               +└───────────────────┴────────────────────┴─────────────────────┘ +                        Data for Caprica                         +┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ +Patron God       Population        Capital City        +┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ +▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + + + diff --git a/blog/2023/04/04/textual-0180-adds-api-for-managing-concurrent-workers/index.html b/blog/2023/04/04/textual-0180-adds-api-for-managing-concurrent-workers/index.html index 00764fcc4d..32789a8535 100644 --- a/blog/2023/04/04/textual-0180-adds-api-for-managing-concurrent-workers/index.html +++ b/blog/2023/04/04/textual-0180-adds-api-for-managing-concurrent-workers/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/05/03/textual-0230-improves-message-handling/index.html b/blog/2023/05/03/textual-0230-improves-message-handling/index.html index cb1c770680..19a2878bca 100644 --- a/blog/2023/05/03/textual-0230-improves-message-handling/index.html +++ b/blog/2023/05/03/textual-0230-improves-message-handling/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/05/08/textual-0240-adds-a-select-control/index.html b/blog/2023/05/08/textual-0240-adds-a-select-control/index.html index 05d118833e..06ea867bf4 100644 --- a/blog/2023/05/08/textual-0240-adds-a-select-control/index.html +++ b/blog/2023/05/08/textual-0240-adds-a-select-control/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/06/01/textual-adds-sparklines-selection-list-input-validation-and-tool-tips/index.html b/blog/2023/06/01/textual-adds-sparklines-selection-list-input-validation-and-tool-tips/index.html index 729a9ed338..e5ce87ed9c 100644 --- a/blog/2023/06/01/textual-adds-sparklines-selection-list-input-validation-and-tool-tips/index.html +++ b/blog/2023/06/01/textual-adds-sparklines-selection-list-input-validation-and-tool-tips/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/06/06/to-tui-or-not-to-tui/index.html b/blog/2023/06/06/to-tui-or-not-to-tui/index.html index 264fe22d2e..60fe537f3e 100644 --- a/blog/2023/06/06/to-tui-or-not-to-tui/index.html +++ b/blog/2023/06/06/to-tui-or-not-to-tui/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/07/03/textual-0290-refactors-dev-tools/index.html b/blog/2023/07/03/textual-0290-refactors-dev-tools/index.html index 1c82fc532e..8840ea0608 100644 --- a/blog/2023/07/03/textual-0290-refactors-dev-tools/index.html +++ b/blog/2023/07/03/textual-0290-refactors-dev-tools/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/07/17/textual-0300-adds-desktop-style-notifications/index.html b/blog/2023/07/17/textual-0300-adds-desktop-style-notifications/index.html index 05397b6665..de72ccd08e 100644 --- a/blog/2023/07/17/textual-0300-adds-desktop-style-notifications/index.html +++ b/blog/2023/07/17/textual-0300-adds-desktop-style-notifications/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/07/27/using-rich-inspect-to-interrogate-python-objects/index.html b/blog/2023/07/27/using-rich-inspect-to-interrogate-python-objects/index.html index 4e91a3b842..7f162eb8b8 100644 --- a/blog/2023/07/27/using-rich-inspect-to-interrogate-python-objects/index.html +++ b/blog/2023/07/27/using-rich-inspect-to-interrogate-python-objects/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/07/29/pull-requests-are-cake-or-puppies/index.html b/blog/2023/07/29/pull-requests-are-cake-or-puppies/index.html index a98e5d1554..dee1e8c726 100644 --- a/blog/2023/07/29/pull-requests-are-cake-or-puppies/index.html +++ b/blog/2023/07/29/pull-requests-are-cake-or-puppies/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/09/06/what-is-textual-web/index.html b/blog/2023/09/06/what-is-textual-web/index.html index bb64281e91..350f2084d1 100644 --- a/blog/2023/09/06/what-is-textual-web/index.html +++ b/blog/2023/09/06/what-is-textual-web/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/09/15/textual-0370-adds-a-command-palette/index.html b/blog/2023/09/15/textual-0370-adds-a-command-palette/index.html index ae84d95d19..872ed6f3c9 100644 --- a/blog/2023/09/15/textual-0370-adds-a-command-palette/index.html +++ b/blog/2023/09/15/textual-0370-adds-a-command-palette/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/09/18/things-i-learned-while-building-textuals-textarea/index.html b/blog/2023/09/18/things-i-learned-while-building-textuals-textarea/index.html index c4570b781e..82e1657a2c 100644 --- a/blog/2023/09/18/things-i-learned-while-building-textuals-textarea/index.html +++ b/blog/2023/09/18/things-i-learned-while-building-textuals-textarea/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/09/21/textual-0380-adds-a-syntax-aware-textarea/index.html b/blog/2023/09/21/textual-0380-adds-a-syntax-aware-textarea/index.html index e051d1bc5c..ef1d6057e5 100644 --- a/blog/2023/09/21/textual-0380-adds-a-syntax-aware-textarea/index.html +++ b/blog/2023/09/21/textual-0380-adds-a-syntax-aware-textarea/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2023/10/04/announcing-textual-plotext/index.html b/blog/2023/10/04/announcing-textual-plotext/index.html index 539fccce6d..d95e01e7dd 100644 --- a/blog/2023/10/04/announcing-textual-plotext/index.html +++ b/blog/2023/10/04/announcing-textual-plotext/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2024/02/11/file-magic-with-the-python-standard-library/index.html b/blog/2024/02/11/file-magic-with-the-python-standard-library/index.html index 91d722951a..c3463c8e8f 100644 --- a/blog/2024/02/11/file-magic-with-the-python-standard-library/index.html +++ b/blog/2024/02/11/file-magic-with-the-python-standard-library/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2024/02/20/remote-memory-profiling-with-memray/index.html b/blog/2024/02/20/remote-memory-profiling-with-memray/index.html index e4d862d93e..d0c751917f 100644 --- a/blog/2024/02/20/remote-memory-profiling-with-memray/index.html +++ b/blog/2024/02/20/remote-memory-profiling-with-memray/index.html @@ -3847,6 +3847,8 @@ + + @@ -3989,6 +3991,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/2024/04/20/behind-the-curtain-of-inline-terminal-applications/index.html b/blog/2024/04/20/behind-the-curtain-of-inline-terminal-applications/index.html index 1ccb932787..64bae6893b 100644 --- a/blog/2024/04/20/behind-the-curtain-of-inline-terminal-applications/index.html +++ b/blog/2024/04/20/behind-the-curtain-of-inline-terminal-applications/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/archive/2022/index.html b/blog/archive/2022/index.html index a28cb3bf0a..0d6e216f36 100644 --- a/blog/archive/2022/index.html +++ b/blog/archive/2022/index.html @@ -3843,6 +3843,8 @@ + + @@ -3985,6 +3987,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/archive/2022/page/2/index.html b/blog/archive/2022/page/2/index.html index 6fcc6ae05b..3efd287fa4 100644 --- a/blog/archive/2022/page/2/index.html +++ b/blog/archive/2022/page/2/index.html @@ -3843,6 +3843,8 @@ + + @@ -3985,6 +3987,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/archive/2023/index.html b/blog/archive/2023/index.html index 31abee3c0f..7a0d0dd233 100644 --- a/blog/archive/2023/index.html +++ b/blog/archive/2023/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/archive/2023/page/2/index.html b/blog/archive/2023/page/2/index.html index 772562bb79..a88aee3db8 100644 --- a/blog/archive/2023/page/2/index.html +++ b/blog/archive/2023/page/2/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/archive/2023/page/3/index.html b/blog/archive/2023/page/3/index.html index e1642d733f..3fac85e852 100644 --- a/blog/archive/2023/page/3/index.html +++ b/blog/archive/2023/page/3/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/archive/2024/index.html b/blog/archive/2024/index.html index 5b8dc22eaa..41c4041d8b 100644 --- a/blog/archive/2024/index.html +++ b/blog/archive/2024/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/category/devlog/index.html b/blog/category/devlog/index.html index 9d55b14af8..c6e33a4939 100644 --- a/blog/category/devlog/index.html +++ b/blog/category/devlog/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/category/devlog/page/2/index.html b/blog/category/devlog/page/2/index.html index ef583d3de9..5a8cc2444a 100644 --- a/blog/category/devlog/page/2/index.html +++ b/blog/category/devlog/page/2/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/category/news/index.html b/blog/category/news/index.html index 79d0696e36..14f1b5a887 100644 --- a/blog/category/news/index.html +++ b/blog/category/news/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/category/release/index.html b/blog/category/release/index.html index d6844cb773..79d9ce063b 100644 --- a/blog/category/release/index.html +++ b/blog/category/release/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/category/release/page/2/index.html b/blog/category/release/page/2/index.html index eb9dadada6..b5e6bd80aa 100644 --- a/blog/category/release/page/2/index.html +++ b/blog/category/release/page/2/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/index.html b/blog/index.html index e6122ee245..b1c4d7dc2b 100644 --- a/blog/index.html +++ b/blog/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/page/2/index.html b/blog/page/2/index.html index ae66d42204..6b36547d3a 100644 --- a/blog/page/2/index.html +++ b/blog/page/2/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/page/3/index.html b/blog/page/3/index.html index 1f644dfabd..f3656efcd5 100644 --- a/blog/page/3/index.html +++ b/blog/page/3/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/blog/page/4/index.html b/blog/page/4/index.html index 542dbae9ac..bb86370453 100644 --- a/blog/page/4/index.html +++ b/blog/page/4/index.html @@ -3845,6 +3845,8 @@ + + @@ -3987,6 +3989,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/css_types/border/index.html b/css_types/border/index.html index 2a3a15096a..b25c27f172 100644 --- a/css_types/border/index.html +++ b/css_types/border/index.html @@ -3943,6 +3943,8 @@ + + @@ -4085,6 +4087,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/css_types/color/index.html b/css_types/color/index.html index b96da2e968..336b040e14 100644 --- a/css_types/color/index.html +++ b/css_types/color/index.html @@ -4003,6 +4003,8 @@ + + @@ -4145,6 +4147,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/css_types/horizontal/index.html b/css_types/horizontal/index.html index 0d78ee4796..88921b8ef2 100644 --- a/css_types/horizontal/index.html +++ b/css_types/horizontal/index.html @@ -3934,6 +3934,8 @@ + + @@ -4076,6 +4078,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/css_types/index.html b/css_types/index.html index e0a81ab717..b83a723ed9 100644 --- a/css_types/index.html +++ b/css_types/index.html @@ -3852,6 +3852,8 @@ + + @@ -3994,6 +3996,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/css_types/integer/index.html b/css_types/integer/index.html index ea103ad2fd..52e433f9a4 100644 --- a/css_types/integer/index.html +++ b/css_types/integer/index.html @@ -3934,6 +3934,8 @@ + + @@ -4076,6 +4078,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/css_types/keyline/index.html b/css_types/keyline/index.html index acd1f050e4..5b797a42e6 100644 --- a/css_types/keyline/index.html +++ b/css_types/keyline/index.html @@ -3934,6 +3934,8 @@ + + @@ -4076,6 +4078,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/css_types/name/index.html b/css_types/name/index.html index 6eceb17487..42f4911322 100644 --- a/css_types/name/index.html +++ b/css_types/name/index.html @@ -3934,6 +3934,8 @@ + + @@ -4076,6 +4078,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/css_types/number/index.html b/css_types/number/index.html index 0767f77fea..116fda21d1 100644 --- a/css_types/number/index.html +++ b/css_types/number/index.html @@ -3934,6 +3934,8 @@ + + @@ -4076,6 +4078,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/css_types/overflow/index.html b/css_types/overflow/index.html index 05a8ab55f6..3a8bef3fb3 100644 --- a/css_types/overflow/index.html +++ b/css_types/overflow/index.html @@ -3934,6 +3934,8 @@ + + @@ -4076,6 +4078,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/css_types/percentage/index.html b/css_types/percentage/index.html index 255b455bc0..91dd73581d 100644 --- a/css_types/percentage/index.html +++ b/css_types/percentage/index.html @@ -3934,6 +3934,8 @@ + + @@ -4076,6 +4078,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/css_types/scalar/index.html b/css_types/scalar/index.html index 82ced3578a..64981b3a91 100644 --- a/css_types/scalar/index.html +++ b/css_types/scalar/index.html @@ -4012,6 +4012,8 @@ + + @@ -4154,6 +4156,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/css_types/text_align/index.html b/css_types/text_align/index.html index 0abc5b291f..eb0cd1f153 100644 --- a/css_types/text_align/index.html +++ b/css_types/text_align/index.html @@ -3934,6 +3934,8 @@ + + @@ -4076,6 +4078,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/css_types/text_style/index.html b/css_types/text_style/index.html index 43af91d059..b2d946fb3b 100644 --- a/css_types/text_style/index.html +++ b/css_types/text_style/index.html @@ -3934,6 +3934,8 @@ + + @@ -4076,6 +4078,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/css_types/vertical/index.html b/css_types/vertical/index.html index 2e4df7e308..cdfb9349bb 100644 --- a/css_types/vertical/index.html +++ b/css_types/vertical/index.html @@ -3934,6 +3934,8 @@ + + @@ -4076,6 +4078,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/app_blur/index.html b/events/app_blur/index.html index 5477be3698..eb8585e91c 100644 --- a/events/app_blur/index.html +++ b/events/app_blur/index.html @@ -3901,6 +3901,8 @@ + + @@ -4043,6 +4045,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/app_focus/index.html b/events/app_focus/index.html index 2009fc7b3f..545e812217 100644 --- a/events/app_focus/index.html +++ b/events/app_focus/index.html @@ -3901,6 +3901,8 @@ + + @@ -4043,6 +4045,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/blur/index.html b/events/blur/index.html index c7b9709096..b3ea394209 100644 --- a/events/blur/index.html +++ b/events/blur/index.html @@ -3901,6 +3901,8 @@ + + @@ -4043,6 +4045,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/click/index.html b/events/click/index.html index 60b93b95a6..e58b51247c 100644 --- a/events/click/index.html +++ b/events/click/index.html @@ -3901,6 +3901,8 @@ + + @@ -4043,6 +4045,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/descendant_blur/index.html b/events/descendant_blur/index.html index ab7f3e96db..24e7828993 100644 --- a/events/descendant_blur/index.html +++ b/events/descendant_blur/index.html @@ -3919,6 +3919,8 @@ + + @@ -4061,6 +4063,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/descendant_focus/index.html b/events/descendant_focus/index.html index 93d92eb5a5..c572ef50e8 100644 --- a/events/descendant_focus/index.html +++ b/events/descendant_focus/index.html @@ -3919,6 +3919,8 @@ + + @@ -4061,6 +4063,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/enter/index.html b/events/enter/index.html index 750eeb04a0..4d4b11719b 100644 --- a/events/enter/index.html +++ b/events/enter/index.html @@ -3901,6 +3901,8 @@ + + @@ -4043,6 +4045,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/focus/index.html b/events/focus/index.html index 3ad2e22785..286fdbcb57 100644 --- a/events/focus/index.html +++ b/events/focus/index.html @@ -3901,6 +3901,8 @@ + + @@ -4043,6 +4045,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/hide/index.html b/events/hide/index.html index 9a0f613987..6612ec5243 100644 --- a/events/hide/index.html +++ b/events/hide/index.html @@ -3862,6 +3862,8 @@ + + @@ -4004,6 +4006,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/index.html b/events/index.html index e197481698..6f9e2f17f0 100644 --- a/events/index.html +++ b/events/index.html @@ -3852,6 +3852,8 @@ + + @@ -3994,6 +3996,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/key/index.html b/events/key/index.html index 4a18dd0fa0..5d45903ccf 100644 --- a/events/key/index.html +++ b/events/key/index.html @@ -3946,6 +3946,8 @@ + + @@ -4088,6 +4090,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/leave/index.html b/events/leave/index.html index 89ae6dd46f..40271b814b 100644 --- a/events/leave/index.html +++ b/events/leave/index.html @@ -3901,6 +3901,8 @@ + + @@ -4043,6 +4045,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/load/index.html b/events/load/index.html index 88ce797a54..5395cdc8fd 100644 --- a/events/load/index.html +++ b/events/load/index.html @@ -3901,6 +3901,8 @@ + + @@ -4043,6 +4045,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/mount/index.html b/events/mount/index.html index c165950392..261c94636d 100644 --- a/events/mount/index.html +++ b/events/mount/index.html @@ -3901,6 +3901,8 @@ + + @@ -4043,6 +4045,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/mouse_capture/index.html b/events/mouse_capture/index.html index e4e289ac55..e565011416 100644 --- a/events/mouse_capture/index.html +++ b/events/mouse_capture/index.html @@ -3910,6 +3910,8 @@ + + @@ -4052,6 +4054,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/mouse_down/index.html b/events/mouse_down/index.html index 6ffda10342..f85e67208d 100644 --- a/events/mouse_down/index.html +++ b/events/mouse_down/index.html @@ -3901,6 +3901,8 @@ + + @@ -4043,6 +4045,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/mouse_move/index.html b/events/mouse_move/index.html index e59c65d90f..5eae99bc0d 100644 --- a/events/mouse_move/index.html +++ b/events/mouse_move/index.html @@ -3901,6 +3901,8 @@ + + @@ -4043,6 +4045,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/mouse_release/index.html b/events/mouse_release/index.html index 4ef5d30ece..a5364d4766 100644 --- a/events/mouse_release/index.html +++ b/events/mouse_release/index.html @@ -3910,6 +3910,8 @@ + + @@ -4052,6 +4054,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/mouse_scroll_down/index.html b/events/mouse_scroll_down/index.html index 950178da0e..2650ddebf0 100644 --- a/events/mouse_scroll_down/index.html +++ b/events/mouse_scroll_down/index.html @@ -3901,6 +3901,8 @@ + + @@ -4043,6 +4045,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/mouse_scroll_up/index.html b/events/mouse_scroll_up/index.html index 5bb0f6beac..7c39181c56 100644 --- a/events/mouse_scroll_up/index.html +++ b/events/mouse_scroll_up/index.html @@ -3901,6 +3901,8 @@ + + @@ -4043,6 +4045,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/mouse_up/index.html b/events/mouse_up/index.html index a057060f03..ee69afcd89 100644 --- a/events/mouse_up/index.html +++ b/events/mouse_up/index.html @@ -3901,6 +3901,8 @@ + + @@ -4043,6 +4045,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/paste/index.html b/events/paste/index.html index d9b49c06ea..201ca7c4b7 100644 --- a/events/paste/index.html +++ b/events/paste/index.html @@ -3901,6 +3901,8 @@ + + @@ -4043,6 +4045,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/print/index.html b/events/print/index.html index 8d455f2411..8612a4518b 100644 --- a/events/print/index.html +++ b/events/print/index.html @@ -3910,6 +3910,8 @@ + + @@ -4052,6 +4054,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/resize/index.html b/events/resize/index.html index 07c0f240ac..780477f9eb 100644 --- a/events/resize/index.html +++ b/events/resize/index.html @@ -3919,6 +3919,8 @@ + + @@ -4061,6 +4063,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/screen_resume/index.html b/events/screen_resume/index.html index 242ee263f1..acbae2ea4e 100644 --- a/events/screen_resume/index.html +++ b/events/screen_resume/index.html @@ -3901,6 +3901,8 @@ + + @@ -4043,6 +4045,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/screen_suspend/index.html b/events/screen_suspend/index.html index 8db1ee2fd0..e5df07a397 100644 --- a/events/screen_suspend/index.html +++ b/events/screen_suspend/index.html @@ -3901,6 +3901,8 @@ + + @@ -4043,6 +4045,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/show/index.html b/events/show/index.html index 44ed9ec7eb..9651d9ea78 100644 --- a/events/show/index.html +++ b/events/show/index.html @@ -3862,6 +3862,8 @@ + + @@ -4004,6 +4006,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/events/unmount/index.html b/events/unmount/index.html index ab4e36c56e..159a0d4256 100644 --- a/events/unmount/index.html +++ b/events/unmount/index.html @@ -3901,6 +3901,8 @@ + + @@ -4043,6 +4045,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/examples/styles/index.html b/examples/styles/index.html index 6ff1a98b45..c1624eef5c 100644 --- a/examples/styles/index.html +++ b/examples/styles/index.html @@ -3834,6 +3834,8 @@ + + @@ -3976,6 +3978,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/examples/widgets/classic_footer.py b/examples/widgets/classic_footer.py new file mode 100644 index 0000000000..104b4fc93e --- /dev/null +++ b/examples/widgets/classic_footer.py @@ -0,0 +1,25 @@ +from textual.app import App, ComposeResult +from textual.binding import Binding +from textual.widgets import ClassicFooter + + +class FooterApp(App): + BINDINGS = [ + Binding(key="q", action="quit", description="Quit the app"), + Binding( + key="question_mark", + action="help", + description="Show help screen", + key_display="?", + ), + Binding(key="delete", action="delete", description="Delete the thing"), + Binding(key="j", action="down", description="Scroll down", show=False), + ] + + def compose(self) -> ComposeResult: + yield ClassicFooter() + + +if __name__ == "__main__": + app = FooterApp() + app.run() diff --git a/feed_rss_created.xml b/feed_rss_created.xml index 486549c963..376e4d83dc 100644 --- a/feed_rss_created.xml +++ b/feed_rss_created.xml @@ -1 +1 @@ - Textualhttps://textual.textualize.io/https://github.com/textualize/textual/en Mon, 20 May 2024 18:41:25 -0000 Mon, 20 May 2024 18:41:25 -0000 1440 MkDocs RSS plugin - v1.12.1 Behind the Curtain of Inline Terminal Applications willmcgugan DevLog <h1>Behind the Curtain of Inline Terminal Applications</h1><p>Textual recently added the ability to run <em>inline</em> terminal apps.You can see this in action if you run the <a href="https://github.com/Textualize/textual/blob/main/examples/calculator.py">calculator example</a>:</p><p><img alt="Inline Calculator" src="../images/calcinline.png"></p><p>The application appears directly under the prompt, rather than occupying the full height of the screen&mdash;which is more typical of TUI applications.You can interact with this calculator using keys <em>or</em> the mouse.When you press ++ctrl+c++ the calculator disappears and returns you to the prompt.</p><p>Here's another app that creates an inline code editor:</p><p>=== "Video"</p><pre><code>&lt;div class="video-wrapper"&gt; &lt;iframe width="852" height="525" src="https://www.youtube.com/embed/Dt70oSID1DY" title="Inline app" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;</code></pre><p>=== "inline.py" ```python from textual.app import App, ComposeResult from textual.widgets import TextArea</p><pre><code>class InlineApp(App): CSS = """ TextArea { height: auto; max-height: 50vh; } """ def compose(self) -&gt; ComposeResult: yield TextArea(language="python")if __name__ == "__main__": InlineApp().run(inline=True)```</code></pre><p>This post will cover some of what goes on under the hood to make such inline apps work.</p><p>It's not going to go in to too much detail.I'm assuming most readers will be more interested in a birds-eye view rather than all the gory details.</p>https://textual.textualize.io/blog/2024/04/20/behind-the-curtain-of-inline-terminal-applications/ Sat, 20 Apr 2024 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2024/04/20/behind-the-curtain-of-inline-terminal-applications/ Remote memory profiling with Memray willmcgugan DevLog <h1>Remote memory profiling with Memray</h1><p><a href="https://github.com/bloomberg/memray">Memray</a> is a memory profiler for Python, built by some very smart devs at Bloomberg.It is a fantastic tool to identify memory leaks in your code or other libraries (down to the C level)!</p><p>They recently added a <a href="https://github.com/textualize/textual/">Textual</a> interface which looks amazing, and lets you monitor your process right from the terminal:</p><p><img alt="Memray" src="https://raw.githubusercontent.com/bloomberg/memray/main/docs/_static/images/live_animated.webp"></p>https://textual.textualize.io/blog/2024/02/20/remote-memory-profiling-with-memray/ Tue, 20 Feb 2024 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2024/02/20/remote-memory-profiling-with-memray/ File magic with the Python standard library willmcgugan DevLog <h1>File magic with the Python standard library</h1><p>I recently published <a href="https://github.com/textualize/toolong">Toolong</a>, an app for viewing log files.There were some interesting technical challenges in building Toolong that I'd like to cover in this post.</p>https://textual.textualize.io/blog/2024/02/11/file-magic-with-the-python-standard-library/ Sun, 11 Feb 2024 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2024/02/11/file-magic-with-the-python-standard-library/ Announcing textual-plotext davep DevLog <h1>Announcing textual-plotext</h1><p>It's no surprise that a common question on the <a href="https://discord.gg/Enf6Z3qhVr">Textual Discordserver</a> is how to go about producing plots inthe terminal. A popular solution that has been suggested is<a href="https://github.com/piccolomo/plotext">Plotext</a>. While Plotext doesn'tdirectly support Textual, it is <a href="https://github.com/piccolomo/plotext/blob/master/readme/environments.md#rich">easy to use withRich</a>and, because of this, we wanted to make it just as easy to use in yourTextual applications.</p>https://textual.textualize.io/blog/2023/10/04/announcing-textual-plotext/ Wed, 04 Oct 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/10/04/announcing-textual-plotext/ Textual 0.38.0 adds a syntax aware TextArea willmcgugan Release <h1>Textual 0.38.0 adds a syntax aware TextArea</h1><p>This is the second big feature release this month after last week's <a href="./release0.37.0.md">command palette</a>.</p>https://textual.textualize.io/blog/2023/09/21/textual-0380-adds-a-syntax-aware-textarea/ Thu, 21 Sep 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/09/21/textual-0380-adds-a-syntax-aware-textarea/ Things I learned while building Textual's TextArea darrenburns DevLog <h1>Things I learned building a text editor for the terminal</h1><p><code>TextArea</code> is the latest widget to be added to Textual's <a href="https://textual.textualize.io/widget_gallery/">growing collection</a>.It provides a multi-line space to edit text, and features optional syntax highlighting for a selection of languages.</p><p><img alt="text-area-welcome.gif" src="../images/text-area-learnings/text-area-welcome.gif"></p><p>Adding a <code>TextArea</code> to your Textual app is as simple as adding this to your <code>compose</code> method:</p><p><code>pythonyield TextArea()</code></p><p>Enabling syntax highlighting for a language is as simple as:</p><p><code>pythonyield TextArea(language="python")</code></p><p>Working on the <code>TextArea</code> widget for Textual taught me a lot about Python and my generalapproach to software engineering. It gave me an appreciation for the subtle functionality behindthe editors we use on a daily basis — features we may not even notice, despitesome engineer spending hours perfecting it to provide a small boost to our development experience.</p><p>This post is a tour of some of these learnings.</p>https://textual.textualize.io/blog/2023/09/18/things-i-learned-while-building-textuals-textarea/ Mon, 18 Sep 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/09/18/things-i-learned-while-building-textuals-textarea/ Textual 0.37.0 adds a command palette willmcgugan Release <h1>Textual 0.37.0 adds a command palette</h1><p>Textual version 0.37.0 has landed!The highlight of this release is the new command palette.</p>https://textual.textualize.io/blog/2023/09/15/textual-0370-adds-a-command-palette/ Fri, 15 Sep 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/09/15/textual-0370-adds-a-command-palette/ What is Textual Web? willmcgugan News <h1>What is Textual Web?</h1><p>If you know us, you will know that we are the team behind <a href="https://github.com/Textualize/rich">Rich</a> and <a href="https://github.com/Textualize/textual">Textual</a> &mdash; two popular Python libraries that work magic in the terminal.</p><p>!!! note</p><pre><code>Not to mention [Rich-CLI](https://github.com/Textualize/rich-cli), [Trogon](https://github.com/Textualize/trogon), and [Frogmouth](https://github.com/Textualize/frogmouth)</code></pre><p>Today we are adding one project more to that lineup: <a href="https://github.com/Textualize/textual-web">textual-web</a>.</p>https://textual.textualize.io/blog/2023/09/06/what-is-textual-web/ Wed, 06 Sep 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/09/06/what-is-textual-web/ Pull Requests are cake or puppies willmcgugan DevLog <h1>Pull Requests are cake or puppies</h1><p>Broadly speaking, there are two types of contributions you can make to an Open Source project.</p>https://textual.textualize.io/blog/2023/07/29/pull-requests-are-cake-or-puppies/ Sat, 29 Jul 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/07/29/pull-requests-are-cake-or-puppies/ Using Rich Inspect to interrogate Python objects willmcgugan DevLog <h1>Using Rich Inspect to interrogate Python objects</h1><p>The <a href="https://github.com/Textualize/rich">Rich</a> library has a few functions that are admittedly a little out of scope for a terminal color library. One such function is <code>inspect</code> which is so useful you may want to <code>pip install rich</code> just for this feature.</p>https://textual.textualize.io/blog/2023/07/27/using-rich-inspect-to-interrogate-python-objects/ Thu, 27 Jul 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/07/27/using-rich-inspect-to-interrogate-python-objects/ Textual 0.30.0 adds desktop-style notifications willmcgugan Release <h1>Textual 0.30.0 adds desktop-style notifications</h1><p>We have a new release of Textual to talk about, but before that I'd like to cover a little Textual news.</p>https://textual.textualize.io/blog/2023/07/17/textual-0300-adds-desktop-style-notifications/ Mon, 17 Jul 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/07/17/textual-0300-adds-desktop-style-notifications/ Textual 0.29.0 refactors dev tools willmcgugan Release <h1>Textual 0.29.0 refactors dev tools</h1><p>It's been a slow week or two at Textualize, with Textual devs taking well-earned annual leave, but we still managed to get a new version out.</p>https://textual.textualize.io/blog/2023/07/03/textual-0290-refactors-dev-tools/ Mon, 03 Jul 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/07/03/textual-0290-refactors-dev-tools/ To TUI or not to TUI willmcgugan DevLog <h1>To TUI or not to TUI</h1><p>Tech moves pretty fast.If you don’t stop and look around once in a while, you could miss it.And yet some technology feels like it has been around forever.</p><p>Terminals are one of those forever-technologies.</p>https://textual.textualize.io/blog/2023/06/06/to-tui-or-not-to-tui/ Tue, 06 Jun 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/06/06/to-tui-or-not-to-tui/ Textual adds Sparklines, Selection list, Input validation, and tool tips willmcgugan Release <h1>Textual adds Sparklines, Selection list, Input validation, and tool tips</h1><p>It's been 12 days since the last Textual release, which is longer than our usual release cycle of a week.</p><p>We've been a little distracted with our "dogfood" projects: <a href="https://github.com/Textualize/frogmouth">Frogmouth</a> and <a href="https://github.com/Textualize/trogon">Trogon</a>. Both of which hit 1000 Github stars in 24 hours. We will be maintaining / updating those, but it is business as usual for this Textual release (and it's a big one). We have such sights to show you.</p>https://textual.textualize.io/blog/2023/06/01/textual-adds-sparklines-selection-list-input-validation-and-tool-tips/ Thu, 01 Jun 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/06/01/textual-adds-sparklines-selection-list-input-validation-and-tool-tips/ Textual 0.24.0 adds a Select control willmcgugan Release <h1>Textual 0.24.0 adds a Select control</h1><p>Coming just 5 days after the last release, we have version 0.24.0 which we are crowning the King of Textual releases.At least until it is deposed by version 0.25.0.</p>https://textual.textualize.io/blog/2023/05/08/textual-0240-adds-a-select-control/ Mon, 08 May 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/05/08/textual-0240-adds-a-select-control/ Textual 0.23.0 improves message handling willmcgugan Release <h1>Textual 0.23.0 improves message handling</h1><p>It's been a busy couple of weeks at Textualize.We've been building apps with <a href="https://github.com/Textualize/textual">Textual</a>, as part of our <em>dog-fooding</em> week.The first app, <a href="https://github.com/Textualize/frogmouth">Frogmouth</a>, was released at the weekend and already has 1K GitHub stars!Expect two more such apps this month.</p>https://textual.textualize.io/blog/2023/05/03/textual-0230-improves-message-handling/ Wed, 03 May 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/05/03/textual-0230-improves-message-handling/ Textual 0.18.0 adds API for managing concurrent workers willmcgugan Release <h1>Textual 0.18.0 adds API for managing concurrent workers</h1><p>Less than a week since the last release, and we have a new API to show you.</p>https://textual.textualize.io/blog/2023/04/04/textual-0180-adds-api-for-managing-concurrent-workers/ Tue, 04 Apr 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/04/04/textual-0180-adds-api-for-managing-concurrent-workers/ Textual 0.17.0 adds translucent screens and Option List willmcgugan Release <h1>Textual 0.17.0 adds translucent screens and Option List</h1><p>This is a surprisingly large release, given it has been just 7 days since the last version (and we were down a developer for most of that time).</p><p>What's new in this release?</p>https://textual.textualize.io/blog/2023/03/29/textual-0170-adds-translucent-screens-and-option-list/ Wed, 29 Mar 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/03/29/textual-0170-adds-translucent-screens-and-option-list/ Textual 0.16.0 adds TabbedContent and border titles willmcgugan Release <h1>Textual 0.16.0 adds TabbedContent and border titles</h1><p>Textual 0.16.0 lands 9 days after the previous release. We have some new features to show you.</p>https://textual.textualize.io/blog/2023/03/22/textual-0160-adds-tabbedcontent-and-border-titles/ Wed, 22 Mar 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/03/22/textual-0160-adds-tabbedcontent-and-border-titles/ No-async async with Python willmcgugan DevLog <h1>No-async async with Python</h1><p>A (reasonable) criticism of async is that it tends to proliferate in your code. In order to <code>await</code> something, your functions must be <code>async</code> all the way up the call-stack. This tends to result in you making things <code>async</code> just to support that one call that needs it or, worse, adding <code>async</code> just-in-case. Given that going from <code>def</code> to <code>async def</code> is a breaking change there is a strong incentive to go straight there.</p><p>Before you know it, you have adopted a policy of "async all the things".</p>https://textual.textualize.io/blog/2023/03/15/no-async-async-with-python/ Wed, 15 Mar 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/03/15/no-async-async-with-python/ \ No newline at end of file + Textualhttps://textual.textualize.io/https://github.com/textualize/textual/en Wed, 22 May 2024 16:46:08 -0000 Wed, 22 May 2024 16:46:08 -0000 1440 MkDocs RSS plugin - v1.12.1 Behind the Curtain of Inline Terminal Applications willmcgugan DevLog <h1>Behind the Curtain of Inline Terminal Applications</h1><p>Textual recently added the ability to run <em>inline</em> terminal apps.You can see this in action if you run the <a href="https://github.com/Textualize/textual/blob/main/examples/calculator.py">calculator example</a>:</p><p><img alt="Inline Calculator" src="../images/calcinline.png"></p><p>The application appears directly under the prompt, rather than occupying the full height of the screen&mdash;which is more typical of TUI applications.You can interact with this calculator using keys <em>or</em> the mouse.When you press ++ctrl+c++ the calculator disappears and returns you to the prompt.</p><p>Here's another app that creates an inline code editor:</p><p>=== "Video"</p><pre><code>&lt;div class="video-wrapper"&gt; &lt;iframe width="852" height="525" src="https://www.youtube.com/embed/Dt70oSID1DY" title="Inline app" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;</code></pre><p>=== "inline.py" ```python from textual.app import App, ComposeResult from textual.widgets import TextArea</p><pre><code>class InlineApp(App): CSS = """ TextArea { height: auto; max-height: 50vh; } """ def compose(self) -&gt; ComposeResult: yield TextArea(language="python")if __name__ == "__main__": InlineApp().run(inline=True)```</code></pre><p>This post will cover some of what goes on under the hood to make such inline apps work.</p><p>It's not going to go in to too much detail.I'm assuming most readers will be more interested in a birds-eye view rather than all the gory details.</p>https://textual.textualize.io/blog/2024/04/20/behind-the-curtain-of-inline-terminal-applications/ Sat, 20 Apr 2024 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2024/04/20/behind-the-curtain-of-inline-terminal-applications/ Remote memory profiling with Memray willmcgugan DevLog <h1>Remote memory profiling with Memray</h1><p><a href="https://github.com/bloomberg/memray">Memray</a> is a memory profiler for Python, built by some very smart devs at Bloomberg.It is a fantastic tool to identify memory leaks in your code or other libraries (down to the C level)!</p><p>They recently added a <a href="https://github.com/textualize/textual/">Textual</a> interface which looks amazing, and lets you monitor your process right from the terminal:</p><p><img alt="Memray" src="https://raw.githubusercontent.com/bloomberg/memray/main/docs/_static/images/live_animated.webp"></p>https://textual.textualize.io/blog/2024/02/20/remote-memory-profiling-with-memray/ Tue, 20 Feb 2024 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2024/02/20/remote-memory-profiling-with-memray/ File magic with the Python standard library willmcgugan DevLog <h1>File magic with the Python standard library</h1><p>I recently published <a href="https://github.com/textualize/toolong">Toolong</a>, an app for viewing log files.There were some interesting technical challenges in building Toolong that I'd like to cover in this post.</p>https://textual.textualize.io/blog/2024/02/11/file-magic-with-the-python-standard-library/ Sun, 11 Feb 2024 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2024/02/11/file-magic-with-the-python-standard-library/ Announcing textual-plotext davep DevLog <h1>Announcing textual-plotext</h1><p>It's no surprise that a common question on the <a href="https://discord.gg/Enf6Z3qhVr">Textual Discordserver</a> is how to go about producing plots inthe terminal. A popular solution that has been suggested is<a href="https://github.com/piccolomo/plotext">Plotext</a>. While Plotext doesn'tdirectly support Textual, it is <a href="https://github.com/piccolomo/plotext/blob/master/readme/environments.md#rich">easy to use withRich</a>and, because of this, we wanted to make it just as easy to use in yourTextual applications.</p>https://textual.textualize.io/blog/2023/10/04/announcing-textual-plotext/ Wed, 04 Oct 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/10/04/announcing-textual-plotext/ Textual 0.38.0 adds a syntax aware TextArea willmcgugan Release <h1>Textual 0.38.0 adds a syntax aware TextArea</h1><p>This is the second big feature release this month after last week's <a href="./release0.37.0.md">command palette</a>.</p>https://textual.textualize.io/blog/2023/09/21/textual-0380-adds-a-syntax-aware-textarea/ Thu, 21 Sep 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/09/21/textual-0380-adds-a-syntax-aware-textarea/ Things I learned while building Textual's TextArea darrenburns DevLog <h1>Things I learned building a text editor for the terminal</h1><p><code>TextArea</code> is the latest widget to be added to Textual's <a href="https://textual.textualize.io/widget_gallery/">growing collection</a>.It provides a multi-line space to edit text, and features optional syntax highlighting for a selection of languages.</p><p><img alt="text-area-welcome.gif" src="../images/text-area-learnings/text-area-welcome.gif"></p><p>Adding a <code>TextArea</code> to your Textual app is as simple as adding this to your <code>compose</code> method:</p><p><code>pythonyield TextArea()</code></p><p>Enabling syntax highlighting for a language is as simple as:</p><p><code>pythonyield TextArea(language="python")</code></p><p>Working on the <code>TextArea</code> widget for Textual taught me a lot about Python and my generalapproach to software engineering. It gave me an appreciation for the subtle functionality behindthe editors we use on a daily basis — features we may not even notice, despitesome engineer spending hours perfecting it to provide a small boost to our development experience.</p><p>This post is a tour of some of these learnings.</p>https://textual.textualize.io/blog/2023/09/18/things-i-learned-while-building-textuals-textarea/ Mon, 18 Sep 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/09/18/things-i-learned-while-building-textuals-textarea/ Textual 0.37.0 adds a command palette willmcgugan Release <h1>Textual 0.37.0 adds a command palette</h1><p>Textual version 0.37.0 has landed!The highlight of this release is the new command palette.</p>https://textual.textualize.io/blog/2023/09/15/textual-0370-adds-a-command-palette/ Fri, 15 Sep 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/09/15/textual-0370-adds-a-command-palette/ What is Textual Web? willmcgugan News <h1>What is Textual Web?</h1><p>If you know us, you will know that we are the team behind <a href="https://github.com/Textualize/rich">Rich</a> and <a href="https://github.com/Textualize/textual">Textual</a> &mdash; two popular Python libraries that work magic in the terminal.</p><p>!!! note</p><pre><code>Not to mention [Rich-CLI](https://github.com/Textualize/rich-cli), [Trogon](https://github.com/Textualize/trogon), and [Frogmouth](https://github.com/Textualize/frogmouth)</code></pre><p>Today we are adding one project more to that lineup: <a href="https://github.com/Textualize/textual-web">textual-web</a>.</p>https://textual.textualize.io/blog/2023/09/06/what-is-textual-web/ Wed, 06 Sep 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/09/06/what-is-textual-web/ Pull Requests are cake or puppies willmcgugan DevLog <h1>Pull Requests are cake or puppies</h1><p>Broadly speaking, there are two types of contributions you can make to an Open Source project.</p>https://textual.textualize.io/blog/2023/07/29/pull-requests-are-cake-or-puppies/ Sat, 29 Jul 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/07/29/pull-requests-are-cake-or-puppies/ Using Rich Inspect to interrogate Python objects willmcgugan DevLog <h1>Using Rich Inspect to interrogate Python objects</h1><p>The <a href="https://github.com/Textualize/rich">Rich</a> library has a few functions that are admittedly a little out of scope for a terminal color library. One such function is <code>inspect</code> which is so useful you may want to <code>pip install rich</code> just for this feature.</p>https://textual.textualize.io/blog/2023/07/27/using-rich-inspect-to-interrogate-python-objects/ Thu, 27 Jul 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/07/27/using-rich-inspect-to-interrogate-python-objects/ Textual 0.30.0 adds desktop-style notifications willmcgugan Release <h1>Textual 0.30.0 adds desktop-style notifications</h1><p>We have a new release of Textual to talk about, but before that I'd like to cover a little Textual news.</p>https://textual.textualize.io/blog/2023/07/17/textual-0300-adds-desktop-style-notifications/ Mon, 17 Jul 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/07/17/textual-0300-adds-desktop-style-notifications/ Textual 0.29.0 refactors dev tools willmcgugan Release <h1>Textual 0.29.0 refactors dev tools</h1><p>It's been a slow week or two at Textualize, with Textual devs taking well-earned annual leave, but we still managed to get a new version out.</p>https://textual.textualize.io/blog/2023/07/03/textual-0290-refactors-dev-tools/ Mon, 03 Jul 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/07/03/textual-0290-refactors-dev-tools/ To TUI or not to TUI willmcgugan DevLog <h1>To TUI or not to TUI</h1><p>Tech moves pretty fast.If you don’t stop and look around once in a while, you could miss it.And yet some technology feels like it has been around forever.</p><p>Terminals are one of those forever-technologies.</p>https://textual.textualize.io/blog/2023/06/06/to-tui-or-not-to-tui/ Tue, 06 Jun 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/06/06/to-tui-or-not-to-tui/ Textual adds Sparklines, Selection list, Input validation, and tool tips willmcgugan Release <h1>Textual adds Sparklines, Selection list, Input validation, and tool tips</h1><p>It's been 12 days since the last Textual release, which is longer than our usual release cycle of a week.</p><p>We've been a little distracted with our "dogfood" projects: <a href="https://github.com/Textualize/frogmouth">Frogmouth</a> and <a href="https://github.com/Textualize/trogon">Trogon</a>. Both of which hit 1000 Github stars in 24 hours. We will be maintaining / updating those, but it is business as usual for this Textual release (and it's a big one). We have such sights to show you.</p>https://textual.textualize.io/blog/2023/06/01/textual-adds-sparklines-selection-list-input-validation-and-tool-tips/ Thu, 01 Jun 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/06/01/textual-adds-sparklines-selection-list-input-validation-and-tool-tips/ Textual 0.24.0 adds a Select control willmcgugan Release <h1>Textual 0.24.0 adds a Select control</h1><p>Coming just 5 days after the last release, we have version 0.24.0 which we are crowning the King of Textual releases.At least until it is deposed by version 0.25.0.</p>https://textual.textualize.io/blog/2023/05/08/textual-0240-adds-a-select-control/ Mon, 08 May 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/05/08/textual-0240-adds-a-select-control/ Textual 0.23.0 improves message handling willmcgugan Release <h1>Textual 0.23.0 improves message handling</h1><p>It's been a busy couple of weeks at Textualize.We've been building apps with <a href="https://github.com/Textualize/textual">Textual</a>, as part of our <em>dog-fooding</em> week.The first app, <a href="https://github.com/Textualize/frogmouth">Frogmouth</a>, was released at the weekend and already has 1K GitHub stars!Expect two more such apps this month.</p>https://textual.textualize.io/blog/2023/05/03/textual-0230-improves-message-handling/ Wed, 03 May 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/05/03/textual-0230-improves-message-handling/ Textual 0.18.0 adds API for managing concurrent workers willmcgugan Release <h1>Textual 0.18.0 adds API for managing concurrent workers</h1><p>Less than a week since the last release, and we have a new API to show you.</p>https://textual.textualize.io/blog/2023/04/04/textual-0180-adds-api-for-managing-concurrent-workers/ Tue, 04 Apr 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/04/04/textual-0180-adds-api-for-managing-concurrent-workers/ Textual 0.17.0 adds translucent screens and Option List willmcgugan Release <h1>Textual 0.17.0 adds translucent screens and Option List</h1><p>This is a surprisingly large release, given it has been just 7 days since the last version (and we were down a developer for most of that time).</p><p>What's new in this release?</p>https://textual.textualize.io/blog/2023/03/29/textual-0170-adds-translucent-screens-and-option-list/ Wed, 29 Mar 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/03/29/textual-0170-adds-translucent-screens-and-option-list/ Textual 0.16.0 adds TabbedContent and border titles willmcgugan Release <h1>Textual 0.16.0 adds TabbedContent and border titles</h1><p>Textual 0.16.0 lands 9 days after the previous release. We have some new features to show you.</p>https://textual.textualize.io/blog/2023/03/22/textual-0160-adds-tabbedcontent-and-border-titles/ Wed, 22 Mar 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/03/22/textual-0160-adds-tabbedcontent-and-border-titles/ No-async async with Python willmcgugan DevLog <h1>No-async async with Python</h1><p>A (reasonable) criticism of async is that it tends to proliferate in your code. In order to <code>await</code> something, your functions must be <code>async</code> all the way up the call-stack. This tends to result in you making things <code>async</code> just to support that one call that needs it or, worse, adding <code>async</code> just-in-case. Given that going from <code>def</code> to <code>async def</code> is a breaking change there is a strong incentive to go straight there.</p><p>Before you know it, you have adopted a policy of "async all the things".</p>https://textual.textualize.io/blog/2023/03/15/no-async-async-with-python/ Wed, 15 Mar 2023 00:00:00 +0000Textualhttps://textual.textualize.io/blog/2023/03/15/no-async-async-with-python/ \ No newline at end of file diff --git a/feed_rss_updated.xml b/feed_rss_updated.xml index 9a207a5789..c5a2004eec 100644 --- a/feed_rss_updated.xml +++ b/feed_rss_updated.xml @@ -1 +1 @@ - Textualhttps://textual.textualize.io/https://github.com/textualize/textual/en Mon, 20 May 2024 18:41:25 -0000 Mon, 20 May 2024 18:41:25 -0000 1440 MkDocs RSS plugin - v1.12.1 Behind the Curtain of Inline Terminal Applications willmcgugan DevLog <h1>Behind the Curtain of Inline Terminal Applications</h1><p>Textual recently added the ability to run <em>inline</em> terminal apps.You can see this in action if you run the <a href="https://github.com/Textualize/textual/blob/main/examples/calculator.py">calculator example</a>:</p><p><img alt="Inline Calculator" src="../images/calcinline.png"></p><p>The application appears directly under the prompt, rather than occupying the full height of the screen&mdash;which is more typical of TUI applications.You can interact with this calculator using keys <em>or</em> the mouse.When you press ++ctrl+c++ the calculator disappears and returns you to the prompt.</p><p>Here's another app that creates an inline code editor:</p><p>=== "Video"</p><pre><code>&lt;div class="video-wrapper"&gt; &lt;iframe width="852" height="525" src="https://www.youtube.com/embed/Dt70oSID1DY" title="Inline app" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;</code></pre><p>=== "inline.py" ```python from textual.app import App, ComposeResult from textual.widgets import TextArea</p><pre><code>class InlineApp(App): CSS = """ TextArea { height: auto; max-height: 50vh; } """ def compose(self) -&gt; ComposeResult: yield TextArea(language="python")if __name__ == "__main__": InlineApp().run(inline=True)```</code></pre><p>This post will cover some of what goes on under the hood to make such inline apps work.</p><p>It's not going to go in to too much detail.I'm assuming most readers will be more interested in a birds-eye view rather than all the gory details.</p>https://textual.textualize.io/blog/2024/04/20/behind-the-curtain-of-inline-terminal-applications/ Sun, 21 Apr 2024 13:21:53 +0000Textualhttps://textual.textualize.io/blog/2024/04/20/behind-the-curtain-of-inline-terminal-applications/ File magic with the Python standard library willmcgugan DevLog <h1>File magic with the Python standard library</h1><p>I recently published <a href="https://github.com/textualize/toolong">Toolong</a>, an app for viewing log files.There were some interesting technical challenges in building Toolong that I'd like to cover in this post.</p>https://textual.textualize.io/blog/2024/02/11/file-magic-with-the-python-standard-library/ Sun, 03 Mar 2024 13:32:04 +0000Textualhttps://textual.textualize.io/blog/2024/02/11/file-magic-with-the-python-standard-library/ Remote memory profiling with Memray willmcgugan DevLog <h1>Remote memory profiling with Memray</h1><p><a href="https://github.com/bloomberg/memray">Memray</a> is a memory profiler for Python, built by some very smart devs at Bloomberg.It is a fantastic tool to identify memory leaks in your code or other libraries (down to the C level)!</p><p>They recently added a <a href="https://github.com/textualize/textual/">Textual</a> interface which looks amazing, and lets you monitor your process right from the terminal:</p><p><img alt="Memray" src="https://raw.githubusercontent.com/bloomberg/memray/main/docs/_static/images/live_animated.webp"></p>https://textual.textualize.io/blog/2024/02/20/remote-memory-profiling-with-memray/ Tue, 20 Feb 2024 15:54:07 +0000Textualhttps://textual.textualize.io/blog/2024/02/20/remote-memory-profiling-with-memray/ Announcing textual-plotext davep DevLog <h1>Announcing textual-plotext</h1><p>It's no surprise that a common question on the <a href="https://discord.gg/Enf6Z3qhVr">Textual Discordserver</a> is how to go about producing plots inthe terminal. A popular solution that has been suggested is<a href="https://github.com/piccolomo/plotext">Plotext</a>. While Plotext doesn'tdirectly support Textual, it is <a href="https://github.com/piccolomo/plotext/blob/master/readme/environments.md#rich">easy to use withRich</a>and, because of this, we wanted to make it just as easy to use in yourTextual applications.</p>https://textual.textualize.io/blog/2023/10/04/announcing-textual-plotext/ Sat, 07 Oct 2023 13:42:11 +0000Textualhttps://textual.textualize.io/blog/2023/10/04/announcing-textual-plotext/ Things I learned while building Textual's TextArea darrenburns DevLog <h1>Things I learned building a text editor for the terminal</h1><p><code>TextArea</code> is the latest widget to be added to Textual's <a href="https://textual.textualize.io/widget_gallery/">growing collection</a>.It provides a multi-line space to edit text, and features optional syntax highlighting for a selection of languages.</p><p><img alt="text-area-welcome.gif" src="../images/text-area-learnings/text-area-welcome.gif"></p><p>Adding a <code>TextArea</code> to your Textual app is as simple as adding this to your <code>compose</code> method:</p><p><code>pythonyield TextArea()</code></p><p>Enabling syntax highlighting for a language is as simple as:</p><p><code>pythonyield TextArea(language="python")</code></p><p>Working on the <code>TextArea</code> widget for Textual taught me a lot about Python and my generalapproach to software engineering. It gave me an appreciation for the subtle functionality behindthe editors we use on a daily basis — features we may not even notice, despitesome engineer spending hours perfecting it to provide a small boost to our development experience.</p><p>This post is a tour of some of these learnings.</p>https://textual.textualize.io/blog/2023/09/18/things-i-learned-while-building-textuals-textarea/ Sat, 23 Sep 2023 14:06:20 +0000Textualhttps://textual.textualize.io/blog/2023/09/18/things-i-learned-while-building-textuals-textarea/ Textual 0.38.0 adds a syntax aware TextArea willmcgugan Release <h1>Textual 0.38.0 adds a syntax aware TextArea</h1><p>This is the second big feature release this month after last week's <a href="./release0.37.0.md">command palette</a>.</p>https://textual.textualize.io/blog/2023/09/21/textual-0380-adds-a-syntax-aware-textarea/ Thu, 21 Sep 2023 13:27:43 +0000Textualhttps://textual.textualize.io/blog/2023/09/21/textual-0380-adds-a-syntax-aware-textarea/ Textual 0.37.0 adds a command palette willmcgugan Release <h1>Textual 0.37.0 adds a command palette</h1><p>Textual version 0.37.0 has landed!The highlight of this release is the new command palette.</p>https://textual.textualize.io/blog/2023/09/15/textual-0370-adds-a-command-palette/ Fri, 15 Sep 2023 17:01:09 +0000Textualhttps://textual.textualize.io/blog/2023/09/15/textual-0370-adds-a-command-palette/ What is Textual Web? willmcgugan News <h1>What is Textual Web?</h1><p>If you know us, you will know that we are the team behind <a href="https://github.com/Textualize/rich">Rich</a> and <a href="https://github.com/Textualize/textual">Textual</a> &mdash; two popular Python libraries that work magic in the terminal.</p><p>!!! note</p><pre><code>Not to mention [Rich-CLI](https://github.com/Textualize/rich-cli), [Trogon](https://github.com/Textualize/trogon), and [Frogmouth](https://github.com/Textualize/frogmouth)</code></pre><p>Today we are adding one project more to that lineup: <a href="https://github.com/Textualize/textual-web">textual-web</a>.</p>https://textual.textualize.io/blog/2023/09/06/what-is-textual-web/ Wed, 06 Sep 2023 17:53:31 +0000Textualhttps://textual.textualize.io/blog/2023/09/06/what-is-textual-web/ Pull Requests are cake or puppies willmcgugan DevLog <h1>Pull Requests are cake or puppies</h1><p>Broadly speaking, there are two types of contributions you can make to an Open Source project.</p>https://textual.textualize.io/blog/2023/07/29/pull-requests-are-cake-or-puppies/ Sat, 29 Jul 2023 17:05:04 +0000Textualhttps://textual.textualize.io/blog/2023/07/29/pull-requests-are-cake-or-puppies/ Using Rich Inspect to interrogate Python objects willmcgugan DevLog <h1>Using Rich Inspect to interrogate Python objects</h1><p>The <a href="https://github.com/Textualize/rich">Rich</a> library has a few functions that are admittedly a little out of scope for a terminal color library. One such function is <code>inspect</code> which is so useful you may want to <code>pip install rich</code> just for this feature.</p>https://textual.textualize.io/blog/2023/07/27/using-rich-inspect-to-interrogate-python-objects/ Thu, 27 Jul 2023 12:34:46 +0000Textualhttps://textual.textualize.io/blog/2023/07/27/using-rich-inspect-to-interrogate-python-objects/ Textual 0.30.0 adds desktop-style notifications willmcgugan Release <h1>Textual 0.30.0 adds desktop-style notifications</h1><p>We have a new release of Textual to talk about, but before that I'd like to cover a little Textual news.</p>https://textual.textualize.io/blog/2023/07/17/textual-0300-adds-desktop-style-notifications/ Mon, 17 Jul 2023 14:08:32 +0000Textualhttps://textual.textualize.io/blog/2023/07/17/textual-0300-adds-desktop-style-notifications/ Textual 0.29.0 refactors dev tools willmcgugan Release <h1>Textual 0.29.0 refactors dev tools</h1><p>It's been a slow week or two at Textualize, with Textual devs taking well-earned annual leave, but we still managed to get a new version out.</p>https://textual.textualize.io/blog/2023/07/03/textual-0290-refactors-dev-tools/ Mon, 03 Jul 2023 16:09:24 +0000Textualhttps://textual.textualize.io/blog/2023/07/03/textual-0290-refactors-dev-tools/ To TUI or not to TUI willmcgugan DevLog <h1>To TUI or not to TUI</h1><p>Tech moves pretty fast.If you don’t stop and look around once in a while, you could miss it.And yet some technology feels like it has been around forever.</p><p>Terminals are one of those forever-technologies.</p>https://textual.textualize.io/blog/2023/06/06/to-tui-or-not-to-tui/ Mon, 05 Jun 2023 17:51:19 +0000Textualhttps://textual.textualize.io/blog/2023/06/06/to-tui-or-not-to-tui/ Textual adds Sparklines, Selection list, Input validation, and tool tips willmcgugan Release <h1>Textual adds Sparklines, Selection list, Input validation, and tool tips</h1><p>It's been 12 days since the last Textual release, which is longer than our usual release cycle of a week.</p><p>We've been a little distracted with our "dogfood" projects: <a href="https://github.com/Textualize/frogmouth">Frogmouth</a> and <a href="https://github.com/Textualize/trogon">Trogon</a>. Both of which hit 1000 Github stars in 24 hours. We will be maintaining / updating those, but it is business as usual for this Textual release (and it's a big one). We have such sights to show you.</p>https://textual.textualize.io/blog/2023/06/01/textual-adds-sparklines-selection-list-input-validation-and-tool-tips/ Thu, 01 Jun 2023 17:41:08 +0000Textualhttps://textual.textualize.io/blog/2023/06/01/textual-adds-sparklines-selection-list-input-validation-and-tool-tips/ Textual 0.24.0 adds a Select control willmcgugan Release <h1>Textual 0.24.0 adds a Select control</h1><p>Coming just 5 days after the last release, we have version 0.24.0 which we are crowning the King of Textual releases.At least until it is deposed by version 0.25.0.</p>https://textual.textualize.io/blog/2023/05/08/textual-0240-adds-a-select-control/ Thu, 01 Jun 2023 11:33:54 +0000Textualhttps://textual.textualize.io/blog/2023/05/08/textual-0240-adds-a-select-control/ Textual 0.23.0 improves message handling willmcgugan Release <h1>Textual 0.23.0 improves message handling</h1><p>It's been a busy couple of weeks at Textualize.We've been building apps with <a href="https://github.com/Textualize/textual">Textual</a>, as part of our <em>dog-fooding</em> week.The first app, <a href="https://github.com/Textualize/frogmouth">Frogmouth</a>, was released at the weekend and already has 1K GitHub stars!Expect two more such apps this month.</p>https://textual.textualize.io/blog/2023/05/03/textual-0230-improves-message-handling/ Wed, 03 May 2023 13:22:22 +0000Textualhttps://textual.textualize.io/blog/2023/05/03/textual-0230-improves-message-handling/ Textual 0.11.0 adds a beautiful Markdown widget willmcgugan Release <h1>Textual 0.11.0 adds a beautiful Markdown widget</h1><p>We released Textual 0.10.0 25 days ago, which is a little longer than our usual release cycle. What have we been up to?</p>https://textual.textualize.io/blog/2023/02/15/textual-0110-adds-a-beautiful-markdown-widget/ Sat, 08 Apr 2023 15:35:49 +0000Textualhttps://textual.textualize.io/blog/2023/02/15/textual-0110-adds-a-beautiful-markdown-widget/ Textual 0.18.0 adds API for managing concurrent workers willmcgugan Release <h1>Textual 0.18.0 adds API for managing concurrent workers</h1><p>Less than a week since the last release, and we have a new API to show you.</p>https://textual.textualize.io/blog/2023/04/04/textual-0180-adds-api-for-managing-concurrent-workers/ Tue, 04 Apr 2023 13:12:51 +0000Textualhttps://textual.textualize.io/blog/2023/04/04/textual-0180-adds-api-for-managing-concurrent-workers/ Textual 0.17.0 adds translucent screens and Option List willmcgugan Release <h1>Textual 0.17.0 adds translucent screens and Option List</h1><p>This is a surprisingly large release, given it has been just 7 days since the last version (and we were down a developer for most of that time).</p><p>What's new in this release?</p>https://textual.textualize.io/blog/2023/03/29/textual-0170-adds-translucent-screens-and-option-list/ Wed, 29 Mar 2023 16:29:28 +0000Textualhttps://textual.textualize.io/blog/2023/03/29/textual-0170-adds-translucent-screens-and-option-list/ Textual 0.16.0 adds TabbedContent and border titles willmcgugan Release <h1>Textual 0.16.0 adds TabbedContent and border titles</h1><p>Textual 0.16.0 lands 9 days after the previous release. We have some new features to show you.</p>https://textual.textualize.io/blog/2023/03/22/textual-0160-adds-tabbedcontent-and-border-titles/ Wed, 22 Mar 2023 13:52:31 +0000Textualhttps://textual.textualize.io/blog/2023/03/22/textual-0160-adds-tabbedcontent-and-border-titles/ \ No newline at end of file + Textualhttps://textual.textualize.io/https://github.com/textualize/textual/en Wed, 22 May 2024 16:46:08 -0000 Wed, 22 May 2024 16:46:08 -0000 1440 MkDocs RSS plugin - v1.12.1 Behind the Curtain of Inline Terminal Applications willmcgugan DevLog <h1>Behind the Curtain of Inline Terminal Applications</h1><p>Textual recently added the ability to run <em>inline</em> terminal apps.You can see this in action if you run the <a href="https://github.com/Textualize/textual/blob/main/examples/calculator.py">calculator example</a>:</p><p><img alt="Inline Calculator" src="../images/calcinline.png"></p><p>The application appears directly under the prompt, rather than occupying the full height of the screen&mdash;which is more typical of TUI applications.You can interact with this calculator using keys <em>or</em> the mouse.When you press ++ctrl+c++ the calculator disappears and returns you to the prompt.</p><p>Here's another app that creates an inline code editor:</p><p>=== "Video"</p><pre><code>&lt;div class="video-wrapper"&gt; &lt;iframe width="852" height="525" src="https://www.youtube.com/embed/Dt70oSID1DY" title="Inline app" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;</code></pre><p>=== "inline.py" ```python from textual.app import App, ComposeResult from textual.widgets import TextArea</p><pre><code>class InlineApp(App): CSS = """ TextArea { height: auto; max-height: 50vh; } """ def compose(self) -&gt; ComposeResult: yield TextArea(language="python")if __name__ == "__main__": InlineApp().run(inline=True)```</code></pre><p>This post will cover some of what goes on under the hood to make such inline apps work.</p><p>It's not going to go in to too much detail.I'm assuming most readers will be more interested in a birds-eye view rather than all the gory details.</p>https://textual.textualize.io/blog/2024/04/20/behind-the-curtain-of-inline-terminal-applications/ Sun, 21 Apr 2024 13:21:53 +0000Textualhttps://textual.textualize.io/blog/2024/04/20/behind-the-curtain-of-inline-terminal-applications/ File magic with the Python standard library willmcgugan DevLog <h1>File magic with the Python standard library</h1><p>I recently published <a href="https://github.com/textualize/toolong">Toolong</a>, an app for viewing log files.There were some interesting technical challenges in building Toolong that I'd like to cover in this post.</p>https://textual.textualize.io/blog/2024/02/11/file-magic-with-the-python-standard-library/ Sun, 03 Mar 2024 13:32:04 +0000Textualhttps://textual.textualize.io/blog/2024/02/11/file-magic-with-the-python-standard-library/ Remote memory profiling with Memray willmcgugan DevLog <h1>Remote memory profiling with Memray</h1><p><a href="https://github.com/bloomberg/memray">Memray</a> is a memory profiler for Python, built by some very smart devs at Bloomberg.It is a fantastic tool to identify memory leaks in your code or other libraries (down to the C level)!</p><p>They recently added a <a href="https://github.com/textualize/textual/">Textual</a> interface which looks amazing, and lets you monitor your process right from the terminal:</p><p><img alt="Memray" src="https://raw.githubusercontent.com/bloomberg/memray/main/docs/_static/images/live_animated.webp"></p>https://textual.textualize.io/blog/2024/02/20/remote-memory-profiling-with-memray/ Tue, 20 Feb 2024 15:54:07 +0000Textualhttps://textual.textualize.io/blog/2024/02/20/remote-memory-profiling-with-memray/ Announcing textual-plotext davep DevLog <h1>Announcing textual-plotext</h1><p>It's no surprise that a common question on the <a href="https://discord.gg/Enf6Z3qhVr">Textual Discordserver</a> is how to go about producing plots inthe terminal. A popular solution that has been suggested is<a href="https://github.com/piccolomo/plotext">Plotext</a>. While Plotext doesn'tdirectly support Textual, it is <a href="https://github.com/piccolomo/plotext/blob/master/readme/environments.md#rich">easy to use withRich</a>and, because of this, we wanted to make it just as easy to use in yourTextual applications.</p>https://textual.textualize.io/blog/2023/10/04/announcing-textual-plotext/ Sat, 07 Oct 2023 13:42:11 +0000Textualhttps://textual.textualize.io/blog/2023/10/04/announcing-textual-plotext/ Things I learned while building Textual's TextArea darrenburns DevLog <h1>Things I learned building a text editor for the terminal</h1><p><code>TextArea</code> is the latest widget to be added to Textual's <a href="https://textual.textualize.io/widget_gallery/">growing collection</a>.It provides a multi-line space to edit text, and features optional syntax highlighting for a selection of languages.</p><p><img alt="text-area-welcome.gif" src="../images/text-area-learnings/text-area-welcome.gif"></p><p>Adding a <code>TextArea</code> to your Textual app is as simple as adding this to your <code>compose</code> method:</p><p><code>pythonyield TextArea()</code></p><p>Enabling syntax highlighting for a language is as simple as:</p><p><code>pythonyield TextArea(language="python")</code></p><p>Working on the <code>TextArea</code> widget for Textual taught me a lot about Python and my generalapproach to software engineering. It gave me an appreciation for the subtle functionality behindthe editors we use on a daily basis — features we may not even notice, despitesome engineer spending hours perfecting it to provide a small boost to our development experience.</p><p>This post is a tour of some of these learnings.</p>https://textual.textualize.io/blog/2023/09/18/things-i-learned-while-building-textuals-textarea/ Sat, 23 Sep 2023 14:06:20 +0000Textualhttps://textual.textualize.io/blog/2023/09/18/things-i-learned-while-building-textuals-textarea/ Textual 0.38.0 adds a syntax aware TextArea willmcgugan Release <h1>Textual 0.38.0 adds a syntax aware TextArea</h1><p>This is the second big feature release this month after last week's <a href="./release0.37.0.md">command palette</a>.</p>https://textual.textualize.io/blog/2023/09/21/textual-0380-adds-a-syntax-aware-textarea/ Thu, 21 Sep 2023 13:27:43 +0000Textualhttps://textual.textualize.io/blog/2023/09/21/textual-0380-adds-a-syntax-aware-textarea/ Textual 0.37.0 adds a command palette willmcgugan Release <h1>Textual 0.37.0 adds a command palette</h1><p>Textual version 0.37.0 has landed!The highlight of this release is the new command palette.</p>https://textual.textualize.io/blog/2023/09/15/textual-0370-adds-a-command-palette/ Fri, 15 Sep 2023 17:01:09 +0000Textualhttps://textual.textualize.io/blog/2023/09/15/textual-0370-adds-a-command-palette/ What is Textual Web? willmcgugan News <h1>What is Textual Web?</h1><p>If you know us, you will know that we are the team behind <a href="https://github.com/Textualize/rich">Rich</a> and <a href="https://github.com/Textualize/textual">Textual</a> &mdash; two popular Python libraries that work magic in the terminal.</p><p>!!! note</p><pre><code>Not to mention [Rich-CLI](https://github.com/Textualize/rich-cli), [Trogon](https://github.com/Textualize/trogon), and [Frogmouth](https://github.com/Textualize/frogmouth)</code></pre><p>Today we are adding one project more to that lineup: <a href="https://github.com/Textualize/textual-web">textual-web</a>.</p>https://textual.textualize.io/blog/2023/09/06/what-is-textual-web/ Wed, 06 Sep 2023 17:53:31 +0000Textualhttps://textual.textualize.io/blog/2023/09/06/what-is-textual-web/ Pull Requests are cake or puppies willmcgugan DevLog <h1>Pull Requests are cake or puppies</h1><p>Broadly speaking, there are two types of contributions you can make to an Open Source project.</p>https://textual.textualize.io/blog/2023/07/29/pull-requests-are-cake-or-puppies/ Sat, 29 Jul 2023 17:05:04 +0000Textualhttps://textual.textualize.io/blog/2023/07/29/pull-requests-are-cake-or-puppies/ Using Rich Inspect to interrogate Python objects willmcgugan DevLog <h1>Using Rich Inspect to interrogate Python objects</h1><p>The <a href="https://github.com/Textualize/rich">Rich</a> library has a few functions that are admittedly a little out of scope for a terminal color library. One such function is <code>inspect</code> which is so useful you may want to <code>pip install rich</code> just for this feature.</p>https://textual.textualize.io/blog/2023/07/27/using-rich-inspect-to-interrogate-python-objects/ Thu, 27 Jul 2023 12:34:46 +0000Textualhttps://textual.textualize.io/blog/2023/07/27/using-rich-inspect-to-interrogate-python-objects/ Textual 0.30.0 adds desktop-style notifications willmcgugan Release <h1>Textual 0.30.0 adds desktop-style notifications</h1><p>We have a new release of Textual to talk about, but before that I'd like to cover a little Textual news.</p>https://textual.textualize.io/blog/2023/07/17/textual-0300-adds-desktop-style-notifications/ Mon, 17 Jul 2023 14:08:32 +0000Textualhttps://textual.textualize.io/blog/2023/07/17/textual-0300-adds-desktop-style-notifications/ Textual 0.29.0 refactors dev tools willmcgugan Release <h1>Textual 0.29.0 refactors dev tools</h1><p>It's been a slow week or two at Textualize, with Textual devs taking well-earned annual leave, but we still managed to get a new version out.</p>https://textual.textualize.io/blog/2023/07/03/textual-0290-refactors-dev-tools/ Mon, 03 Jul 2023 16:09:24 +0000Textualhttps://textual.textualize.io/blog/2023/07/03/textual-0290-refactors-dev-tools/ To TUI or not to TUI willmcgugan DevLog <h1>To TUI or not to TUI</h1><p>Tech moves pretty fast.If you don’t stop and look around once in a while, you could miss it.And yet some technology feels like it has been around forever.</p><p>Terminals are one of those forever-technologies.</p>https://textual.textualize.io/blog/2023/06/06/to-tui-or-not-to-tui/ Mon, 05 Jun 2023 17:51:19 +0000Textualhttps://textual.textualize.io/blog/2023/06/06/to-tui-or-not-to-tui/ Textual adds Sparklines, Selection list, Input validation, and tool tips willmcgugan Release <h1>Textual adds Sparklines, Selection list, Input validation, and tool tips</h1><p>It's been 12 days since the last Textual release, which is longer than our usual release cycle of a week.</p><p>We've been a little distracted with our "dogfood" projects: <a href="https://github.com/Textualize/frogmouth">Frogmouth</a> and <a href="https://github.com/Textualize/trogon">Trogon</a>. Both of which hit 1000 Github stars in 24 hours. We will be maintaining / updating those, but it is business as usual for this Textual release (and it's a big one). We have such sights to show you.</p>https://textual.textualize.io/blog/2023/06/01/textual-adds-sparklines-selection-list-input-validation-and-tool-tips/ Thu, 01 Jun 2023 17:41:08 +0000Textualhttps://textual.textualize.io/blog/2023/06/01/textual-adds-sparklines-selection-list-input-validation-and-tool-tips/ Textual 0.24.0 adds a Select control willmcgugan Release <h1>Textual 0.24.0 adds a Select control</h1><p>Coming just 5 days after the last release, we have version 0.24.0 which we are crowning the King of Textual releases.At least until it is deposed by version 0.25.0.</p>https://textual.textualize.io/blog/2023/05/08/textual-0240-adds-a-select-control/ Thu, 01 Jun 2023 11:33:54 +0000Textualhttps://textual.textualize.io/blog/2023/05/08/textual-0240-adds-a-select-control/ Textual 0.23.0 improves message handling willmcgugan Release <h1>Textual 0.23.0 improves message handling</h1><p>It's been a busy couple of weeks at Textualize.We've been building apps with <a href="https://github.com/Textualize/textual">Textual</a>, as part of our <em>dog-fooding</em> week.The first app, <a href="https://github.com/Textualize/frogmouth">Frogmouth</a>, was released at the weekend and already has 1K GitHub stars!Expect two more such apps this month.</p>https://textual.textualize.io/blog/2023/05/03/textual-0230-improves-message-handling/ Wed, 03 May 2023 13:22:22 +0000Textualhttps://textual.textualize.io/blog/2023/05/03/textual-0230-improves-message-handling/ Textual 0.11.0 adds a beautiful Markdown widget willmcgugan Release <h1>Textual 0.11.0 adds a beautiful Markdown widget</h1><p>We released Textual 0.10.0 25 days ago, which is a little longer than our usual release cycle. What have we been up to?</p>https://textual.textualize.io/blog/2023/02/15/textual-0110-adds-a-beautiful-markdown-widget/ Sat, 08 Apr 2023 15:35:49 +0000Textualhttps://textual.textualize.io/blog/2023/02/15/textual-0110-adds-a-beautiful-markdown-widget/ Textual 0.18.0 adds API for managing concurrent workers willmcgugan Release <h1>Textual 0.18.0 adds API for managing concurrent workers</h1><p>Less than a week since the last release, and we have a new API to show you.</p>https://textual.textualize.io/blog/2023/04/04/textual-0180-adds-api-for-managing-concurrent-workers/ Tue, 04 Apr 2023 13:12:51 +0000Textualhttps://textual.textualize.io/blog/2023/04/04/textual-0180-adds-api-for-managing-concurrent-workers/ Textual 0.17.0 adds translucent screens and Option List willmcgugan Release <h1>Textual 0.17.0 adds translucent screens and Option List</h1><p>This is a surprisingly large release, given it has been just 7 days since the last version (and we were down a developer for most of that time).</p><p>What's new in this release?</p>https://textual.textualize.io/blog/2023/03/29/textual-0170-adds-translucent-screens-and-option-list/ Wed, 29 Mar 2023 16:29:28 +0000Textualhttps://textual.textualize.io/blog/2023/03/29/textual-0170-adds-translucent-screens-and-option-list/ Textual 0.16.0 adds TabbedContent and border titles willmcgugan Release <h1>Textual 0.16.0 adds TabbedContent and border titles</h1><p>Textual 0.16.0 lands 9 days after the previous release. We have some new features to show you.</p>https://textual.textualize.io/blog/2023/03/22/textual-0160-adds-tabbedcontent-and-border-titles/ Wed, 22 Mar 2023 13:52:31 +0000Textualhttps://textual.textualize.io/blog/2023/03/22/textual-0160-adds-tabbedcontent-and-border-titles/ \ No newline at end of file diff --git a/getting_started/index.html b/getting_started/index.html index d13d91b6c3..58b2a6222c 100644 --- a/getting_started/index.html +++ b/getting_started/index.html @@ -3997,6 +3997,8 @@ + + @@ -4139,6 +4141,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -6611,270 +6634,271 @@

    Demo&par font-weight: 700; } - .terminal-4182563405-matrix { + .terminal-97475053-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-4182563405-title { + .terminal-97475053-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-4182563405-r1 { fill: #c5c8c6 } -.terminal-4182563405-r2 { fill: #e3e3e3 } -.terminal-4182563405-r3 { fill: #e1e1e1 } -.terminal-4182563405-r4 { fill: #e2e2e2 } -.terminal-4182563405-r5 { fill: #e2e2e2;font-weight: bold } -.terminal-4182563405-r6 { fill: #fd971f;font-weight: bold } -.terminal-4182563405-r7 { fill: #e1e1e1;font-weight: bold } -.terminal-4182563405-r8 { fill: #23568b } -.terminal-4182563405-r9 { fill: #e1e1e1;font-style: italic; } -.terminal-4182563405-r10 { fill: #121212 } -.terminal-4182563405-r11 { fill: #262626 } -.terminal-4182563405-r12 { fill: #0178d4 } -.terminal-4182563405-r13 { fill: #1e1e1e } -.terminal-4182563405-r14 { fill: #14191f } -.terminal-4182563405-r15 { fill: #7d7d7d } -.terminal-4182563405-r16 { fill: #507bb3 } -.terminal-4182563405-r17 { fill: #dde6ed;font-weight: bold } -.terminal-4182563405-r18 { fill: #001541 } -.terminal-4182563405-r19 { fill: #211505 } -.terminal-4182563405-r20 { fill: #211505;font-weight: bold } -.terminal-4182563405-r21 { fill: #e1e2e3 } -.terminal-4182563405-r22 { fill: #e1e2e3;font-weight: bold } -.terminal-4182563405-r23 { fill: #dde8f3;font-weight: bold } -.terminal-4182563405-r24 { fill: #ddedf9 } + .terminal-97475053-r1 { fill: #c5c8c6 } +.terminal-97475053-r2 { fill: #e3e3e3 } +.terminal-97475053-r3 { fill: #e1e1e1 } +.terminal-97475053-r4 { fill: #e2e2e2 } +.terminal-97475053-r5 { fill: #e2e2e2;font-weight: bold } +.terminal-97475053-r6 { fill: #fd971f;font-weight: bold } +.terminal-97475053-r7 { fill: #e1e1e1;font-weight: bold } +.terminal-97475053-r8 { fill: #23568b } +.terminal-97475053-r9 { fill: #e1e1e1;font-style: italic; } +.terminal-97475053-r10 { fill: #121212 } +.terminal-97475053-r11 { fill: #262626 } +.terminal-97475053-r12 { fill: #0178d4 } +.terminal-97475053-r13 { fill: #1e1e1e } +.terminal-97475053-r14 { fill: #14191f } +.terminal-97475053-r15 { fill: #7d7d7d } +.terminal-97475053-r16 { fill: #507bb3 } +.terminal-97475053-r17 { fill: #dde6ed;font-weight: bold } +.terminal-97475053-r18 { fill: #001541 } +.terminal-97475053-r19 { fill: #211505 } +.terminal-97475053-r20 { fill: #211505;font-weight: bold } +.terminal-97475053-r21 { fill: #e1e2e3 } +.terminal-97475053-r22 { fill: #e1e2e3;font-weight: bold } +.terminal-97475053-r23 { fill: #fea62b;font-weight: bold } +.terminal-97475053-r24 { fill: #a7a9ab } +.terminal-97475053-r25 { fill: #e2e3e3 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - Textual Demo + Textual Demo - - - - Textual Demo - - -TOP                                        Widgets                                         - - -Textual widgets are powerful interactive components.                                        -Widgets -Build your own or use the builtin widgets.                                                  - - • Input Text / Password input.                                                             -Rich content • Button Clickable button with a number of styles.                                         - • Switch A switch to toggle between states.                                               ▃▃ - • DataTable A spreadsheet-like widget for navigating data. Cells may contain text or Rich  -renderables.                                                                             -CSS • Tree An generic tree with expandable nodes.                                              - • DirectoryTree A tree of file and folders.                                                - • ... many more planned ... - -▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -Usernamewill -▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ -▅▅ -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -PasswordPassword -▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -Login -▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ - - Foo                   Bar                   Baz                   Foo                   - Cell (0, 0)           Cell (0, 1)           Cell (0, 2)           Cell (0, 3)           - Cell (1, 0)           Cell (1, 1)           Cell (1, 2)           Cell (1, 3)           - Cell (2, 0)           Cell (2, 1)           Cell (2, 2)           Cell (2, 3)           - Cell (3, 0)           Cell (3, 1)           Cell (3, 2)           Cell (3, 3)           - Cell (4, 0)           Cell (4, 1)           Cell (4, 2)           Cell (4, 3)           - Cell (5, 0)           Cell (5, 1)           Cell (5, 2)           Cell (5, 3)           - Cell (6, 0)           Cell (6, 1)           Cell (6, 2)           Cell (6, 3)           - Cell (7, 0)           Cell (7, 1)           Cell (7, 2)           Cell (7, 3)           - Cell (8, 0)           Cell (8, 1)           Cell (8, 2)           Cell (8, 3)           - Cell (9, 0)           Cell (9, 1)           Cell (9, 2)           Cell (9, 3)          ▂▂ - Cell (10, 0)          Cell (10, 1)          Cell (10, 2)          Cell (10, 3)          - Cell (11, 0)          Cell (11, 1)          Cell (11, 2)          Cell (11, 3)          - Cell (12, 0)          Cell (12, 1)          Cell (12, 2)          Cell (12, 3)          - Cell (13, 0)          Cell (13, 1)          Cell (13, 2)          Cell (13, 3)          - - - CTRL+B  Sidebar  CTRL+T  Toggle Dark mode  CTRL+S  Screenshot  F1  Notes  CTRL+Q  Quit  + + + + Textual Demo + + +TOP                                        Widgets                                         + + +Textual widgets are powerful interactive components.                                        +Widgets +Build your own or use the builtin widgets.                                                  + + • Input Text / Password input.                                                             +Rich content • Button Clickable button with a number of styles.                                         + • Switch A switch to toggle between states.                                               ▃▃ + • DataTable A spreadsheet-like widget for navigating data. Cells may contain text or Rich  +renderables.                                                                             +CSS • Tree An generic tree with expandable nodes.                                              + • DirectoryTree A tree of file and folders.                                                + • ... many more planned ... + +▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +Usernamewill +▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ +▅▅ +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +PasswordPassword +▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +Login +▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ + + Foo                   Bar                   Baz                   Foo                   + Cell (0, 0)           Cell (0, 1)           Cell (0, 2)           Cell (0, 3)           + Cell (1, 0)           Cell (1, 1)           Cell (1, 2)           Cell (1, 3)           + Cell (2, 0)           Cell (2, 1)           Cell (2, 2)           Cell (2, 3)           + Cell (3, 0)           Cell (3, 1)           Cell (3, 2)           Cell (3, 3)           + Cell (4, 0)           Cell (4, 1)           Cell (4, 2)           Cell (4, 3)           + Cell (5, 0)           Cell (5, 1)           Cell (5, 2)           Cell (5, 3)           + Cell (6, 0)           Cell (6, 1)           Cell (6, 2)           Cell (6, 3)           + Cell (7, 0)           Cell (7, 1)           Cell (7, 2)           Cell (7, 3)           + Cell (8, 0)           Cell (8, 1)           Cell (8, 2)           Cell (8, 3)           + Cell (9, 0)           Cell (9, 1)           Cell (9, 2)           Cell (9, 3)          ▂▂ + Cell (10, 0)          Cell (10, 1)          Cell (10, 2)          Cell (10, 3)          + Cell (11, 0)          Cell (11, 1)          Cell (11, 2)          Cell (11, 3)          + Cell (12, 0)          Cell (12, 1)          Cell (12, 2)          Cell (12, 3)          + Cell (13, 0)          Cell (13, 1)          Cell (13, 2)          Cell (13, 3)          + + + ^b Sidebar ^t Toggle Dark mode ^s Screenshot f1 Notes ^q Quit diff --git a/guide/CSS/index.html b/guide/CSS/index.html index 31cea48b6d..e1b80cd798 100644 --- a/guide/CSS/index.html +++ b/guide/CSS/index.html @@ -4109,6 +4109,8 @@ + + @@ -4251,6 +4253,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -7046,133 +7069,133 @@

    The DOM + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - ExampleApp + ExampleApp - - - - ExampleApp - - - - - - - - - - - - - - - - - - - - - - + + + + ExampleApp + + + + + + + + + + + + + + + + + + + + + + @@ -7282,139 +7305,139 @@

    The DOM + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - ExampleApp + ExampleApp - - - - ExampleApp -Do you want to learn about Textual CSS? -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -YesNo -▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - - - - - - - - - - - - - - - - - - + + + + ExampleApp +Do you want to learn about Textual CSS? +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +YesNo +▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + + + + + + + + + + + + + + + + + + @@ -7510,142 +7533,142 @@

    CSS files + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - ExampleApp + ExampleApp - - - - ExampleApp - - - - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ - - - - -Do you want to learn about Textual CSS? - - - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -YesNo -▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - -▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - - - - + + + + ExampleApp + + + + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ + + + + +Do you want to learn about Textual CSS? + + + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +YesNo +▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + +▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + + + + diff --git a/guide/actions/index.html b/guide/actions/index.html index d48ede29cd..577e65d769 100644 --- a/guide/actions/index.html +++ b/guide/actions/index.html @@ -3968,6 +3968,8 @@ + + @@ -4110,6 +4112,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -7127,134 +7150,135 @@

    Dynamic actions + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - PagesApp + PagesApp - - - - - - - - - - - - - - -Page 0 - - - - - - - - - - - - N  Next  + + + + + + + + + + + + + + +Page 0 + + + + + + + + + + + + n Next @@ -7351,136 +7375,137 @@

    Dynamic actions + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - PagesApp + PagesApp - - - - - - - - - - - - - - -Page 0 - - - - - - - - - - - - N  Next  P  Previous  + + + + + + + + + + + + + + +Page 0 + + + + + + + + + + + + n Next p Previous diff --git a/guide/animation/index.html b/guide/animation/index.html index 332a6b80e0..5980c4b2ac 100644 --- a/guide/animation/index.html +++ b/guide/animation/index.html @@ -3935,6 +3935,8 @@ + + @@ -4077,6 +4079,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/guide/app/index.html b/guide/app/index.html index 667671eaf5..72555787cd 100644 --- a/guide/app/index.html +++ b/guide/app/index.html @@ -4109,6 +4109,8 @@ + + @@ -4251,6 +4253,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/guide/command_palette/index.html b/guide/command_palette/index.html index 47773ac65d..8644408104 100644 --- a/guide/command_palette/index.html +++ b/guide/command_palette/index.html @@ -3977,6 +3977,8 @@ + + @@ -4119,6 +4121,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/guide/design/index.html b/guide/design/index.html index 353599c2ab..171b0a5a23 100644 --- a/guide/design/index.html +++ b/guide/design/index.html @@ -3968,6 +3968,8 @@ + + @@ -4110,6 +4112,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/guide/devtools/index.html b/guide/devtools/index.html index 707b772215..9dc7eec7a0 100644 --- a/guide/devtools/index.html +++ b/guide/devtools/index.html @@ -3998,6 +3998,8 @@ + + @@ -4140,6 +4142,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/guide/events/index.html b/guide/events/index.html index 0869ff3705..8d6ee51fb2 100644 --- a/guide/events/index.html +++ b/guide/events/index.html @@ -4055,6 +4055,8 @@ + + @@ -4197,6 +4199,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/guide/index.html b/guide/index.html index 0909bc794b..44b3cce7de 100644 --- a/guide/index.html +++ b/guide/index.html @@ -3850,6 +3850,8 @@ + + @@ -3992,6 +3994,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/guide/input/index.html b/guide/input/index.html index 2620572f15..d9eca64d2a 100644 --- a/guide/input/index.html +++ b/guide/input/index.html @@ -4109,6 +4109,8 @@ + + @@ -4251,6 +4253,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -7319,138 +7342,139 @@

    Bindings + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - BindingApp + BindingApp - - - - -red▂▂ - - - - - -green - - - - - -blue - - - - - -blue - - - - R  Add Red  G  Add Green  B  Add Blue  + + + + +red▂▂ + + + + + +green + + + + + +blue + + + + + +blue + + + + r Add Red g Add Green b Add Blue diff --git a/guide/layout/index.html b/guide/layout/index.html index 442ba756d8..bdeaa62bc4 100644 --- a/guide/layout/index.html +++ b/guide/layout/index.html @@ -4019,6 +4019,8 @@ + + @@ -4161,6 +4163,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/guide/queries/index.html b/guide/queries/index.html index e256d001ac..6015c21bd3 100644 --- a/guide/queries/index.html +++ b/guide/queries/index.html @@ -3977,6 +3977,8 @@ + + @@ -4119,6 +4121,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • diff --git a/guide/reactivity/index.html b/guide/reactivity/index.html index d7b9aa0362..171d53edd0 100644 --- a/guide/reactivity/index.html +++ b/guide/reactivity/index.html @@ -4034,6 +4034,8 @@ + + @@ -4176,6 +4178,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -8065,132 +8088,132 @@

    Recompose + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - Clock + Clock - + - - - - - - - - - - - - ┓ ┏━┓   ╻ ╻╺━┓   ╺━┓┏━╸ - ┃ ┗━┫ : ┗━┫┏━┛ :  ━┫┗━┓ -╺┻╸╺━┛     ╹┗━╸   ╺━┛╺━┛ - - - - - - - - - - + + + + + + + + + + + + ┓ ╺━┓   ╻ ╻╺━┓    ┓ ┏━┓ + ┃   ┃ : ┗━┫  ┃ :  ┃ ┣━┫ +╺┻╸  ╹     ╹  ╹   ╺┻╸┗━┛ + + + + + + + + + + @@ -8258,132 +8281,132 @@

    Recompose + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - Clock + Clock - + - - - - - - - - - - - - ┓ ┏━┓   ╻ ╻╺━┓   ╺━┓┏━╸ - ┃ ┗━┫ : ┗━┫┏━┛ :  ━┫┗━┓ -╺┻╸╺━┛     ╹┗━╸   ╺━┛╺━┛ - - - - - - - - - - + + + + + + + + + + + + ┓ ╺━┓   ╻ ╻╺━┓    ┓ ┏━┓ + ┃   ┃ : ┗━┫  ┃ :  ┃ ┣━┫ +╺┻╸  ╹     ╹  ╹   ╺┻╸┗━┛ + + + + + + + + + + @@ -9065,136 +9088,136 @@

    Data binding - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - WorldClockApp + WorldClockApp - + - - ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - -Europe/London - ┓ ┏━┓   ╻ ╻╺━┓   ╺━┓┏━╸ - ┃ ┗━┫ : ┗━┫┏━┛ :  ━┫┣━┓ -╺┻╸╺━┛     ╹┗━╸   ╺━┛┗━┛ - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - -Europe/Paris -╺━┓┏━┓   ╻ ╻╺━┓   ╺━┓┏━╸ -┏━┛┃ ┃ : ┗━┫┏━┛ :  ━┫┣━┓ -┗━╸┗━┛     ╹┗━╸   ╺━┛┗━┛ - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - -Asia/Tokyo -┏━┓╺━┓   ╻ ╻╺━┓   ╺━┓┏━╸ -┃ ┃ ━┫ : ┗━┫┏━┛ :  ━┫┣━┓ -┗━┛╺━┛     ╹┗━╸   ╺━┛┗━┛ - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ + + ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + +Europe/London + ┓ ╺━┓   ╻ ╻╺━┓    ┓ ┏━┓ + ┃   ┃ : ┗━┫  ┃ :  ┃ ┗━┫ +╺┻╸  ╹     ╹  ╹   ╺┻╸╺━┛ + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + +Europe/Paris + ┓ ┏━┓   ╻ ╻╺━┓    ┓ ┏━┓ + ┃ ┣━┫ : ┗━┫  ┃ :  ┃ ┗━┫ +╺┻╸┗━┛     ╹  ╹   ╺┻╸╺━┛ + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + +Asia/Tokyo +┏━┓ ┓    ╻ ╻╺━┓    ┓ ┏━┓ +┃ ┃ ┃  : ┗━┫  ┃ :  ┃ ┗━┫ +┗━┛╺┻╸     ╹  ╹   ╺┻╸╺━┛ + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ @@ -9303,136 +9326,136 @@

    Data binding - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - WorldClockApp + WorldClockApp - + - - ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - -Europe/London - ┓ ┏━┓   ╻ ╻╺━┓   ╺━┓┏━╸ - ┃ ┗━┫ : ┗━┫┏━┛ :  ━┫┣━┓ -╺┻╸╺━┛     ╹┗━╸   ╺━┛┗━┛ - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - -Europe/Paris -╺━┓┏━┓   ╻ ╻╺━┓   ╺━┓┏━╸ -┏━┛┃ ┃ : ┗━┫┏━┛ :  ━┫┣━┓ -┗━╸┗━┛     ╹┗━╸   ╺━┛┗━┛ - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - -Asia/Tokyo -┏━┓╺━┓   ╻ ╻╺━┓   ╺━┓┏━╸ -┃ ┃ ━┫ : ┗━┫┏━┛ :  ━┫┣━┓ -┗━┛╺━┛     ╹┗━╸   ╺━┛┗━┛ - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ + + ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + +Europe/London + ┓ ╺━┓   ╻ ╻╺━┓    ┓ ┏━┓ + ┃   ┃ : ┗━┫  ┃ :  ┃ ┗━┫ +╺┻╸  ╹     ╹  ╹   ╺┻╸╺━┛ + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + +Europe/Paris + ┓ ┏━┓   ╻ ╻╺━┓    ┓ ┏━┓ + ┃ ┣━┫ : ┗━┫  ┃ :  ┃ ┗━┫ +╺┻╸┗━┛     ╹  ╹   ╺┻╸╺━┛ + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + +Asia/Tokyo +┏━┓ ┓    ╻ ╻╺━┓    ┓ ┏━┓ +┃ ┃ ┃  : ┗━┫  ┃ :  ┃ ┗━┫ +┗━┛╺┻╸     ╹  ╹   ╺┻╸╺━┛ + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ @@ -9549,136 +9572,136 @@

    Data binding - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - WorldClockApp + WorldClockApp - + - - ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - -Europe/London - ┓ ┏━┓   ╻ ╻╺━┓   ╺━┓┏━╸ - ┃ ┗━┫ : ┗━┫┏━┛ :  ━┫┣━┓ -╺┻╸╺━┛     ╹┗━╸   ╺━┛┗━┛ - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - -Europe/Paris -╺━┓┏━┓   ╻ ╻╺━┓   ╺━┓┏━╸ -┏━┛┃ ┃ : ┗━┫┏━┛ :  ━┫┣━┓ -┗━╸┗━┛     ╹┗━╸   ╺━┛┗━┛ - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - -Asia/Tokyo -┏━┓╺━┓   ╻ ╻╺━┓   ╺━┓┏━╸ -┃ ┃ ━┫ : ┗━┫┏━┛ :  ━┫┣━┓ -┗━┛╺━┛     ╹┗━╸   ╺━┛┗━┛ - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ + + ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + +Europe/London + ┓ ╺━┓   ╻ ╻╺━┓    ┓ ┏━┓ + ┃   ┃ : ┗━┫  ┃ :  ┃ ┗━┫ +╺┻╸  ╹     ╹  ╹   ╺┻╸╺━┛ + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + +Europe/Paris + ┓ ┏━┓   ╻ ╻╺━┓    ┓ ┏━┓ + ┃ ┣━┫ : ┗━┫  ┃ :  ┃ ┗━┫ +╺┻╸┗━┛     ╹  ╹   ╺┻╸╺━┛ + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + +Asia/Tokyo +┏━┓ ┓    ╻ ╻╺━┓    ┓ ┏━┓ +┃ ┃ ┃  : ┗━┫  ┃ :  ┃ ┗━┫ +┗━┛╺┻╸     ╹  ╹   ╺┻╸╺━┛ + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ diff --git a/guide/screens/index.html b/guide/screens/index.html index f85fb0903c..b48905c30c 100644 --- a/guide/screens/index.html +++ b/guide/screens/index.html @@ -4079,6 +4079,8 @@ + + @@ -4221,6 +4223,27 @@ +
  • + + + + + ClassicFooter + + + + +
  • + + + + + + + + + +
  • @@ -7320,136 +7343,137 @@