Commit Graph

4676 Commits

Author SHA1 Message Date
Dave Pearson
35be18f0e6 Explain the elaborate include path for docs in pyproject.toml
While it's still fresh in my mind as to why I wrote it like this, comment to
the effect so I'm not surprised by it in the future, or so someone else
reading it can know what the thinking was here.
2023-02-08 10:00:48 +00:00
Dave Pearson
fbdbd8928d Always poetry run commands that need a venv
It's a `Makefile` so it's handy to not have to think about if you need to be
within a poetry venv when running `make`. This commit adds a `poetry run`
before any command that needs the venv. This means that people who aren't in
a venv can just `make something` and it'll "just work", and the same is true
for those who are in a venv.
2023-02-08 09:46:47 +00:00
Dave Pearson
93f449366f Modify blog/rss plugin config to make search work again
Inheriting config for mkdocs requires that you use key/value pairs for the
plugins not a list of objects.
2023-02-08 08:41:16 +00:00
Dave Pearson
fb5346c894 Don't show the repository stats in offline mode
They require a connection, which isn't very offline...
2023-02-08 08:40:47 +00:00
Dave Pearson
9500fa925a Add a Makefile target that cleans everything cleanable 2023-02-08 08:26:34 +00:00
Dave Pearson
4055373725 Add a Makefile target for cleaning up the offline docs
Sometimes I want to be able to test from a fresh start, so this will be helpful.
2023-02-08 08:24:50 +00:00
Dave Pearson
e9fab41377 Relock
Updating mkdocs insiders' on my personal machine so I can test building docs
there and it wanted to relock again.
2023-02-08 08:24:08 +00:00
Dave Pearson
fcd84c564c Add a build command that also builds offline docs
Also include them in the source tarball.
2023-02-07 16:46:34 +00:00
Dave Pearson
45af25a248 Use the privacy plugin when building the offline docs
This has the effect of bundling up a bunch of files that would otherwise be
pulled in from the net on the client side. As well as enhancing the viewer's
privacy, it also means that we increase someone's ability to view
documentation locally without the need for any sort of working net
connection.
2023-02-07 13:25:39 +00:00
Dave Pearson
f2f33233d9 Upgrade mkdocs-material 2023-02-07 13:25:12 +00:00
Dave Pearson
19bde351a6 Get search appearing again
Search had gone from everywhere. Turns out that there's a very particular
way you have to specify the plugins in YAML if you want to use INHERIT.
2023-02-07 10:52:46 +00:00
Dave Pearson
496667abed Tidy up the Makefile a bit
This removes the duplication of the screen cache cleaning, and also turns it
into a target so you can do it yourself from the command line if needed. It
also marks all the phony targets as such (that is, targets that aren't
actually items in the filesystem).
2023-02-07 10:29:20 +00:00
Dave Pearson
a8aaa7ad82 Experiment with the mkdocs offline plugin
In doing so, don't emphasise online docs over offline, but instead make this
about an online/offline split and both are as important as each other.
2023-02-07 10:06:05 +00:00
Dave Pearson
aece00e1dc Remove the keystrokes from the dictionary example in events guide
As well as not being necessary for the example, it also had the problem of
not actually having the input in focus (there was no press of 'tab' to kick
things off) and so the other keys didn't go into the `Input` as they were
supposed to.
2023-02-06 16:06:50 +00:00
Dave Pearson
4e4353b2ce Remove the dictionary example from the front page of the docs
Sometimes, when building the docs, this would end up being a bit of an
"empty" example in that the time taken to get the result back from the API
would be so long that the output would be of the request just in progress.

So we've decided to drop this from the front page.
2023-02-06 16:04:52 +00:00
Dave Pearson
a8ded8f0a6 Move some more live-site config into the correct config file 2023-02-06 14:28:13 +00:00
Dave Pearson
e6fbe71c04 Solve the problem of local docs and directory/index.html links
See https://github.com/Textualize/textual/issues/631#issuecomment-1418960080
-- this addresses that problem pretty much perfectly.
2023-02-06 14:05:21 +00:00
Dave Pearson
9acbc0cd67 Add a method of building a local copy of the docs
This will build the docs into a directory called docs-local, sans the blog.
Note the near-total copy/paste of the `nav` due to how mydocs does
configuration inheritance; this is fine for now.
2023-02-06 13:58:44 +00:00
Dave Pearson
dcdad6230f Move the blog config out into the "live site" config 2023-02-06 13:58:15 +00:00
Dave Pearson
6951ff5e60 Move almost all of the docs config into a "common" file
With #631 in mind, start by moving the vast bulk of the documentation
configuration into a "common" file, and just keep the `nav` in the main
configuration file. The thinking here is that I want two entry points -- one
for building the full docs for the Textual website, and one for building a
local version of the docs.

Because mkdocs doesn't allow for inheriting a configuration and also
splicing into the `nav`, we'll be looking to duplicate the `nav` for now --
this will likely change eventually as that'll be a maintenance overhead that
we don't really want (will likely look at templating it or something). For
now though, let's look at the best way of splitting things up and seeing how
we can generate two different versions of the docs.
2023-02-06 13:29:49 +00:00
Dave Pearson
9f9ccf32d6 Merge pull request #1715 from davep/package-tests
Include the unit tests in the source distribution
2023-02-02 14:15:57 +00:00
Dave Pearson
244372205e Include the unit tests in the source distribution
As requested in #631 and also #1349; this change should cause the tests (and
also the examples from the docs directory which get pulled into the tests)
to be pulled into the sdist.

With this change I can:

- `poetry build`
- Grab and extract the resulting tarball
- `poetry install --extras dev` inside the resulting directory
- `poetry run pytest -vv tests` inside the resulting directory

As I understand the request, I think this should provide everything
necessary.

NOTE: We have spoken about rolling the CLI tools into snapshot tests too, so
if that happens we should remember to make sure that the pipeline outlined
above still works fine.
2023-02-02 13:51:45 +00:00
Will McGugan
d3fdcbe250 Merge pull request #1712 from Textualize/titles
Update to title and subtitle copy
2023-02-01 18:16:45 +01:00
Will McGugan
8ce76f4f89 fix title update 2023-02-01 18:01:34 +01:00
Will McGugan
087654a246 Update docs/guide/app.md
Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com>
2023-02-01 17:49:33 +01:00
Will McGugan
340f7c53bc Update docs/guide/app.md
Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com>
2023-02-01 17:49:05 +01:00
Will McGugan
8fc978503b Merge pull request #1711 from davep/textual-keys-older-pythons
Make `textual keys` work on older supported Pythons
2023-02-01 17:44:44 +01:00
Will McGugan
259c1cc14e tip to info 2023-02-01 17:43:29 +01:00
Will McGugan
c04e387dfe title copy 2023-02-01 17:38:19 +01:00
Dave Pearson
91630d6e04 Make textual keys work on older supported Pythons 2023-02-01 16:37:53 +00:00
Dave Pearson
79952719ae Merge pull request #1709 from davep/tree-complete-clear
Add `Tree.reset`, which clears a `Tree` and then then resets the `Tree.root`'s `label` and `data` to given values
2023-02-01 15:30:28 +00:00
Rodrigo Girão Serrão
faa2ee68d7 Merge pull request #1706 from Textualize/document-sub-title
Document setting (sub) title in the app guide
2023-02-01 15:08:43 +00:00
Dave Pearson
d350374e59 Revert Tree.clear and add Tree.reset
After some internal discussion we've decided to keep `Tree.clear` as it was,
and add a `Tree.reset`, which does a `Tree.clear` but resets the label and
data of `Tree.root` to the values given, while mirroring how `Tree.__init__`
takes those parameters.
2023-02-01 15:08:03 +00:00
Rodrigo Girão Serrão
2140aa52d2 Update docs/guide/app.md 2023-02-01 14:53:20 +00:00
Dave Pearson
8b4a833e26 Update the CHANGELOG 2023-02-01 13:47:48 +00:00
Dave Pearson
78f49f0ab2 Allow replacement of the root node data when clearing the tree 2023-02-01 13:44:53 +00:00
Dave Pearson
ff7f2488f8 Remove Tree class name clash with how pytest works
Just before doing the commit I decided to rename the test tree in the new
unit test for clearing down a tree. Of course I managed to name it in such a
way that it becomes special to pytest.

This fixes that.
2023-02-01 12:45:18 +00:00
Dave Pearson
7563d4cb7e Allow setting a new label when performing a clear on a Tree
See #1437 for background. While it would be ideal to allow for the complete
emptying of a Tree, the root node is required (and it's part of the
construction of a Tree). So, here, when clearing the Tree we optionally
allow for a new label to be given.

Ideally we'll also allow for fresh data to be provided too; but there's a
wrinkle there in knowing the difference between the data being None, and no
data being provided (so the current root's data being carried over).
Following the method of defaulting used in __init__ would cause problems. As
such, rather than roll all of this into one commit, this goes with the basic
requirement and the solution for data will follow.

Note this also starts some unit tests for the clearing of a Tree.
2023-02-01 12:33:36 +00:00
Will McGugan
8ddd52962b Merge pull request #1708 from davidbrochart/docs
Fix typo
2023-02-01 12:40:17 +01:00
Rodrigo Girão Serrão
476eca7a6e Shuffle sections around. 2023-02-01 11:30:56 +00:00
David Brochart
d1790caff7 Fix typo 2023-02-01 12:25:00 +01:00
Rodrigo Girão Serrão
521e90488c Add context about (sub)title. 2023-02-01 11:08:13 +00:00
Rodrigo Girão Serrão
828d8d2cf1 Replace Static with Label. 2023-01-31 17:31:36 +00:00
Rodrigo Girão Serrão
c14f635244 Document setting app (sub)title. 2023-01-31 17:31:06 +00:00
Dave Pearson
6f24331564 Merge pull request #1703 from davep/lowkey-tree-selection
Lowkey tree selection
2023-01-31 16:27:15 +00:00
Dave Pearson
b0a29050cf Update snapshots after change of unfocused tree cursor handling 2023-01-31 16:20:41 +00:00
Dave Pearson
f2e756b695 Update the CHANGELOG 2023-01-31 15:54:27 +00:00
Dave Pearson
6e1f18910a Keep a visible, but darker, cursor in Tree when it doesn't have focus
See #1471. It seems useful and important for a Tree to still have a cursor
visible even when it doesn't have focus -- that ways someone can build a UI
where the user can tab away from the tree to something that relates to the
node, and still see which node is in play.
2023-01-31 15:51:31 +00:00
Rodrigo Girão Serrão
40fde8cfb9 Merge pull request #1610 from Textualize/fix-1607
Fix #1607 to allow programmatic style changes
2023-01-31 15:13:24 +00:00
Rodrigo Girão Serrão
c79f19c1c7 Rename attribute. 2023-01-31 15:07:30 +00:00