diff --git a/assets/static/beeware.css b/assets/static/beeware.css index 1d3914aa40..90b5be3133 100644 --- a/assets/static/beeware.css +++ b/assets/static/beeware.css @@ -657,4 +657,48 @@ div#news-gutter { .upcoming_event_info p { font-size: 110%; margin-bottom: .1em; +} + +/*---------------------------------------------------- + Tutorial button banner on Documentation page + --------------------------------------------------- */ +.tutorial-docs { + background-color: #eceeef; + padding: 1.5rem 0 1.5rem 0; + display: flex; + justify-content: center; +} + +@media (min-width: 768px) { + .tutorial-button { + width: 20em; + } +} + +.tutorial-button { + font-size: 1.25em; +} + +.tutorial-bee-docs { + display: flex; + justify-content: right; +} + +/*---------------------------------------------------- + Documentation page layout + --------------------------------------------------- */ +.featured-title { + margin-top: 2em; +} + +.apps-and-utilities { + margin-top: 3em; +} + +h5.other-tools { + margin-bottom: 0; +} + +h3.project-details { + margin-top: 2rem; } \ No newline at end of file diff --git a/assets/static/images/chaquopy.png b/assets/static/images/chaquopy.png new file mode 100644 index 0000000000..4413744d02 Binary files /dev/null and b/assets/static/images/chaquopy.png differ diff --git a/assets/static/images/podium.png b/assets/static/images/podium.png new file mode 100644 index 0000000000..3a82c1327e Binary files /dev/null and b/assets/static/images/podium.png differ diff --git a/assets/static/images/python-apple-support.png b/assets/static/images/python-apple-support.png new file mode 100644 index 0000000000..aaa393ba5a Binary files /dev/null and b/assets/static/images/python-apple-support.png differ diff --git a/assets/static/images/rubicon.png b/assets/static/images/rubicon.png new file mode 100644 index 0000000000..cb9b837b3f Binary files /dev/null and b/assets/static/images/rubicon.png differ diff --git a/content/about/overview/contents.lr b/content/about/overview/contents.lr index 3914ea63a0..9086b9441c 100644 --- a/content/about/overview/contents.lr +++ b/content/about/overview/contents.lr @@ -39,8 +39,7 @@ and continue to engage with the community. If you'd like to know more about the history of BeeWare, [start here](/about/history/). -If you'd like to take BeeWare for a test drive, [take a look at the the -various ways BeeWare tools can be used](/project/using/). +If you'd like to take BeeWare for a test drive, [try our tutorial](https://tutorial.beeware.org). If you'd like to keep up to date with what we're doing, follow [@beeware@fosstodon.org](https://fosstodon.org/@beeware) on Mastodon. If @@ -54,7 +53,7 @@ gutter: ## Next steps - The [History of the BeeWare project](/about/history/) -- [BeeWare test drive](/project/using/) +- [The BeeWare tutorial](https://tutorial.beeware.org) - [@beeware@fosstodon.org on Mastodon](https://fosstodon.org/@beeware) - The [BeeWare Enthusiasts mailing list](/community/keep-informed/) diff --git a/content/batavia/contents.lr b/content/batavia/contents.lr index 8ef8c1ad80..2aa1ee8447 100644 --- a/content/batavia/contents.lr +++ b/content/batavia/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/batavia/ +new_path: /docs/attic/batavia/ --- _discoverable: no diff --git a/content/bee/podium/contents.lr b/content/bee/podium/contents.lr index a0a2e5944a..aa958c2bc2 100644 --- a/content/bee/podium/contents.lr +++ b/content/bee/podium/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/applications/podium/ +new_path: /docs/applications/podium/ --- _discoverable: no diff --git a/content/beefore/contents.lr b/content/beefore/contents.lr index 6bd4f4a6b3..bae58552c3 100644 --- a/content/beefore/contents.lr +++ b/content/beefore/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/beefore/ +new_path: /docs/attic/beefore/ --- _discoverable: no diff --git a/content/beekeeper/contents.lr b/content/beekeeper/contents.lr index 2a3c534b9f..91335b9c13 100644 --- a/content/beekeeper/contents.lr +++ b/content/beekeeper/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/beekeeper/ +new_path: /docs/attic/beekeeper/ --- _discoverable: no diff --git a/content/briefcase/contents.lr b/content/briefcase/contents.lr index 18a5ea6f7d..9073d8438d 100644 --- a/content/briefcase/contents.lr +++ b/content/briefcase/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/briefcase/ +new_path: /docs/briefcase/ --- _discoverable: no diff --git a/content/bugjar/contents.lr b/content/bugjar/contents.lr index 2709e197b9..bb068f9eab 100644 --- a/content/bugjar/contents.lr +++ b/content/bugjar/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/applications/bugjar/ +new_path: /docs/applications/bugjar/ --- _discoverable: no diff --git a/content/cassowary/contents.lr b/content/cassowary/contents.lr index 7e92f6fa88..44a0854bb4 100644 --- a/content/cassowary/contents.lr +++ b/content/cassowary/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/cassowary/ +new_path: /docs/attic/cassowary/ --- _discoverable: no diff --git a/content/colosseum/contents.lr b/content/colosseum/contents.lr index 600f91238e..ea06cc04e5 100644 --- a/content/colosseum/contents.lr +++ b/content/colosseum/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/utilities/colosseum/ +new_path: /docs/utilities/colosseum/ --- _discoverable: no diff --git a/content/community/getting-help/contents.lr b/content/community/getting-help/contents.lr index 51af69a11b..0cf6b5dd49 100644 --- a/content/community/getting-help/contents.lr +++ b/content/community/getting-help/contents.lr @@ -16,9 +16,7 @@ We use [Discord](/bee/chat/) for real-time communication. ## Discussion and bugs -A lot of project-specific communication happens on the Issues for the -specific project. Check the [Project](/project) list for specific -project links. +A lot of project-specific communication happens on the GitHub Issues for each project. Links for our high-profile projects can be found on our [documentation page](/docs); visit the [GitHub page for the BeeWare organization](https://github.com/beeware) for the full list of repositories. We also use GitHub Discussions as a forum to discuss projects. If you have a question about how to use a BeeWare tool, open a discussion @@ -40,4 +38,3 @@ In addition, the core team will *not* provide free support or debugging help for commercial projects. If you're not able to post your question on a public forum, you'll need to seek out someone willing to provide [commercial support](/community/) to meet for your needs. - diff --git a/content/contents.lr b/content/contents.lr index 02f97354ca..6341cc26f9 100644 --- a/content/contents.lr +++ b/content/contents.lr @@ -19,7 +19,7 @@ header: #### button-block #### label: Take the Tutorial ---- -link: /project/using/ +link: https://tutorial.beeware.org/ ---- icon: ---- @@ -126,7 +126,7 @@ image_alignment: right #### text-block #### title: Contribute! ---- -text: If all this sounds interesting, why not take a look at the [BeeWare projects](/project) and see how you can use them when developing Python applications? Or, if you'd like to contribute, and you've never contributed to open source before, start with our [guide for first time contributors](/contributing/first-time/). If you feel ready to dive straight in, check out the [project pages](/project/) or our guide on [what you can do to help](/contributing/). +text: If all this sounds interesting, why not take a look at the [BeeWare documentation](/docs) and see how you can use them to develop Python applications? Or, if you'd like to contribute, see our guide on [what you can do to help](/contributing/), If you've never contributed to open source before, start with our [guide for first time contributors](/contributing/first-time/). #### button-block #### label: @@ -168,4 +168,4 @@ text: BeeWare is supported by users like you! Every little bit helps: [click her --- gutter_top: --- -gutter_bottom: [... and many more](/project/) +gutter_bottom: [... and many more](/docs/) diff --git a/content/cricket/contents.lr b/content/cricket/contents.lr index 4c5026a0fd..0c0a26a8fb 100644 --- a/content/cricket/contents.lr +++ b/content/cricket/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/applications/cricket/ +new_path: /docs/applications/cricket/ --- _discoverable: no diff --git a/content/docs/applications/bugjar/bugjar.png b/content/docs/applications/bugjar/bugjar.png new file mode 100644 index 0000000000..47140da187 Binary files /dev/null and b/content/docs/applications/bugjar/bugjar.png differ diff --git a/content/docs/applications/bugjar/contents.lr b/content/docs/applications/bugjar/contents.lr new file mode 100644 index 0000000000..de74606d29 --- /dev/null +++ b/content/docs/applications/bugjar/contents.lr @@ -0,0 +1,51 @@ +name: Bugjar +--- +project_type: application +--- +maturity: experimental +--- +languages: py +--- +platforms: macOS +--- +short_description: + +A interactive graphical debugger for Python code. + +--- +description: + +Anyone who learned to code in the mid to late 80s probably spent some +time with a Borland compiler -- probably either Turbo Pascal or Turbo C. +One of the best features of the Turbo compilers was their IDE -- and in +particular, a really good visual debugger that would let you inspect +code while it was running. + +Then we all moved to Unix, and somehow forgot what a good debugger was. +GDB is perfectly functional, but isn't very intuitive. GDB gives you +perfect control over the execution of your code, but bad contextual +information to let you know what control you should be exercising. + +Then came Python. Python's execution model contains excellent debugging +hooks, and supplies PDB as a proof of concept. PDB is an interface that +shares many similarities with GDB -- text mode, fantastic control, but +very bad contextual information. + +So - enter `bugjar`. A graphical interface for debugging code. PDB, but +with the context to help you step through code in a meaningful way. + +--- +help_required: + + + +--- +rtfd_name: bugjar +--- +customlogo: yes +--- +image: bugjar.png +--- +github_repo: beeware/bugjar +--- +sort_key: 1 diff --git a/content/docs/applications/contents.lr b/content/docs/applications/contents.lr new file mode 100644 index 0000000000..b83e359697 --- /dev/null +++ b/content/docs/applications/contents.lr @@ -0,0 +1,21 @@ +_model: project-type +--- +title: Applications +--- +short_description: Standalone end-user-projects +--- +category_type: application +--- +project_page_description: Standalone end-user-projects built using BeeWare tools, including: +--- +gutter: + +Applications are standalone end-user application. Although applications +are written in Python, this is an implementation detail - you shouldn't +ever be aware of this fact. Applications are installed and run the same +way as any other end-user application on your computer. + +--- +sort_key: 3 +--- +featured: yes diff --git a/content/docs/applications/cricket/contents.lr b/content/docs/applications/cricket/contents.lr new file mode 100644 index 0000000000..c3b2bf30de --- /dev/null +++ b/content/docs/applications/cricket/contents.lr @@ -0,0 +1,56 @@ +name: Cricket +--- +short_description: + +Test runner GUI that finds failures fast + +--- +description: + +Cricket is a graphical tool that helps projects with large test suites +**identify failures without waiting** for all your tests to finish. + +Normal unittest test runners dump all output to the console, and provide +very little detail while the suite is running. As a result: + +- You can't start looking at failures until the test suite has + completed running, +- It isn't a very accessible format for identifying patterns in test + failures, +- It can be hard (or cumbersome) to re-run any tests that have failed. + +--- +help_required: + +Needs to be ported to Toga + +--- +maturity: beta +--- +languages: py +--- +platforms: macOS, linux, win +--- +project_type: application +--- +pun: + +[Test Cricket](https://en.wikipedia.org/wiki/Test_cricket) is the most +prestigious version of the game of cricket. Games last for up to 5 +days... just like running some test suites. The usual approach for +making cricket watchable is a generous dose of beer; in programming, +[Balmer Peak](https://xkcd.com/323/) limits come into effect, so +something else is required... + +--- +rtfd_name: cricket +--- +customlogo: yes +--- +showcase: no +--- +image: cricket.png +--- +github_repo: beeware/cricket +--- +sort_key: 1 diff --git a/content/docs/applications/cricket/cricket.png b/content/docs/applications/cricket/cricket.png new file mode 100644 index 0000000000..28c063ac5d Binary files /dev/null and b/content/docs/applications/cricket/cricket.png differ diff --git a/content/docs/applications/duvet/contents.lr b/content/docs/applications/duvet/contents.lr new file mode 100644 index 0000000000..7fab7ce99e --- /dev/null +++ b/content/docs/applications/duvet/contents.lr @@ -0,0 +1,46 @@ +name: Duvet +--- +project_type: application +--- +maturity: experimental +--- +languages: py +--- +platforms: independent +--- +short_description: + +Coverage visualization tool + +--- +description: + +Duvet is a GUI tool for visualizing code coverage results produced by +[coverage.py](https://coverage.readthedocs.io/). + +--- +help_required: + + + +--- +pun: + +Because a duvet doesn't just provide coverage - it keeps you warm and +cozy. + +--- +incomplete: yes +--- +rtfd_name: duvet +--- +customlogo: yes +--- +image: duvet.png +--- +github_repo: + +beeware/duvet + +--- +sort_key: 1 diff --git a/content/docs/applications/duvet/duvet.png b/content/docs/applications/duvet/duvet.png new file mode 100644 index 0000000000..29a7bdf263 Binary files /dev/null and b/content/docs/applications/duvet/duvet.png differ diff --git a/content/docs/applications/galley/contents.lr b/content/docs/applications/galley/contents.lr new file mode 100644 index 0000000000..29e7c73054 --- /dev/null +++ b/content/docs/applications/galley/contents.lr @@ -0,0 +1,40 @@ +name: Galley +--- +project_type: application +--- +maturity: experimental +--- +languages: py +--- +platforms: independent +--- +short_description: + +A GUI tool for reviewing RST/Sphinx documentation + +--- +description: + +Galley is a GUI tool to assist in drafting documentation. + +--- +help_required: + + + +--- +pun: + +**galley** *n.* a printer's proof in the form of long single-column +strips, not in sheets or pages. + +--- +incomplete: yes +--- +customlogo: yes +--- +image: galley.png +--- +github_repo: beeware/galley +--- +sort_key: 1 diff --git a/content/docs/applications/galley/galley.png b/content/docs/applications/galley/galley.png new file mode 100644 index 0000000000..4e785b28d4 Binary files /dev/null and b/content/docs/applications/galley/galley.png differ diff --git a/content/docs/applications/podium/contents.lr b/content/docs/applications/podium/contents.lr new file mode 100644 index 0000000000..7182e7b76f --- /dev/null +++ b/content/docs/applications/podium/contents.lr @@ -0,0 +1,90 @@ +name: Podium +--- +project_type: application +--- +maturity: beta +--- +languages: py +--- +platforms: independent +--- +short_description: + +A markup-based slide presentation tool + +--- +description: + +Developers go to conferences. And when they do, they need slide decks. + +Unfortunately, while presentation tools like +[Keynote](https://en.wikipedia.org/wiki/Keynote_%28presentation_software%29) +and [PowerPoint](https://en.wikipedia.org/wiki/Microsoft_PowerPoint) are +great for business presentations, they aren't well suited to the needs +of developers. The mainstay of developer presentations -- code samples +-- are generally painful to add to a Keynote presentation. + +These presentation tools also come from a WYSIWYG (What You See Is What +You Get) tradition. This can be powerful, because it makes it easy to +put anything you want onto a slide. But it can also be painful, because +you end up spending all your time pushing pixels into the right place, +instead of focussing on the content of your talk. And if you want to +make a style change, you may need to apply that change manually to every +slide. The lessons of separating content from markup can't be applied to +a WYSIWYG world. + +On top of all that, the document formats for Keynote and Powerpoint are +binary blobs -- they don't lend themselves to version control, +collaborative editing, and so on. + +The developer response to this has been to use HTML5. Recent years have +seen the development of a number of HTML-based presentation tools, like +prezi, [deck.js](http://imakewebthings.com/deck.js/), +[keydown](https://github.com/infews/keydown), and +[showoff](https://github.com/drnic/showoff). These tools exploit the +power of HTML5 to make full screen presentations. + +However, by using browser technology as the basis for these tools, they +miss one very important feature of WYSIWYG presentation tools: presenter +mode. + +One of the big features of Keynote and Powerpoint is that they aren't +just decks of slides -- they have presenter notes and timing tools, and +the display shown to the audience isn't the same as the display shown to +the presenter. + +Many of these tools also assume that you have a good WiFi connection, +and will be able to display your content live off the internet... which +if you've ever been to a developer conference, you'll know is a risky +proposition. + +Podium attempts to bridge the gap between these two poles. It is +comprised of: + +- A simple, text-based markup format, focussed on the needs of developer + presentations. +- A graphical presentation tool that has a presenter display independent + of the slide display. + +--- +help_required: + + + +--- +pun: + + + +--- +customlogo: yes +--- +image: podium.png +--- +github_repo: beeware/podium +--- +important: yes +--- +sort_key: 0 +--- +featured: yes diff --git a/content/docs/applications/podium/podium.png b/content/docs/applications/podium/podium.png new file mode 100644 index 0000000000..3a82c1327e Binary files /dev/null and b/content/docs/applications/podium/podium.png differ diff --git a/content/docs/attic/batavia/batavia.png b/content/docs/attic/batavia/batavia.png new file mode 100644 index 0000000000..74cb70fcae Binary files /dev/null and b/content/docs/attic/batavia/batavia.png differ diff --git a/content/docs/attic/batavia/contents.lr b/content/docs/attic/batavia/contents.lr new file mode 100644 index 0000000000..3f7382cbf9 --- /dev/null +++ b/content/docs/attic/batavia/contents.lr @@ -0,0 +1,70 @@ +name: Batavia +--- +project_type: bridge +--- +maturity: alpha +--- +languages: py, js +--- +platforms: browser +--- +short_description: + +A Javascript implementation of the Python virtual machine + +--- +attic: yes +--- +description: + +Batavia is an implementation of the Python virtual machine, written in +Javascript. With Batavia, you can run Python bytecode in your browser. + +It honours Python 3.4.4+ syntax and conventions, and lets you reference +objects and classes defined natively in JavaScript. + +--- +help_required: + +So you want to contribute to an Open Source project? Batavia is a great +place to start. [Here are instructions on contributing to +Batavia.](http://batavia.readthedocs.io/en/latest/how-to/contribute-code.html) + +--- +pun: + +On 27 October, 1628, *Commandeur* Francisco Pelsaert took command of the +*Batavia*, and with 340 passengers and crew, set sail from Texel. + +Their destination? The Spice Islands - or more specifically, island of +Java in the Dutch East Indies (now part of Indonesia). + +**The Batavia was... a Java ship (da-dum đ„!).** + +Interestingly, during the voyage, Ariaen Jacobsz and *onderkoopman* +Jeronimus Cornelisz incited a mutiny, because they didn't want to go to +Java - they wanted to escape to start a new life somewhere else. As a +result of the mutiny, on 4 June 1629, the Batavia ran aground on Morning +Reef, part of the Houtman Abrolhos, about 450km North of Perth, Western +Australia, where this project was conceived. + +The [full story of the +Batavia](https://en.wikipedia.org/wiki/Batavia_%281628 ship%29) is known to most +Western Australian schoolchildren, and is a harrowing tale of intrigue, +savagery, and murder. *It serves as a reminder of what can happen when +you force people to go to Java* :-) + +The wreck of the Batavia was recovered in the 1970s, and now stands in +the [shipwrecks gallery of the Western Australian Maritime +Museum](http://museum.wa.gov.au/museums/shipwrecks). + +--- +rtfd_name: batavia +--- +customlogo: yes +--- +showcase: no +--- +image: batavia.png +--- +github_repo: beeware/batavia diff --git a/content/docs/attic/beefore/beefore.png b/content/docs/attic/beefore/beefore.png new file mode 100644 index 0000000000..c2c8c72b62 Binary files /dev/null and b/content/docs/attic/beefore/beefore.png differ diff --git a/content/docs/attic/beefore/contents.lr b/content/docs/attic/beefore/contents.lr new file mode 100644 index 0000000000..b275560101 --- /dev/null +++ b/content/docs/attic/beefore/contents.lr @@ -0,0 +1,71 @@ +name: Beefore +--- +description: + +Although code exists to be compiled or executed by a computer, it's also +there to be read by humans. A computer doesn't care what code looks +like, as long as it's valid syntax. However, there's a lot you can do in +the formatting and styling of code to make that code even more readable +by humans. + +These are mostly simple things, like consistency in indentation, +spacing, and line length. Every language has it's own conventions; each +project will have it's own specialisations of those conventions. BeeWare +is no exception. + +Someone reviewing a patch still needs to check for correct logic, but +these simple style-check tasks are easy to check programatically. Many +text editors will (or have extensions that will) do this process for +you - the task is called *linting*. Beefore is a tool that allows you to +integrate these checks into your GitHub pre-merge procedure, in the same +way that can integrate continuous integration and test suite compliance +before merging. + +It isn't just limited to code style though. Any check that can be +objectively measured can be performed as part of the pre-merge +procedure. This could include: + +- Checking for a Developer Certificate of Origin, Contributor License + Agreement, or some other contribution licensing procedure. +- Evaluating code complexity +- Evaluating code coverage + +and many others. + +Beefore piggybacks on your the continuous integration process you +already use to run your test suite before merging commits (e.g., +Travis-CI). The Beefore tests are executed as a custom test run. + +--- +help_required: + +- Improving existing linters +- Integrating new linters and style checks (e.g., Java) + +--- +languages: py, js +--- +maturity: alpha +--- +platforms: independent +--- +project_type: tool +--- +pun: + +It checks for all the things you have to have right *before* you merge a +patch. + +--- +short_description: + +Performs pre-merge checks (such as code style) on a pull request. + +--- +customlogo: yes +--- +image: beefore.png +--- +github_repo: beeware/beefore +--- +attic: yes diff --git a/content/docs/attic/beekeeper/beekeeper.png b/content/docs/attic/beekeeper/beekeeper.png new file mode 100644 index 0000000000..fb5b4fc936 Binary files /dev/null and b/content/docs/attic/beekeeper/beekeeper.png differ diff --git a/content/docs/attic/beekeeper/contents.lr b/content/docs/attic/beekeeper/contents.lr new file mode 100644 index 0000000000..25d7a9dd09 --- /dev/null +++ b/content/docs/attic/beekeeper/contents.lr @@ -0,0 +1,42 @@ +name: BeeKeeper +--- +project_type: tool +--- +maturity: beta +--- +languages: py +--- +platforms: independent +--- +short_description: + +Build and CI tool + +--- +description: + +BeeKeeper is a tool for running Docker containers on demand, with GitHub +status reporting. As a side effect, this makes it very effective as an +automated code review tool, a CI system, an automated deployment system, +and many other things. + +--- +help_required: + + + +--- +pun: + +Someone has to look after the health and wellbeing of all the bees... + +--- +incomplete: no +--- +rtfd_name: pybee-beekeeper +--- +customlogo: yes +--- +image: beekeeper.png +--- +github_repo: beeware/beekeeper diff --git a/content/docs/attic/cassowary/cassowary.png b/content/docs/attic/cassowary/cassowary.png new file mode 100644 index 0000000000..74cabd49eb Binary files /dev/null and b/content/docs/attic/cassowary/cassowary.png differ diff --git a/content/docs/attic/cassowary/contents.lr b/content/docs/attic/cassowary/contents.lr new file mode 100644 index 0000000000..4c3315e7ba --- /dev/null +++ b/content/docs/attic/cassowary/contents.lr @@ -0,0 +1,40 @@ +name: Cassowary +--- +project_type: library +--- +maturity: production +--- +languages: py +--- +platforms: independent +--- +short_description: + +A pure python implementation of the Cassowary constraint solving +algorithm. + +--- +description: + +A pure Python implementation of the [Cassowary constraint-solving +algorithm](http://constraints.cs.washington.edu/cassowary/). Cassowary +is the algorithm that forms the core of the OS X and iOS visual layout +mechanism. + +This project is no longer in use. It was originally developed for use in +Toga; however, Toga now uses CSS-based layout, implemented in +[Colosseum](/docs/utilities/colosseum/). + +--- +help_required: + + + +--- +rtfd_name: cassowary +--- +attic: yes +--- +github_repo: pybee/cassowary +--- +image: cassowary.png diff --git a/content/docs/attic/contents.lr b/content/docs/attic/contents.lr new file mode 100644 index 0000000000..ad2160d76b --- /dev/null +++ b/content/docs/attic/contents.lr @@ -0,0 +1,15 @@ +_model: project-type +--- +title: Attic +--- +short_description: They can't all be zingers... +--- +project_page_description: They can't all be zingers... +--- +gutter: + +The attic is a collection of older and experimental projects that were +once part of the BeeWare suite, but are no longer being actively +maintained. If you are interested in taking over maintenance of an attic +project, please [get in touch](mailto:russell@beeware.org). + diff --git a/content/docs/attic/cookiecutter-project/contents.lr b/content/docs/attic/cookiecutter-project/contents.lr new file mode 100644 index 0000000000..1740bec442 --- /dev/null +++ b/content/docs/attic/cookiecutter-project/contents.lr @@ -0,0 +1,24 @@ +name: cookiecutter-project +--- +languages: py +--- +maturity: production +--- +platforms: independent +--- +project_type: tool +--- +short_description: + +A cookiecutter template for projects + +--- +description: + +This was a cookiecutter template for setting up new pybee projects. It +is no longer used. + +--- +attic: yes +--- +github_repo: pybee/cookiecutter-project diff --git a/content/docs/attic/cookiecutter-website/contents.lr b/content/docs/attic/cookiecutter-website/contents.lr new file mode 100644 index 0000000000..3e657def56 --- /dev/null +++ b/content/docs/attic/cookiecutter-website/contents.lr @@ -0,0 +1,22 @@ +name: cookiecutter-website +--- +description: + +This was a cookiecutter template for setting up new Pybee.org project +websites. It is no longer used. + +--- +languages: py +--- +maturity: production +--- +platforms: independent +--- +project_type: tool +--- +short_description: + +A cookiecutter template for websites + +--- +attic: yes diff --git a/content/docs/attic/ouroboros/contents.lr b/content/docs/attic/ouroboros/contents.lr new file mode 100644 index 0000000000..9da9de47fa --- /dev/null +++ b/content/docs/attic/ouroboros/contents.lr @@ -0,0 +1,40 @@ +name: Ouroboros +--- +project_type: library +--- +maturity: experimental +--- +languages: py +--- +platforms: independent +--- +short_description: + +A standalone, pure Python implementation of the Python Standard Library. +This allows Python default libraries to be used portably on any +implementation of the Python virtual machine---not requiring CPython. + +--- +description: + +A standalone, pure Python implementation of the Python Standard Library. + +--- +help_required: + +Expansion of unit testing. + +--- +pun: + +The ouroboros is an ancient symbol depicting a serpent eating its own +tail. Ouroboros (this library) is also similarly self-referential; it +implements Python in Python itself (the subset of Python on the Python +virtual machine). + +--- +image: ouroboros.png +--- +rtfd_name: pybee-ouroboros +--- +github_repo: beeware/ouroboros diff --git a/content/docs/attic/ouroboros/ouroboros.png b/content/docs/attic/ouroboros/ouroboros.png new file mode 100644 index 0000000000..5bd9d96375 Binary files /dev/null and b/content/docs/attic/ouroboros/ouroboros.png differ diff --git a/content/docs/attic/python-android-support/contents.lr b/content/docs/attic/python-android-support/contents.lr new file mode 100644 index 0000000000..7f6ef61d63 --- /dev/null +++ b/content/docs/attic/python-android-support/contents.lr @@ -0,0 +1,28 @@ +name: Python Android Support +--- +languages: py, java +--- +maturity: production +--- +platforms: android +--- +project_type: support +--- +description: + +This is a meta-package for building a version of Python (and supporting +libraries) that can be embedded into an Android project. + +It works by downloading, patching and building libraries in +Android-compatible format. + +--- +short_description: + +A meta-package for building a version of Python that can be embedded +into an Android project. + +--- +image: python-android-support.png +--- +github_repo: beeware/Python-Android-support diff --git a/content/docs/attic/python-android-support/python-android-support.png b/content/docs/attic/python-android-support/python-android-support.png new file mode 100644 index 0000000000..24d3a56fe1 Binary files /dev/null and b/content/docs/attic/python-android-support/python-android-support.png differ diff --git a/content/docs/attic/python-android-template/contents.lr b/content/docs/attic/python-android-template/contents.lr new file mode 100644 index 0000000000..4df3068fb5 --- /dev/null +++ b/content/docs/attic/python-android-template/contents.lr @@ -0,0 +1,46 @@ +name: Python Android Template +--- +project_type: template +--- +maturity: alpha +--- +languages: java, py +--- +platforms: android +--- +short_description: + +A cookiecutter template for creating an Android project running Python +code. + +--- +description: + +A template for building Python apps that will run on Android devices, +such as phones and tablets. It uses +[cookiecutter](https://cookiecutter.readthedocs.io) which creates +projects from cookiecutters (project templates). The easiest way to use +this project is to not use it at all - at least, not directly. +[Briefcase](/docs/briefcase) is a tool that uses this template, +rolling it out using data extracted from your setup.py + +The following Python versions are supported: + +- [Python + 3.4](https://github.com/beeware/Python-Android-template/tree/3.4) +- [Python + 3.5](https://github.com/beeware/Python-Android-template/tree/3.5) + +--- +help_required: + + + +--- +incomplete: yes +--- +customlogo: yes +--- +image: python-android-template.png +--- +github_repo: beeware/python-android-template diff --git a/content/docs/attic/python-android-template/python-android-template.png b/content/docs/attic/python-android-template/python-android-template.png new file mode 100644 index 0000000000..a6427b5473 Binary files /dev/null and b/content/docs/attic/python-android-template/python-android-template.png differ diff --git a/content/docs/attic/python-ios-support/contents.lr b/content/docs/attic/python-ios-support/contents.lr new file mode 100644 index 0000000000..ac2937f97c --- /dev/null +++ b/content/docs/attic/python-ios-support/contents.lr @@ -0,0 +1,33 @@ +name: Python iOS Support +--- +project_type: support +--- +maturity: production +--- +languages: py, c +--- +platforms: iOS +--- +short_description: + +A meta-package for building a version of Python that can be embedded +into an iOS project. + +--- +description: + +A meta-package for building a version of Python that can be embedded +into an iOS project. + +This project has been superceded by [Python Apple +support](/docs/utilities/python-apple-support) package. + +--- +help_required: + + + +--- +attic: yes +--- +github_repo: pybee/Python-iOS-support diff --git a/content/docs/attic/python-ios-template/contents.lr b/content/docs/attic/python-ios-template/contents.lr new file mode 100644 index 0000000000..1a7b3dfc4e --- /dev/null +++ b/content/docs/attic/python-ios-template/contents.lr @@ -0,0 +1,33 @@ +name: Python iOS Template +--- +project_type: template +--- +maturity: beta +--- +languages: py, m +--- +platforms: iOS +--- +short_description: + +A template for building Python apps that will run on iOS devices. + +--- +description: + +A template for building Python apps that will run on iOS devices, such +as iPhones and iPads. + +--- +help_required: + + + +--- +incomplete: yes +--- +customlogo: yes +--- +image: python-ios-template.png +--- +github_repo: beeware/python-ios-template diff --git a/content/docs/attic/python-ios-template/python-ios-template.png b/content/docs/attic/python-ios-template/python-ios-template.png new file mode 100644 index 0000000000..aaa393ba5a Binary files /dev/null and b/content/docs/attic/python-ios-template/python-ios-template.png differ diff --git a/content/docs/attic/python-linux-support/contents.lr b/content/docs/attic/python-linux-support/contents.lr new file mode 100644 index 0000000000..973229e332 --- /dev/null +++ b/content/docs/attic/python-linux-support/contents.lr @@ -0,0 +1,29 @@ +name: Python Linux Support +--- +languages: py, c +--- +maturity: beta +--- +platforms: linux +--- +project_type: support +--- +short_description: + +A meta-package for building a version of Python that can be embedded +into a Linux project. + +--- +incomplete: no +--- +description: + +A meta-package for building a version of Python that can be embedded +into a Linux project. + +--- +customlogo: yes +--- +image: python-linux-support.png +--- +github_repo: beeware/Python-Linux-support diff --git a/content/docs/attic/python-linux-support/python-linux-support.png b/content/docs/attic/python-linux-support/python-linux-support.png new file mode 100644 index 0000000000..8a8f633ade Binary files /dev/null and b/content/docs/attic/python-linux-support/python-linux-support.png differ diff --git a/content/docs/attic/python-macos-template/contents.lr b/content/docs/attic/python-macos-template/contents.lr new file mode 100644 index 0000000000..09e803ce90 --- /dev/null +++ b/content/docs/attic/python-macos-template/contents.lr @@ -0,0 +1,30 @@ +name: Python macOS Template +--- +project_type: template +--- +maturity: beta +--- +languages: py, m +--- +platforms: macOS +--- +short_description: + +A template for building Python apps that will run on Apple macOS +devices. + +--- +description: + +A template for building Python apps that will run on Apple macOS +devices, such as MacBooks and iMacs. + +--- +help_required: + + + +--- +incomplete: yes +--- +github_repo: beeware/python-macos-template diff --git a/content/docs/attic/python-osx-support/contents.lr b/content/docs/attic/python-osx-support/contents.lr new file mode 100644 index 0000000000..15a5f8a4a6 --- /dev/null +++ b/content/docs/attic/python-osx-support/contents.lr @@ -0,0 +1,33 @@ +name: Python OSX Support +--- +project_type: support +--- +maturity: production +--- +languages: py, c +--- +platforms: macOS +--- +short_description: + +A meta-package for building a version of Python that can be embedded +into an OS X project. + +--- +description: + +A meta-package for building a version of Python that can be embedded +into a macOS (neĂ© OS X) project. + +This project has been superceded by [Python Apple +support](/docs/utilities/python-apple-support) package. + +--- +help_required: + + + +--- +attic: yes +--- +github_repo: pybee/Python-OSX-support diff --git a/content/docs/attic/python-tvos-support/contents.lr b/content/docs/attic/python-tvos-support/contents.lr new file mode 100644 index 0000000000..0d37c33744 --- /dev/null +++ b/content/docs/attic/python-tvos-support/contents.lr @@ -0,0 +1,31 @@ +name: Python tvOS Support +--- +project_type: support +--- +maturity: alpha +--- +languages: py, c +--- +platforms: tvOS +--- +short_description: + +A meta-package for building a version of Python that can be embedded +into a tvOS project. + +--- +description: + +A meta-package for building a version of Python that can be embedded +into a tvOS project. + +This project has been superceded by [Python Apple +support](/docs/utilities/python-apple-support) package. + +--- +help_required: + + + +--- +attic: yes diff --git a/content/docs/attic/python-tvos-template/contents.lr b/content/docs/attic/python-tvos-template/contents.lr new file mode 100644 index 0000000000..98ec73c1f4 --- /dev/null +++ b/content/docs/attic/python-tvos-template/contents.lr @@ -0,0 +1,29 @@ +name: Python tvOS Template +--- +project_type: template +--- +maturity: alpha +--- +languages: py, c +--- +platforms: tvOS +--- +short_description: + +A template for building Python apps that will run on Apple tvOS devices. + +--- +description: + +A template for building Python apps that will run on Apple tvOS devices, +such as the AppleTV. + +--- +help_required: + + + +--- +incomplete: yes +--- +github_repo: beeware/python-tvos-template diff --git a/content/docs/attic/sealang/contents.lr b/content/docs/attic/sealang/contents.lr new file mode 100644 index 0000000000..c4b15d2b26 --- /dev/null +++ b/content/docs/attic/sealang/contents.lr @@ -0,0 +1,74 @@ +name: Sealang +--- +project_type: library +--- +maturity: alpha +--- +languages: py +--- +platforms: macOS, linux +--- +short_description: + +An extended set of Python bindings for libclang + +--- +description: + +Sealang is an improved set of Python bindings for `libclang`. + +The upstream maintainers of `libclang` have not been especially +responsive to patches that address issues like Python 3 compatibility, +and the significant omissions in the API (such as extracting literals +and operators). + +This package is a fork of the official Python bindings for `libclang`, +patched to correct these problems. + +## How it works + +Sealang is a bit of a nasty hack. `libclang` is a set of C bindings to a +C++ API; Python `ctypes` are then used to wrap the C API. However, while +the C++ API is quite rich, `libclang` is less so. + +Sealang bridges this gap by providing C wrappers around the C++ calls +that provide the useful functionality. This library of C functions is +wrapped up as a Python C module for delivery purposes - this C module +contains no exposed *Python* objects or methods, but because it's a +module, the underlying compiled +sealang.so file is easy to find. +ctypes are then used to expose the +sealang wrapper functions; + +Internally, Sealang reproduces some minor pieces of the `libclang` API; +these are methods (such as the string creation and manipulation methods) +that aren't exposed as symbols for third-party use. + +All this functionality is potentially a candidate to be passed upstream +to libclang. + +### Relationship to Clang + +This project aims to mirror what is currently available in the Python +bindings to `libclang`. The version number for this project is drawn +from the version and SVN revision of the official clang repository. + +Any changes made upstream to `libclang` will be mirrored here; any +changes made here will, where possible, be pushed upstream to +`libclang`. + +### Development status + +This project was an experiment developed to support +[Seasnake](/docs/attic/seasnake). Since Seasnake has been abandoned, +so has this project. + +--- +help_required: + + + +--- +attic: yes +--- +image: sealang.png diff --git a/content/docs/attic/sealang/sealang.png b/content/docs/attic/sealang/sealang.png new file mode 100644 index 0000000000..adb1ddef34 Binary files /dev/null and b/content/docs/attic/sealang/sealang.png differ diff --git a/content/docs/attic/seasnake/contents.lr b/content/docs/attic/seasnake/contents.lr new file mode 100644 index 0000000000..02a826d5f5 --- /dev/null +++ b/content/docs/attic/seasnake/contents.lr @@ -0,0 +1,43 @@ +name: Seasnake +--- +project_type: bridge +--- +maturity: alpha +--- +languages: py, cpp +--- +platforms: independent +--- +short_description: + +A tool to manage conversion of C++ code to Python. + +--- +description: + +Sometimes you will find a great algorithm, but find that the only +implementation of that algorithm is written in C or C++. In some cases +it might be possible to wrap that C/C++ code in a Python C module. +However, if a C module is not an option, you need to be able to convert +the C/C++ implementation into a Pure Python implementation. + +SeaSnake was written to automate the conversion of +[WebKit](https://webkit.org) sources into a version that could be used +by [Colosseum](https://github.com/beeware/colosseum). + +This project was an experiment; it has been abandoned. + +--- +help_required: + + + +--- +pun: + +Seasnake converts C (sea) to Python (snake). + +--- +attic: yes +--- +image: seasnake.png diff --git a/content/docs/attic/seasnake/seasnake.png b/content/docs/attic/seasnake/seasnake.png new file mode 100644 index 0000000000..06223c557d Binary files /dev/null and b/content/docs/attic/seasnake/seasnake.png differ diff --git a/content/docs/attic/trebuchet/contents.lr b/content/docs/attic/trebuchet/contents.lr new file mode 100644 index 0000000000..53efe33f06 --- /dev/null +++ b/content/docs/attic/trebuchet/contents.lr @@ -0,0 +1,20 @@ +name: Trebuchet +--- +description: + +Trebuchet was earmarked as a tool to help deploy websites. It was never +developed. + +--- +maturity: experimental +--- +project_type: tool +--- +short_description: + +A tool to deploy websites + +--- +attic: yes +--- +image: trebuchet.png diff --git a/content/docs/attic/trebuchet/trebuchet.png b/content/docs/attic/trebuchet/trebuchet.png new file mode 100644 index 0000000000..adb1ddef34 Binary files /dev/null and b/content/docs/attic/trebuchet/trebuchet.png differ diff --git a/content/docs/attic/voc/contents.lr b/content/docs/attic/voc/contents.lr new file mode 100644 index 0000000000..97d82c466f --- /dev/null +++ b/content/docs/attic/voc/contents.lr @@ -0,0 +1,88 @@ +name: VOC +--- +project_type: bridge +--- +maturity: alpha +--- +languages: java, py +--- +platforms: independent +--- +short_description: + +A transpiler that converts Python bytecode into Java bytecode. + +--- +attic: yes +--- +description: + +VOC serves two major functions: + +- Compiles Python 3.4+ source files into Java class files, enabling you + to run Python code on a JVM (including Android's VM). +- Provides an API to let you programmatically create Java class files. + +It isn't a *fully* compliant Python 3.4 implementation just yet - there +are some language features (like `nonlocal` and some builtin functions) +that still need to be implemented, and there is only a bare bones +standard library implementation. However, it is possible to convert +simple Python programs, and even write [simple Android +applications](https://github.com/eliasdorneles/tictactoe-voc). + +To take VOC for a spin, run through the [Getting +Started](https://voc.readthedocs.io/en/latest/index.html) guide, then +start with the [first +tutorial](https://voc.readthedocs.io/en/latest/tutorial/tutorial-0.html). + +If you'd like to contribute to VOC development, we have a [guide for +first time +contributors](https://voc.readthedocs.io/en/latest/how-to/contribute-code.html). + +--- +help_required: + +VOC has been archived. + +--- +pun: + +VOC is a backronym for "Vestigial Output Compiler". Or "Vexing Obtuse +Compiler". Or "Valuable Obscure Compiler". Or "Variegated Ocelot +Calibrator". It's your choice. + +Historically, VOC was the [Vereenigde Oostindische Compagnie +(VOC)](https://en.wikipedia.org/wiki/Dutch_East_India_Company), or Dutch +East India Company, often considered the be the world's first +multinational corporation. It was also the first company to issue +shares, and facilitate the trading of those shares. It was granted a 21 +year monopoly to carry out trade activities in Asia, primarily the Spice +Islands - the Dutch East Indies. They established a major trading port +at Batavia - now Jakarta - on the island of Java (now part of +Indonesia). + +While VOC was a very profitable business for it's shareholders, it +operated as a colonial power. Modern historians have [expressed +criticism of their business +practices](https://en.wikipedia.org/wiki/Dutch_East_India_Company#Criticism), +which included exploitation of indigenous populations (including use of +slave labour), slave trade, use of violence, and environmental +destruction (including deforestation). + +VOC also played a role in the European discovery of Australia, and there +are many VOC shipwrecks on the coast of Western Australia. + +The name VOC was chosen by the project because the project founder is +from Western Australia, and VOC has a strong non-colonial presence in +that state's history. It was also a convenient pun, as VOC was an +enterprise Java company. + +It should not be considered an endorsement or glorification of the +exploitative business practices of the company. + +--- +rtfd_name: voc +--- +showcase: no +--- +github_repo: beeware/voc diff --git a/content/docs/attic/voc/voc.png b/content/docs/attic/voc/voc.png new file mode 100644 index 0000000000..cd06ba9995 Binary files /dev/null and b/content/docs/attic/voc/voc.png differ diff --git a/content/docs/attic/waggle/contents.lr b/content/docs/attic/waggle/contents.lr new file mode 100644 index 0000000000..d623cc2149 --- /dev/null +++ b/content/docs/attic/waggle/contents.lr @@ -0,0 +1,43 @@ +name: Waggle +--- +project_type: tool +--- +maturity: beta +--- +languages: py +--- +platforms: independent +--- +short_description: + +Prepares and uploads Docker images for use by BeeKeeper. + +--- +description: + +Prepare and upload Docker images for use by BeeKeeper. + +--- +help_required: + + + +--- +pun: + +When a worker bee discovers a good source of nectar, it returns to the +hive and performs a [waggle +dance](https://en.wikipedia.org/wiki/Waggle_dance) - a series of moves +with a specific meaning that tells other bees where they can find the +nectar source. + +--- +incomplete: no +--- +rtfd_name: +--- +customlogo: yes +--- +image: waggle.png +--- +github_repo: pybee/waggle diff --git a/content/docs/attic/waggle/waggle.png b/content/docs/attic/waggle/waggle.png new file mode 100644 index 0000000000..c116ce947c Binary files /dev/null and b/content/docs/attic/waggle/waggle.png differ diff --git a/content/docs/briefcase/briefcase.png b/content/docs/briefcase/briefcase.png new file mode 100644 index 0000000000..2df21d6d7a Binary files /dev/null and b/content/docs/briefcase/briefcase.png differ diff --git a/content/docs/briefcase/contents.lr b/content/docs/briefcase/contents.lr new file mode 100644 index 0000000000..2b5bcd5458 --- /dev/null +++ b/content/docs/briefcase/contents.lr @@ -0,0 +1,64 @@ +_model: project +--- +name: Briefcase +--- +project_type: featured +--- +maturity: beta +--- +languages: py +--- +platforms: macOS, iOS, android, linux, win, browser +--- +short_description: + +Convert a Python project into a standalone native application. + +--- +description: + +Briefcase is a tool for converting a Python project into a standalone +native application. You can package projects for: + +- macOS (as a `.app` bundle, `DMG` archive or `PKG` installer) +- Windows (as a `.zip`, or an `MSI` installer) +- Linux (as a Flatpak, or a `.rpm`, `.deb`, or `.pkg.zip` system native + package) +- iPhone/iPad +- Android +- Web + +Support for Apple TV, watchOS, and Wear OS is planned. + +If you want to see Briefcase in action, try the [BeeWare +tutorial](https://beeware.readthedocs.io). That tutorial walks you +through the process of creating and packaging a new application with +Briefcase. + +--- +help_required: + +Briefcase is part of the BeeWare suite. + +If you experience problems with Briefcase, log them on +[GitHub](https://github.com/beeware/briefcase/issues). If you want to +contribute code, please [fork](https://github.com/beeware/briefcase) the +code and submit a [pull +request](https://github.com/beeware/briefcase/pulls). + +--- +rtfd_name: briefcase +--- +customlogo: yes +--- +showcase: yes +--- +image: briefcase.png +--- +github_repo: beeware/briefcase +--- +_slug: +--- +sort_key: 2 +--- +featured: yes diff --git a/content/docs/contents.lr b/content/docs/contents.lr new file mode 100644 index 0000000000..e29d1c2e6b --- /dev/null +++ b/content/docs/contents.lr @@ -0,0 +1,20 @@ +_model: page +--- +_template: docs.html +--- +title: Documentation +--- +summary: Welcome to the documentation for the BeeWare project! +--- +gutter: + +## On this page: +* [Featured tools](#featured-tools) +* [Showcased applications](#showcase) +* [Utilities](#utilities) +* [The BeeWare project](#project) +--- +body: + +--- +short_description: Welcome to the documentation for the BeeWare project! diff --git a/content/docs/toga/contents.lr b/content/docs/toga/contents.lr new file mode 100644 index 0000000000..f62dd5bd0a --- /dev/null +++ b/content/docs/toga/contents.lr @@ -0,0 +1,128 @@ +_model: project +--- +name: Toga +--- +maturity: beta +--- +languages: py +--- +platforms: browser, android, iOS, linux, win, macOS, terminal +--- +short_description: + +A Python native, OS native GUI toolkit. + +--- +description: + +Toga is BeeWare's Python native, OS native GUI toolkit. + +## Why Toga? + +Toga isnât the worldâs first widget toolkit - there are dozens of other +options. So why build a new one? + +## Native widgets - not themes + +Toga uses native system widgets, not themes. When you see a Toga app +running, it doesnât just look like a native app - it is a native app. +Applying an operating system-inspired theme over the top of a generic +widget set is an easy way for a developer to achieve a cross-platform +goal, but it leaves the end user with the mess. + +Itâs easy to spot apps that have been built using themed widget sets - +theyâre the ones that donât behave quite like any other app. Widgets +donât look quite right, or thereâs a menu bar on a window in an macOS +app. Themes can get quite close - but there are always telltale signs. + +On top of that, native widgets are always faster than a themed generic +widget. After all, youâre using native system capability that has been +tuned and optimized, not a drawing engine thatâs been layered on top of +a generic widget. They also inherit all of the native platform's +accessibility affordances, such as support for screen readers and +adaptive font sizes. + +## Abstract the broad concepts + +Itâs not enough to just look like a native app, though - you need to +*feel* like a native app as well. + +A âQuitâ option under a âFileâ menu makes sense if youâre writing a +Windows app - but itâs completely out of place if youâre on OS X - the +Quit option should be under the application menu. + +And besides - why did the developer have to code the location of a Quit +option anyway? Every app in the world has to have a quit option, so why +doesnât the widget toolkit provide a quit option pre-installed, out of +the box? + +Although Toga uses 100% native system widgets, that doesnât mean Toga is +just a wrapper around system widgets. Wherever possible, Toga attempts +to abstract the broader concepts underpinning the construction of GUI +apps, and build an API for that. So - every Toga app has the basic set +of menu options youâd expect of every app - Quit, About, and so on - all +in the places youâd expect to see them in a native app. + +When it comes to widgets, sometimes the abstraction is simple - after +all, a button is a button, no matter what platform youâre on. But other +widgets may not be exposed so literally. What the Toga API aims to +expose is a set of mechanisms for achieving UI goals, not a literal +widget set. + +## Python native + +Most widget toolkits start their life as a C or C++ layer, which is then +wrapped by other languages. As a result, you end up with APIs that taste +like C or C++. + +Toga has been designed from the ground up to be a Python native widget +toolkit. This means the API is able to exploit language level features +like generators and context managers in a way that a wrapper around a C +library wouldnât be able to (at least, not easily). + +Toga runs on Python 3. It does not run on Python 2. + +## pip install and nothing more + +Toga aims to be no more than a pip install away from use. It doesnât +require the compilation of C extensions. Thereâs no need to install a +binary support library. Thereâs no need to change system paths and +environment variables. Just install it, import it, and start writing (or +running) code. + +## Embrace mobile + +10 years ago, being a cross-platform widget toolkit meant being +available for Windows, OS X and Linux. These days, mobile computing is +much more important. But despite this, there arenât many good options +for Python programming on mobile platforms, and cross-platform mobile +coding is still elusive. Toga aims to correct this. + +--- +help_required: + + + +--- +incomplete: no +--- +pun: + +When in Rome, do as the Romans do. And what does a Roman wear? A Toga! + +--- +rtfd_name: toga +--- +customlogo: yes +--- +showcase: yes +--- +image: toga.png +--- +github_repo: beeware/toga +--- +project_type: featured +--- +sort_key: 1 +--- +featured: yes diff --git a/content/docs/toga/toga.png b/content/docs/toga/toga.png new file mode 100644 index 0000000000..3524138b8a Binary files /dev/null and b/content/docs/toga/toga.png differ diff --git a/content/docs/utilities/colosseum/colosseum.png b/content/docs/utilities/colosseum/colosseum.png new file mode 100644 index 0000000000..26c27854e2 Binary files /dev/null and b/content/docs/utilities/colosseum/colosseum.png differ diff --git a/content/docs/utilities/colosseum/contents.lr b/content/docs/utilities/colosseum/contents.lr new file mode 100644 index 0000000000..142d4bd0d0 --- /dev/null +++ b/content/docs/utilities/colosseum/contents.lr @@ -0,0 +1,83 @@ +name: Colosseum +--- +project_type: utility +--- +maturity: alpha +--- +languages: py +--- +platforms: independent +--- +short_description: + +A (partial) implementation of the CSS box and flexbox layout algorithm. + +--- +description: + +Colosseum is an independent implementation of the CSS layout algorithm. +This implementation is completely standalone - it isnât dependent on a +browser, and can be run over any box-like set of objects that need to be +laid out on a page (either physical or virtual). + +It takes a tree of content "nodes", such as a DOM from a HTML document, +and applies CSS styling instructions to layout those nodes as boxes on +the screen. In the case of [Toga](/docs/toga/), instead of laying out +<div> and <span> elements, you lay out Box and Button +objects. This allows you to specify incredibly complex, adaptive layouts +for Toga applications. + +But Colosseum as a project has many other possible uses. It could be +used anywhere that there is a need for describing layout outside a +browser context. For example, Colosseum could be the cornerstone of a +HTML to PDF renderer that doesn't require the involvement of a browser. +It could also be used as a test harness and reference implementation for +the CSS specification itself, providing a lightweight way to encode and +test proposed changes to the specification. + +The current implementation was originally based on the +[Yoga](https://github.com/facebook/yoga) project, open-sourced by +Facebook. + +For more information about Colosseum, check out this [blog +post](/news/buzz/project-spotlight-colosseum/) describing the project +and talking about it's roadmap. + +--- +help_required: + + + +--- +pun: + +The Colosseum, also known as the Flavian Amphitheater, is an ancient +Roman Amphitheater in the center of Rome. It is an astounding piece of +ancient architecture, noted for its three layers of arches, framed by +Doric, Ionic and Corinthian half-columns, with an attic decorated with +Corinthian pilasters. + +Much like Doric, Ionic and Corithian columns form the fundamental +architecture of the ancient Roman world, CSS is part of the fundamental +architecture of modern display computing. The regular repeating +structure of the Colosseumâs arches and columns mirror the regular +grid-based layout of many modern web and print designs. + +The Colosseum was also a massive undertaking for its time. Undertaking +to reproduce the entire CSS specification, with all its quirks and +eccentricities, is a similarly massive undertaking. + +But most importantly: **C**-olo-**SS**-eum. + +--- +incomplete: no +--- +rtfd_name: colosseum +--- +customlogo: no +--- +image: colosseum.png +--- +github_repo: beeware/colosseum +--- +sort_key: 2 diff --git a/content/docs/utilities/contents.lr b/content/docs/utilities/contents.lr new file mode 100644 index 0000000000..49750e1fe3 --- /dev/null +++ b/content/docs/utilities/contents.lr @@ -0,0 +1,23 @@ +_model: project-type +--- +title: Utilities +--- +short_description: Pieces used by other BeeWare tools +--- +category_type: utility +--- +important: yes +--- +project_page_description: Pieces used by other BeeWare tools that can be useful on their own, including: +--- +gutter: + +Sometimes a BeeWare library or application will require developing a +capability that might be useful outside the context of BeeWare itself. +Where possible, BeeWare tries to package those utilities as standalone +projects. + +--- +sort_key: 4 +--- +featured: yes diff --git a/content/docs/utilities/python-apple-support/contents.lr b/content/docs/utilities/python-apple-support/contents.lr new file mode 100644 index 0000000000..5f1280fea2 --- /dev/null +++ b/content/docs/utilities/python-apple-support/contents.lr @@ -0,0 +1,35 @@ +name: Python Apple Support +--- +languages: py, c +--- +maturity: beta +--- +platforms: macOS, iOS, tvOS, watchOS +--- +project_type: utility +--- +short_description: + +A meta-package for building a version of Python that can be embedded +into a macOS, iOS, tvOS or watchOS project. + +--- +incomplete: yes +--- +description: + +A meta-package for building a version of Python that can be embedded +into a macOS, iOS, tvOS or watchOS project. + +--- +customlogo: yes +--- +image: python-apple-support.png +--- +github_repo: beeware/Python-Apple-support +--- +important: yes +--- +sort_key: 1 +--- +featured: yes diff --git a/content/docs/utilities/python-apple-support/python-apple-support.png b/content/docs/utilities/python-apple-support/python-apple-support.png new file mode 100644 index 0000000000..aaa393ba5a Binary files /dev/null and b/content/docs/utilities/python-apple-support/python-apple-support.png differ diff --git a/content/docs/utilities/rubicon/contents.lr b/content/docs/utilities/rubicon/contents.lr new file mode 100644 index 0000000000..333cee7841 --- /dev/null +++ b/content/docs/utilities/rubicon/contents.lr @@ -0,0 +1,66 @@ +name: Rubicon Objective-C +--- +project_type: utility +--- +maturity: production +--- +languages: py, m +--- +platforms: macOS, iOS +--- +short_description: + +A library for bridging between Python and the Objective-C language +runtimes. + +--- +description: + +Rubicon Objective-C is a bridge between Objective-C and Python. It +enables you to: + +- Use Python to instantiate objects defined in Objective-C, +- Use Python to invoke methods on objects defined in Objective-C, and +- Subclass and extend Objective-C classes in Python. + +It also includes wrappers of the some key data types from the Foundation +framework (e.g., NSString). + +You can find [rubicon-objc](https://github.com/beeware/rubicon-objc) on +GitHub. + +--- +help_required: + + + +--- +pun: + +During the Roman republic, the river Rubicon marked the boundary between +the Roman province of Cisalpine Gaul to the north-east and Italy proper +(controlled by Rome) to the south. + +In 49BCE, Julius Caesar led a single legion, Legio XIII Gemina, south +over the Rubicon from Cisalpine Gaul to Italy to make his way to Rome. +In doing so, he (deliberately) broke the law on imperium and made an +armed conflict with the Roman Senate inevitable. According to Suetonius, +as he crossed the river, Caesar uttered the famous phrase Älea iacta est +("the die has been cast"). + +But if you're going to cross the Rubicon, you're going to need a bridge. + +--- +rtfd_name: rubicon-objc +--- +customlogo: yes +--- +image: rubicon.png +--- +github_repo: beeware/rubicon +--- +important: yes +--- +sort_key: 0 +--- +featured: yes diff --git a/content/docs/utilities/rubicon/rubicon.png b/content/docs/utilities/rubicon/rubicon.png new file mode 100644 index 0000000000..cb9b837b3f Binary files /dev/null and b/content/docs/utilities/rubicon/rubicon.png differ diff --git a/content/docs/utilities/travertino/contents.lr b/content/docs/utilities/travertino/contents.lr new file mode 100644 index 0000000000..5d7807f734 --- /dev/null +++ b/content/docs/utilities/travertino/contents.lr @@ -0,0 +1,51 @@ +name: Travertino +--- +project_type: utility +--- +maturity: beta +--- +languages: py +--- +platforms: independent +--- +short_description: + +A base library for building layout algorithms + +--- +description: + +Travertino is a library describing constants and a base box model that +can be used to define layout algorithms. + +It is used as a foundation for the Pack box model in +[Toga](/docs/toga), and for +[Colosseum](/docs/utilities/colosseum/). + +--- +help_required: + + + +--- +pun: + +Travertine (Travertino in Italian) is a type of limestone that has been +used as a building material for thousands of years. The name derives +from the Latin tiburtinus, meaning "of +Tibur" - Tibur being a town near Rome that was the historical source of +Travertine. + +Travertine is the building material that was used to build the +Colosseum. + +--- +incomplete: no +--- +customlogo: no +--- +image: travertino.png +--- +github_repo: beeware/toga/tree/main/travertino +--- +sort_key: 3 diff --git a/content/docs/utilities/travertino/travertino.png b/content/docs/utilities/travertino/travertino.png new file mode 100644 index 0000000000..26c27854e2 Binary files /dev/null and b/content/docs/utilities/travertino/travertino.png differ diff --git a/content/duvet/contents.lr b/content/duvet/contents.lr index 124d2ed2e7..832f5d359f 100644 --- a/content/duvet/contents.lr +++ b/content/duvet/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/applications/duvet/ +new_path: /docs/applications/duvet/ --- _discoverable: no diff --git a/content/galley/contents.lr b/content/galley/contents.lr index e7ec546e84..a4bfe972cc 100644 --- a/content/galley/contents.lr +++ b/content/galley/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/applications/galley/ +new_path: /docs/applications/galley/ --- _discoverable: no diff --git a/content/ouroboros/contents.lr b/content/ouroboros/contents.lr index fef6f8647c..ac124182dd 100644 --- a/content/ouroboros/contents.lr +++ b/content/ouroboros/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/ouroboros/ +new_path: /docs/attic/ouroboros/ --- _discoverable: no diff --git a/content/project/applications/bugjar/contents.lr b/content/project/applications/bugjar/contents.lr index de74606d29..bb068f9eab 100644 --- a/content/project/applications/bugjar/contents.lr +++ b/content/project/applications/bugjar/contents.lr @@ -1,51 +1,5 @@ -name: Bugjar +_model: redirect --- -project_type: application +new_path: /docs/applications/bugjar/ --- -maturity: experimental ---- -languages: py ---- -platforms: macOS ---- -short_description: - -A interactive graphical debugger for Python code. - ---- -description: - -Anyone who learned to code in the mid to late 80s probably spent some -time with a Borland compiler -- probably either Turbo Pascal or Turbo C. -One of the best features of the Turbo compilers was their IDE -- and in -particular, a really good visual debugger that would let you inspect -code while it was running. - -Then we all moved to Unix, and somehow forgot what a good debugger was. -GDB is perfectly functional, but isn't very intuitive. GDB gives you -perfect control over the execution of your code, but bad contextual -information to let you know what control you should be exercising. - -Then came Python. Python's execution model contains excellent debugging -hooks, and supplies PDB as a proof of concept. PDB is an interface that -shares many similarities with GDB -- text mode, fantastic control, but -very bad contextual information. - -So - enter `bugjar`. A graphical interface for debugging code. PDB, but -with the context to help you step through code in a meaningful way. - ---- -help_required: - - - ---- -rtfd_name: bugjar ---- -customlogo: yes ---- -image: bugjar.png ---- -github_repo: beeware/bugjar ---- -sort_key: 1 +_discoverable: no diff --git a/content/project/applications/contents.lr b/content/project/applications/contents.lr index b83e359697..125ba3fc52 100644 --- a/content/project/applications/contents.lr +++ b/content/project/applications/contents.lr @@ -1,21 +1,5 @@ -_model: project-type +_model: redirect --- -title: Applications +new_path: /docs/applications/ --- -short_description: Standalone end-user-projects ---- -category_type: application ---- -project_page_description: Standalone end-user-projects built using BeeWare tools, including: ---- -gutter: - -Applications are standalone end-user application. Although applications -are written in Python, this is an implementation detail - you shouldn't -ever be aware of this fact. Applications are installed and run the same -way as any other end-user application on your computer. - ---- -sort_key: 3 ---- -featured: yes +_discoverable: no diff --git a/content/project/applications/cricket/contents.lr b/content/project/applications/cricket/contents.lr index c3b2bf30de..0c0a26a8fb 100644 --- a/content/project/applications/cricket/contents.lr +++ b/content/project/applications/cricket/contents.lr @@ -1,56 +1,5 @@ -name: Cricket +_model: redirect --- -short_description: - -Test runner GUI that finds failures fast - +new_path: /docs/applications/cricket/ --- -description: - -Cricket is a graphical tool that helps projects with large test suites -**identify failures without waiting** for all your tests to finish. - -Normal unittest test runners dump all output to the console, and provide -very little detail while the suite is running. As a result: - -- You can't start looking at failures until the test suite has - completed running, -- It isn't a very accessible format for identifying patterns in test - failures, -- It can be hard (or cumbersome) to re-run any tests that have failed. - ---- -help_required: - -Needs to be ported to Toga - ---- -maturity: beta ---- -languages: py ---- -platforms: macOS, linux, win ---- -project_type: application ---- -pun: - -[Test Cricket](https://en.wikipedia.org/wiki/Test_cricket) is the most -prestigious version of the game of cricket. Games last for up to 5 -days... just like running some test suites. The usual approach for -making cricket watchable is a generous dose of beer; in programming, -[Balmer Peak](https://xkcd.com/323/) limits come into effect, so -something else is required... - ---- -rtfd_name: cricket ---- -customlogo: yes ---- -showcase: no ---- -image: cricket.png ---- -github_repo: beeware/cricket ---- -sort_key: 1 +_discoverable: no diff --git a/content/project/applications/duvet/contents.lr b/content/project/applications/duvet/contents.lr index 7fab7ce99e..832f5d359f 100644 --- a/content/project/applications/duvet/contents.lr +++ b/content/project/applications/duvet/contents.lr @@ -1,46 +1,5 @@ -name: Duvet +_model: redirect --- -project_type: application +new_path: /docs/applications/duvet/ --- -maturity: experimental ---- -languages: py ---- -platforms: independent ---- -short_description: - -Coverage visualization tool - ---- -description: - -Duvet is a GUI tool for visualizing code coverage results produced by -[coverage.py](https://coverage.readthedocs.io/). - ---- -help_required: - - - ---- -pun: - -Because a duvet doesn't just provide coverage - it keeps you warm and -cozy. - ---- -incomplete: yes ---- -rtfd_name: duvet ---- -customlogo: yes ---- -image: duvet.png ---- -github_repo: - -beeware/duvet - ---- -sort_key: 1 +_discoverable: no diff --git a/content/project/applications/galley/contents.lr b/content/project/applications/galley/contents.lr index 29e7c73054..a4bfe972cc 100644 --- a/content/project/applications/galley/contents.lr +++ b/content/project/applications/galley/contents.lr @@ -1,40 +1,5 @@ -name: Galley +_model: redirect --- -project_type: application +new_path: /docs/applications/galley/ --- -maturity: experimental ---- -languages: py ---- -platforms: independent ---- -short_description: - -A GUI tool for reviewing RST/Sphinx documentation - ---- -description: - -Galley is a GUI tool to assist in drafting documentation. - ---- -help_required: - - - ---- -pun: - -**galley** *n.* a printer's proof in the form of long single-column -strips, not in sheets or pages. - ---- -incomplete: yes ---- -customlogo: yes ---- -image: galley.png ---- -github_repo: beeware/galley ---- -sort_key: 1 +_discoverable: no diff --git a/content/project/applications/podium/contents.lr b/content/project/applications/podium/contents.lr index 7182e7b76f..aa958c2bc2 100644 --- a/content/project/applications/podium/contents.lr +++ b/content/project/applications/podium/contents.lr @@ -1,90 +1,5 @@ -name: Podium +_model: redirect --- -project_type: application +new_path: /docs/applications/podium/ --- -maturity: beta ---- -languages: py ---- -platforms: independent ---- -short_description: - -A markup-based slide presentation tool - ---- -description: - -Developers go to conferences. And when they do, they need slide decks. - -Unfortunately, while presentation tools like -[Keynote](https://en.wikipedia.org/wiki/Keynote_%28presentation_software%29) -and [PowerPoint](https://en.wikipedia.org/wiki/Microsoft_PowerPoint) are -great for business presentations, they aren't well suited to the needs -of developers. The mainstay of developer presentations -- code samples --- are generally painful to add to a Keynote presentation. - -These presentation tools also come from a WYSIWYG (What You See Is What -You Get) tradition. This can be powerful, because it makes it easy to -put anything you want onto a slide. But it can also be painful, because -you end up spending all your time pushing pixels into the right place, -instead of focussing on the content of your talk. And if you want to -make a style change, you may need to apply that change manually to every -slide. The lessons of separating content from markup can't be applied to -a WYSIWYG world. - -On top of all that, the document formats for Keynote and Powerpoint are -binary blobs -- they don't lend themselves to version control, -collaborative editing, and so on. - -The developer response to this has been to use HTML5. Recent years have -seen the development of a number of HTML-based presentation tools, like -prezi, [deck.js](http://imakewebthings.com/deck.js/), -[keydown](https://github.com/infews/keydown), and -[showoff](https://github.com/drnic/showoff). These tools exploit the -power of HTML5 to make full screen presentations. - -However, by using browser technology as the basis for these tools, they -miss one very important feature of WYSIWYG presentation tools: presenter -mode. - -One of the big features of Keynote and Powerpoint is that they aren't -just decks of slides -- they have presenter notes and timing tools, and -the display shown to the audience isn't the same as the display shown to -the presenter. - -Many of these tools also assume that you have a good WiFi connection, -and will be able to display your content live off the internet... which -if you've ever been to a developer conference, you'll know is a risky -proposition. - -Podium attempts to bridge the gap between these two poles. It is -comprised of: - -- A simple, text-based markup format, focussed on the needs of developer - presentations. -- A graphical presentation tool that has a presenter display independent - of the slide display. - ---- -help_required: - - - ---- -pun: - - - ---- -customlogo: yes ---- -image: podium.png ---- -github_repo: beeware/podium ---- -important: yes ---- -sort_key: 0 ---- -featured: yes +_discoverable: no diff --git a/content/project/attic/batavia/contents.lr b/content/project/attic/batavia/contents.lr index 3f7382cbf9..2aa1ee8447 100644 --- a/content/project/attic/batavia/contents.lr +++ b/content/project/attic/batavia/contents.lr @@ -1,70 +1,5 @@ -name: Batavia +_model: redirect --- -project_type: bridge +new_path: /docs/attic/batavia/ --- -maturity: alpha ---- -languages: py, js ---- -platforms: browser ---- -short_description: - -A Javascript implementation of the Python virtual machine - ---- -attic: yes ---- -description: - -Batavia is an implementation of the Python virtual machine, written in -Javascript. With Batavia, you can run Python bytecode in your browser. - -It honours Python 3.4.4+ syntax and conventions, and lets you reference -objects and classes defined natively in JavaScript. - ---- -help_required: - -So you want to contribute to an Open Source project? Batavia is a great -place to start. [Here are instructions on contributing to -Batavia.](http://batavia.readthedocs.io/en/latest/how-to/contribute-code.html) - ---- -pun: - -On 27 October, 1628, *Commandeur* Francisco Pelsaert took command of the -*Batavia*, and with 340 passengers and crew, set sail from Texel. - -Their destination? The Spice Islands - or more specifically, island of -Java in the Dutch East Indies (now part of Indonesia). - -**The Batavia was... a Java ship (da-dum đ„!).** - -Interestingly, during the voyage, Ariaen Jacobsz and *onderkoopman* -Jeronimus Cornelisz incited a mutiny, because they didn't want to go to -Java - they wanted to escape to start a new life somewhere else. As a -result of the mutiny, on 4 June 1629, the Batavia ran aground on Morning -Reef, part of the Houtman Abrolhos, about 450km North of Perth, Western -Australia, where this project was conceived. - -The [full story of the -Batavia](https://en.wikipedia.org/wiki/Batavia_%281628 ship%29) is known to most -Western Australian schoolchildren, and is a harrowing tale of intrigue, -savagery, and murder. *It serves as a reminder of what can happen when -you force people to go to Java* :-) - -The wreck of the Batavia was recovered in the 1970s, and now stands in -the [shipwrecks gallery of the Western Australian Maritime -Museum](http://museum.wa.gov.au/museums/shipwrecks). - ---- -rtfd_name: batavia ---- -customlogo: yes ---- -showcase: no ---- -image: batavia.png ---- -github_repo: beeware/batavia +_discoverable: no diff --git a/content/project/attic/beefore/contents.lr b/content/project/attic/beefore/contents.lr index b275560101..bae58552c3 100644 --- a/content/project/attic/beefore/contents.lr +++ b/content/project/attic/beefore/contents.lr @@ -1,71 +1,5 @@ -name: Beefore +_model: redirect --- -description: - -Although code exists to be compiled or executed by a computer, it's also -there to be read by humans. A computer doesn't care what code looks -like, as long as it's valid syntax. However, there's a lot you can do in -the formatting and styling of code to make that code even more readable -by humans. - -These are mostly simple things, like consistency in indentation, -spacing, and line length. Every language has it's own conventions; each -project will have it's own specialisations of those conventions. BeeWare -is no exception. - -Someone reviewing a patch still needs to check for correct logic, but -these simple style-check tasks are easy to check programatically. Many -text editors will (or have extensions that will) do this process for -you - the task is called *linting*. Beefore is a tool that allows you to -integrate these checks into your GitHub pre-merge procedure, in the same -way that can integrate continuous integration and test suite compliance -before merging. - -It isn't just limited to code style though. Any check that can be -objectively measured can be performed as part of the pre-merge -procedure. This could include: - -- Checking for a Developer Certificate of Origin, Contributor License - Agreement, or some other contribution licensing procedure. -- Evaluating code complexity -- Evaluating code coverage - -and many others. - -Beefore piggybacks on your the continuous integration process you -already use to run your test suite before merging commits (e.g., -Travis-CI). The Beefore tests are executed as a custom test run. - +new_path: /docs/attic/beefore/ --- -help_required: - -- Improving existing linters -- Integrating new linters and style checks (e.g., Java) - ---- -languages: py, js ---- -maturity: alpha ---- -platforms: independent ---- -project_type: tool ---- -pun: - -It checks for all the things you have to have right *before* you merge a -patch. - ---- -short_description: - -Performs pre-merge checks (such as code style) on a pull request. - ---- -customlogo: yes ---- -image: beefore.png ---- -github_repo: beeware/beefore ---- -attic: yes +_discoverable: no diff --git a/content/project/attic/beekeeper/contents.lr b/content/project/attic/beekeeper/contents.lr index 25d7a9dd09..91335b9c13 100644 --- a/content/project/attic/beekeeper/contents.lr +++ b/content/project/attic/beekeeper/contents.lr @@ -1,42 +1,5 @@ -name: BeeKeeper +_model: redirect --- -project_type: tool +new_path: /docs/attic/beekeeper/ --- -maturity: beta ---- -languages: py ---- -platforms: independent ---- -short_description: - -Build and CI tool - ---- -description: - -BeeKeeper is a tool for running Docker containers on demand, with GitHub -status reporting. As a side effect, this makes it very effective as an -automated code review tool, a CI system, an automated deployment system, -and many other things. - ---- -help_required: - - - ---- -pun: - -Someone has to look after the health and wellbeing of all the bees... - ---- -incomplete: no ---- -rtfd_name: pybee-beekeeper ---- -customlogo: yes ---- -image: beekeeper.png ---- -github_repo: beeware/beekeeper +_discoverable: no diff --git a/content/project/attic/cassowary/contents.lr b/content/project/attic/cassowary/contents.lr index 6dea7f6fb4..44a0854bb4 100644 --- a/content/project/attic/cassowary/contents.lr +++ b/content/project/attic/cassowary/contents.lr @@ -1,40 +1,5 @@ -name: Cassowary +_model: redirect --- -project_type: library +new_path: /docs/attic/cassowary/ --- -maturity: production ---- -languages: py ---- -platforms: independent ---- -short_description: - -A pure python implementation of the Cassowary constraint solving -algorithm. - ---- -description: - -A pure Python implementation of the [Cassowary constraint-solving -algorithm](http://constraints.cs.washington.edu/cassowary/). Cassowary -is the algorithm that forms the core of the OS X and iOS visual layout -mechanism. - -This project is no longer in use. It was originally developed for use in -Toga; however, Toga now uses CSS-based layout, implemented in -[Colosseum](/project/utilities/colosseum/). - ---- -help_required: - - - ---- -rtfd_name: cassowary ---- -attic: yes ---- -github_repo: pybee/cassowary ---- -image: cassowary.png +_discoverable: no diff --git a/content/project/attic/contents.lr b/content/project/attic/contents.lr index ad2160d76b..6eceb5d200 100644 --- a/content/project/attic/contents.lr +++ b/content/project/attic/contents.lr @@ -1,15 +1,5 @@ -_model: project-type +_model: redirect --- -title: Attic +new_path: /docs/attic/ --- -short_description: They can't all be zingers... ---- -project_page_description: They can't all be zingers... ---- -gutter: - -The attic is a collection of older and experimental projects that were -once part of the BeeWare suite, but are no longer being actively -maintained. If you are interested in taking over maintenance of an attic -project, please [get in touch](mailto:russell@beeware.org). - +_discoverable: no diff --git a/content/project/attic/cookiecutter-project/contents.lr b/content/project/attic/cookiecutter-project/contents.lr index 1740bec442..35c73c8a24 100644 --- a/content/project/attic/cookiecutter-project/contents.lr +++ b/content/project/attic/cookiecutter-project/contents.lr @@ -1,24 +1,5 @@ -name: cookiecutter-project +_model: redirect --- -languages: py +new_path: /docs/attic/cookiecutter-project/ --- -maturity: production ---- -platforms: independent ---- -project_type: tool ---- -short_description: - -A cookiecutter template for projects - ---- -description: - -This was a cookiecutter template for setting up new pybee projects. It -is no longer used. - ---- -attic: yes ---- -github_repo: pybee/cookiecutter-project +_discoverable: no diff --git a/content/project/attic/cookiecutter-website/contents.lr b/content/project/attic/cookiecutter-website/contents.lr index 3e657def56..5194fd06a7 100644 --- a/content/project/attic/cookiecutter-website/contents.lr +++ b/content/project/attic/cookiecutter-website/contents.lr @@ -1,22 +1,5 @@ -name: cookiecutter-website +_model: redirect --- -description: - -This was a cookiecutter template for setting up new Pybee.org project -websites. It is no longer used. - +new_path: /docs/attic/cookiecutter-website/ --- -languages: py ---- -maturity: production ---- -platforms: independent ---- -project_type: tool ---- -short_description: - -A cookiecutter template for websites - ---- -attic: yes +_discoverable: no diff --git a/content/project/attic/ouroboros/contents.lr b/content/project/attic/ouroboros/contents.lr index 9da9de47fa..ac124182dd 100644 --- a/content/project/attic/ouroboros/contents.lr +++ b/content/project/attic/ouroboros/contents.lr @@ -1,40 +1,5 @@ -name: Ouroboros +_model: redirect --- -project_type: library +new_path: /docs/attic/ouroboros/ --- -maturity: experimental ---- -languages: py ---- -platforms: independent ---- -short_description: - -A standalone, pure Python implementation of the Python Standard Library. -This allows Python default libraries to be used portably on any -implementation of the Python virtual machine---not requiring CPython. - ---- -description: - -A standalone, pure Python implementation of the Python Standard Library. - ---- -help_required: - -Expansion of unit testing. - ---- -pun: - -The ouroboros is an ancient symbol depicting a serpent eating its own -tail. Ouroboros (this library) is also similarly self-referential; it -implements Python in Python itself (the subset of Python on the Python -virtual machine). - ---- -image: ouroboros.png ---- -rtfd_name: pybee-ouroboros ---- -github_repo: beeware/ouroboros +_discoverable: no diff --git a/content/project/attic/python-android-support/contents.lr b/content/project/attic/python-android-support/contents.lr index 7f6ef61d63..b6779dcb55 100644 --- a/content/project/attic/python-android-support/contents.lr +++ b/content/project/attic/python-android-support/contents.lr @@ -1,28 +1,5 @@ -name: Python Android Support +_model: redirect --- -languages: py, java +new_path: /docs/attic/python-android-support/ --- -maturity: production ---- -platforms: android ---- -project_type: support ---- -description: - -This is a meta-package for building a version of Python (and supporting -libraries) that can be embedded into an Android project. - -It works by downloading, patching and building libraries in -Android-compatible format. - ---- -short_description: - -A meta-package for building a version of Python that can be embedded -into an Android project. - ---- -image: python-android-support.png ---- -github_repo: beeware/Python-Android-support +_discoverable: no diff --git a/content/project/attic/python-android-template/contents.lr b/content/project/attic/python-android-template/contents.lr index b5b0e800a4..b1d05307bd 100644 --- a/content/project/attic/python-android-template/contents.lr +++ b/content/project/attic/python-android-template/contents.lr @@ -1,46 +1,5 @@ -name: Python Android Template +_model: redirect --- -project_type: template +new_path: /docs/attic/python-android-template/ --- -maturity: alpha ---- -languages: java, py ---- -platforms: android ---- -short_description: - -A cookiecutter template for creating an Android project running Python -code. - ---- -description: - -A template for building Python apps that will run on Android devices, -such as phones and tablets. It uses -[cookiecutter](https://cookiecutter.readthedocs.io) which creates -projects from cookiecutters (project templates). The easiest way to use -this project is to not use it at all - at least, not directly. -[Briefcase](/project/briefcase) is a tool that uses this template, -rolling it out using data extracted from your setup.py - -The following Python versions are supported: - -- [Python - 3.4](https://github.com/beeware/Python-Android-template/tree/3.4) -- [Python - 3.5](https://github.com/beeware/Python-Android-template/tree/3.5) - ---- -help_required: - - - ---- -incomplete: yes ---- -customlogo: yes ---- -image: python-android-template.png ---- -github_repo: beeware/python-android-template +_discoverable: no diff --git a/content/project/attic/python-ios-support/contents.lr b/content/project/attic/python-ios-support/contents.lr index d12db9adc7..8ba3fe33c7 100644 --- a/content/project/attic/python-ios-support/contents.lr +++ b/content/project/attic/python-ios-support/contents.lr @@ -1,33 +1,5 @@ -name: Python iOS Support +_model: redirect --- -project_type: support +new_path: /docs/attic/python-ios-support/ --- -maturity: production ---- -languages: py, c ---- -platforms: iOS ---- -short_description: - -A meta-package for building a version of Python that can be embedded -into an iOS project. - ---- -description: - -A meta-package for building a version of Python that can be embedded -into an iOS project. - -This project has been superceded by [Python Apple -support](/project/utilities/python-apple-support) package. - ---- -help_required: - - - ---- -attic: yes ---- -github_repo: pybee/Python-iOS-support +_discoverable: no diff --git a/content/project/attic/python-ios-template/contents.lr b/content/project/attic/python-ios-template/contents.lr index 1a7b3dfc4e..f32b32efb4 100644 --- a/content/project/attic/python-ios-template/contents.lr +++ b/content/project/attic/python-ios-template/contents.lr @@ -1,33 +1,5 @@ -name: Python iOS Template +_model: redirect --- -project_type: template +new_path: /docs/attic/python-ios-template/ --- -maturity: beta ---- -languages: py, m ---- -platforms: iOS ---- -short_description: - -A template for building Python apps that will run on iOS devices. - ---- -description: - -A template for building Python apps that will run on iOS devices, such -as iPhones and iPads. - ---- -help_required: - - - ---- -incomplete: yes ---- -customlogo: yes ---- -image: python-ios-template.png ---- -github_repo: beeware/python-ios-template +_discoverable: no diff --git a/content/project/attic/python-linux-support/contents.lr b/content/project/attic/python-linux-support/contents.lr index 973229e332..23d5e3870c 100644 --- a/content/project/attic/python-linux-support/contents.lr +++ b/content/project/attic/python-linux-support/contents.lr @@ -1,29 +1,5 @@ -name: Python Linux Support +_model: redirect --- -languages: py, c +new_path: /docs/attic/python-linux-support/ --- -maturity: beta ---- -platforms: linux ---- -project_type: support ---- -short_description: - -A meta-package for building a version of Python that can be embedded -into a Linux project. - ---- -incomplete: no ---- -description: - -A meta-package for building a version of Python that can be embedded -into a Linux project. - ---- -customlogo: yes ---- -image: python-linux-support.png ---- -github_repo: beeware/Python-Linux-support +_discoverable: no diff --git a/content/project/attic/python-macos-template/contents.lr b/content/project/attic/python-macos-template/contents.lr index 09e803ce90..dc8eaf988f 100644 --- a/content/project/attic/python-macos-template/contents.lr +++ b/content/project/attic/python-macos-template/contents.lr @@ -1,30 +1,5 @@ -name: Python macOS Template +_model: redirect --- -project_type: template +new_path: /docs/attic/python-macos-template/ --- -maturity: beta ---- -languages: py, m ---- -platforms: macOS ---- -short_description: - -A template for building Python apps that will run on Apple macOS -devices. - ---- -description: - -A template for building Python apps that will run on Apple macOS -devices, such as MacBooks and iMacs. - ---- -help_required: - - - ---- -incomplete: yes ---- -github_repo: beeware/python-macos-template +_discoverable: no diff --git a/content/project/attic/python-osx-support/contents.lr b/content/project/attic/python-osx-support/contents.lr index 9375904550..c41c3eac35 100644 --- a/content/project/attic/python-osx-support/contents.lr +++ b/content/project/attic/python-osx-support/contents.lr @@ -1,33 +1,5 @@ -name: Python OSX Support +_model: redirect --- -project_type: support +new_path: /docs/attic/python-osx-support/ --- -maturity: production ---- -languages: py, c ---- -platforms: macOS ---- -short_description: - -A meta-package for building a version of Python that can be embedded -into an OS X project. - ---- -description: - -A meta-package for building a version of Python that can be embedded -into a macOS (neĂ© OS X) project. - -This project has been superceded by [Python Apple -support](/project/utilities/python-apple-support) package. - ---- -help_required: - - - ---- -attic: yes ---- -github_repo: pybee/Python-OSX-support +_discoverable: no diff --git a/content/project/attic/python-tvos-support/contents.lr b/content/project/attic/python-tvos-support/contents.lr index 1793fb8a2a..cf93d45517 100644 --- a/content/project/attic/python-tvos-support/contents.lr +++ b/content/project/attic/python-tvos-support/contents.lr @@ -1,31 +1,5 @@ -name: Python tvOS Support +_model: redirect --- -project_type: support +new_path: /docs/attic/python-tvos-support/ --- -maturity: alpha ---- -languages: py, c ---- -platforms: tvOS ---- -short_description: - -A meta-package for building a version of Python that can be embedded -into a tvOS project. - ---- -description: - -A meta-package for building a version of Python that can be embedded -into a tvOS project. - -This project has been superceded by [Python Apple -support](/project/utilities/python-apple-support) package. - ---- -help_required: - - - ---- -attic: yes +_discoverable: no diff --git a/content/project/attic/python-tvos-template/contents.lr b/content/project/attic/python-tvos-template/contents.lr index 98ec73c1f4..9366bf6a42 100644 --- a/content/project/attic/python-tvos-template/contents.lr +++ b/content/project/attic/python-tvos-template/contents.lr @@ -1,29 +1,5 @@ -name: Python tvOS Template +_model: redirect --- -project_type: template +new_path: /docs/attic/python-tvos-template/ --- -maturity: alpha ---- -languages: py, c ---- -platforms: tvOS ---- -short_description: - -A template for building Python apps that will run on Apple tvOS devices. - ---- -description: - -A template for building Python apps that will run on Apple tvOS devices, -such as the AppleTV. - ---- -help_required: - - - ---- -incomplete: yes ---- -github_repo: beeware/python-tvos-template +_discoverable: no diff --git a/content/project/attic/sealang/contents.lr b/content/project/attic/sealang/contents.lr index 19792081cb..b97f5ba215 100644 --- a/content/project/attic/sealang/contents.lr +++ b/content/project/attic/sealang/contents.lr @@ -1,74 +1,5 @@ -name: Sealang +_model: redirect --- -project_type: library +new_path: /docs/attic/sealang/ --- -maturity: alpha ---- -languages: py ---- -platforms: macOS, linux ---- -short_description: - -An extended set of Python bindings for libclang - ---- -description: - -Sealang is an improved set of Python bindings for `libclang`. - -The upstream maintainers of `libclang` have not been especially -responsive to patches that address issues like Python 3 compatibility, -and the significant omissions in the API (such as extracting literals -and operators). - -This package is a fork of the official Python bindings for `libclang`, -patched to correct these problems. - -## How it works - -Sealang is a bit of a nasty hack. `libclang` is a set of C bindings to a -C++ API; Python `ctypes` are then used to wrap the C API. However, while -the C++ API is quite rich, `libclang` is less so. - -Sealang bridges this gap by providing C wrappers around the C++ calls -that provide the useful functionality. This library of C functions is -wrapped up as a Python C module for delivery purposes - this C module -contains no exposed *Python* objects or methods, but because it's a -module, the underlying compiled -sealang.so file is easy to find. -ctypes are then used to expose the -sealang wrapper functions; - -Internally, Sealang reproduces some minor pieces of the `libclang` API; -these are methods (such as the string creation and manipulation methods) -that aren't exposed as symbols for third-party use. - -All this functionality is potentially a candidate to be passed upstream -to libclang. - -### Relationship to Clang - -This project aims to mirror what is currently available in the Python -bindings to `libclang`. The version number for this project is drawn -from the version and SVN revision of the official clang repository. - -Any changes made upstream to `libclang` will be mirrored here; any -changes made here will, where possible, be pushed upstream to -`libclang`. - -### Development status - -This project was an experiment developed to support -[Seasnake](/project/attic/seasnake). Since Seasnake has been abandoned, -so has this project. - ---- -help_required: - - - ---- -attic: yes ---- -image: sealang.png +_discoverable: no diff --git a/content/project/attic/seasnake/contents.lr b/content/project/attic/seasnake/contents.lr index 02a826d5f5..2cf89d2b55 100644 --- a/content/project/attic/seasnake/contents.lr +++ b/content/project/attic/seasnake/contents.lr @@ -1,43 +1,5 @@ -name: Seasnake +_model: redirect --- -project_type: bridge +new_path: /docs/attic/seasnake/ --- -maturity: alpha ---- -languages: py, cpp ---- -platforms: independent ---- -short_description: - -A tool to manage conversion of C++ code to Python. - ---- -description: - -Sometimes you will find a great algorithm, but find that the only -implementation of that algorithm is written in C or C++. In some cases -it might be possible to wrap that C/C++ code in a Python C module. -However, if a C module is not an option, you need to be able to convert -the C/C++ implementation into a Pure Python implementation. - -SeaSnake was written to automate the conversion of -[WebKit](https://webkit.org) sources into a version that could be used -by [Colosseum](https://github.com/beeware/colosseum). - -This project was an experiment; it has been abandoned. - ---- -help_required: - - - ---- -pun: - -Seasnake converts C (sea) to Python (snake). - ---- -attic: yes ---- -image: seasnake.png +_discoverable: no diff --git a/content/project/attic/trebuchet/contents.lr b/content/project/attic/trebuchet/contents.lr index 53efe33f06..78ba9c1f7c 100644 --- a/content/project/attic/trebuchet/contents.lr +++ b/content/project/attic/trebuchet/contents.lr @@ -1,20 +1,5 @@ -name: Trebuchet +_model: redirect --- -description: - -Trebuchet was earmarked as a tool to help deploy websites. It was never -developed. - +new_path: /docs/attic/trebuchet/ --- -maturity: experimental ---- -project_type: tool ---- -short_description: - -A tool to deploy websites - ---- -attic: yes ---- -image: trebuchet.png +_discoverable: no diff --git a/content/project/attic/voc/contents.lr b/content/project/attic/voc/contents.lr index 97d82c466f..0ab02f878e 100644 --- a/content/project/attic/voc/contents.lr +++ b/content/project/attic/voc/contents.lr @@ -1,88 +1,5 @@ -name: VOC +_model: redirect --- -project_type: bridge +new_path: /docs/attic/voc/ --- -maturity: alpha ---- -languages: java, py ---- -platforms: independent ---- -short_description: - -A transpiler that converts Python bytecode into Java bytecode. - ---- -attic: yes ---- -description: - -VOC serves two major functions: - -- Compiles Python 3.4+ source files into Java class files, enabling you - to run Python code on a JVM (including Android's VM). -- Provides an API to let you programmatically create Java class files. - -It isn't a *fully* compliant Python 3.4 implementation just yet - there -are some language features (like `nonlocal` and some builtin functions) -that still need to be implemented, and there is only a bare bones -standard library implementation. However, it is possible to convert -simple Python programs, and even write [simple Android -applications](https://github.com/eliasdorneles/tictactoe-voc). - -To take VOC for a spin, run through the [Getting -Started](https://voc.readthedocs.io/en/latest/index.html) guide, then -start with the [first -tutorial](https://voc.readthedocs.io/en/latest/tutorial/tutorial-0.html). - -If you'd like to contribute to VOC development, we have a [guide for -first time -contributors](https://voc.readthedocs.io/en/latest/how-to/contribute-code.html). - ---- -help_required: - -VOC has been archived. - ---- -pun: - -VOC is a backronym for "Vestigial Output Compiler". Or "Vexing Obtuse -Compiler". Or "Valuable Obscure Compiler". Or "Variegated Ocelot -Calibrator". It's your choice. - -Historically, VOC was the [Vereenigde Oostindische Compagnie -(VOC)](https://en.wikipedia.org/wiki/Dutch_East_India_Company), or Dutch -East India Company, often considered the be the world's first -multinational corporation. It was also the first company to issue -shares, and facilitate the trading of those shares. It was granted a 21 -year monopoly to carry out trade activities in Asia, primarily the Spice -Islands - the Dutch East Indies. They established a major trading port -at Batavia - now Jakarta - on the island of Java (now part of -Indonesia). - -While VOC was a very profitable business for it's shareholders, it -operated as a colonial power. Modern historians have [expressed -criticism of their business -practices](https://en.wikipedia.org/wiki/Dutch_East_India_Company#Criticism), -which included exploitation of indigenous populations (including use of -slave labour), slave trade, use of violence, and environmental -destruction (including deforestation). - -VOC also played a role in the European discovery of Australia, and there -are many VOC shipwrecks on the coast of Western Australia. - -The name VOC was chosen by the project because the project founder is -from Western Australia, and VOC has a strong non-colonial presence in -that state's history. It was also a convenient pun, as VOC was an -enterprise Java company. - -It should not be considered an endorsement or glorification of the -exploitative business practices of the company. - ---- -rtfd_name: voc ---- -showcase: no ---- -github_repo: beeware/voc +_discoverable: no diff --git a/content/project/attic/waggle/contents.lr b/content/project/attic/waggle/contents.lr index d623cc2149..7e0039c9ce 100644 --- a/content/project/attic/waggle/contents.lr +++ b/content/project/attic/waggle/contents.lr @@ -1,43 +1,5 @@ -name: Waggle +_model: redirect --- -project_type: tool +new_path: /docs/attic/waggle/ --- -maturity: beta ---- -languages: py ---- -platforms: independent ---- -short_description: - -Prepares and uploads Docker images for use by BeeKeeper. - ---- -description: - -Prepare and upload Docker images for use by BeeKeeper. - ---- -help_required: - - - ---- -pun: - -When a worker bee discovers a good source of nectar, it returns to the -hive and performs a [waggle -dance](https://en.wikipedia.org/wiki/Waggle_dance) - a series of moves -with a specific meaning that tells other bees where they can find the -nectar source. - ---- -incomplete: no ---- -rtfd_name: ---- -customlogo: yes ---- -image: waggle.png ---- -github_repo: pybee/waggle +_discoverable: no diff --git a/content/project/briefcase/contents.lr b/content/project/briefcase/contents.lr index 2b5bcd5458..fbfe9e72bc 100644 --- a/content/project/briefcase/contents.lr +++ b/content/project/briefcase/contents.lr @@ -1,64 +1,5 @@ -_model: project +_model: redirect --- -name: Briefcase +new_path: https://briefcase.beeware.org/ --- -project_type: featured ---- -maturity: beta ---- -languages: py ---- -platforms: macOS, iOS, android, linux, win, browser ---- -short_description: - -Convert a Python project into a standalone native application. - ---- -description: - -Briefcase is a tool for converting a Python project into a standalone -native application. You can package projects for: - -- macOS (as a `.app` bundle, `DMG` archive or `PKG` installer) -- Windows (as a `.zip`, or an `MSI` installer) -- Linux (as a Flatpak, or a `.rpm`, `.deb`, or `.pkg.zip` system native - package) -- iPhone/iPad -- Android -- Web - -Support for Apple TV, watchOS, and Wear OS is planned. - -If you want to see Briefcase in action, try the [BeeWare -tutorial](https://beeware.readthedocs.io). That tutorial walks you -through the process of creating and packaging a new application with -Briefcase. - ---- -help_required: - -Briefcase is part of the BeeWare suite. - -If you experience problems with Briefcase, log them on -[GitHub](https://github.com/beeware/briefcase/issues). If you want to -contribute code, please [fork](https://github.com/beeware/briefcase) the -code and submit a [pull -request](https://github.com/beeware/briefcase/pulls). - ---- -rtfd_name: briefcase ---- -customlogo: yes ---- -showcase: yes ---- -image: briefcase.png ---- -github_repo: beeware/briefcase ---- -_slug: ---- -sort_key: 2 ---- -featured: yes +_discoverable: no diff --git a/content/project/contents.lr b/content/project/contents.lr index 13bc724847..56a35a822b 100644 --- a/content/project/contents.lr +++ b/content/project/contents.lr @@ -1,26 +1,5 @@ -_model: page +_model: redirect --- -_template: projects.html +new_path: /docs/ --- -title: Projects ---- -summary: What is the BeeWare project? ---- -gutter: - -BeeWare isn't a single tool or library - it's a collection of projects -that can be used to help develop, debug, and launch Python software. -Each tool follows the Unix philosophy of doing one thing well. Each tool -can be used in isolation, or they can be chained together to provide a -rich set of programming tools. - -They can't all be zingers, though - there is also an [attic where we -keep projects we're no longer maintaining](/project/attic/). - ---- -body: - -## Featured projects - ---- -short_description: What makes up the BeeWare project? +_discoverable: no diff --git a/content/project/projects/applications/contents.lr b/content/project/projects/applications/contents.lr index ce0cb5778c..125ba3fc52 100644 --- a/content/project/projects/applications/contents.lr +++ b/content/project/projects/applications/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/applications/ +new_path: /docs/applications/ --- _discoverable: no diff --git a/content/project/projects/applications/podium/contents.lr b/content/project/projects/applications/podium/contents.lr index a0a2e5944a..aa958c2bc2 100644 --- a/content/project/projects/applications/podium/contents.lr +++ b/content/project/projects/applications/podium/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/applications/podium/ +new_path: /docs/applications/podium/ --- _discoverable: no diff --git a/content/project/projects/attic/batavia/contents.lr b/content/project/projects/attic/batavia/contents.lr index 8ef8c1ad80..2aa1ee8447 100644 --- a/content/project/projects/attic/batavia/contents.lr +++ b/content/project/projects/attic/batavia/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/batavia/ +new_path: /docs/attic/batavia/ --- _discoverable: no diff --git a/content/project/projects/attic/cassowary/contents.lr b/content/project/projects/attic/cassowary/contents.lr index 7e92f6fa88..44a0854bb4 100644 --- a/content/project/projects/attic/cassowary/contents.lr +++ b/content/project/projects/attic/cassowary/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/cassowary/ +new_path: /docs/attic/cassowary/ --- _discoverable: no diff --git a/content/project/projects/attic/contents.lr b/content/project/projects/attic/contents.lr index 3ab161ad9a..6eceb5d200 100644 --- a/content/project/projects/attic/contents.lr +++ b/content/project/projects/attic/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/ +new_path: /docs/attic/ --- _discoverable: no diff --git a/content/project/projects/attic/cookiecutter-project/contents.lr b/content/project/projects/attic/cookiecutter-project/contents.lr index 9b87eb6ce9..35c73c8a24 100644 --- a/content/project/projects/attic/cookiecutter-project/contents.lr +++ b/content/project/projects/attic/cookiecutter-project/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/cookiecutter-project/ +new_path: /docs/attic/cookiecutter-project/ --- _discoverable: no diff --git a/content/project/projects/attic/cookiecutter-website/contents.lr b/content/project/projects/attic/cookiecutter-website/contents.lr index a8d64232fd..5194fd06a7 100644 --- a/content/project/projects/attic/cookiecutter-website/contents.lr +++ b/content/project/projects/attic/cookiecutter-website/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/cookiecutter-website/ +new_path: /docs/attic/cookiecutter-website/ --- _discoverable: no diff --git a/content/project/projects/attic/python-ios-support/contents.lr b/content/project/projects/attic/python-ios-support/contents.lr index 4d50ebf2e7..8ba3fe33c7 100644 --- a/content/project/projects/attic/python-ios-support/contents.lr +++ b/content/project/projects/attic/python-ios-support/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/python-ios-support/ +new_path: /docs/attic/python-ios-support/ --- _discoverable: no diff --git a/content/project/projects/attic/python-osx-support/contents.lr b/content/project/projects/attic/python-osx-support/contents.lr index ea23a9ac7a..c41c3eac35 100644 --- a/content/project/projects/attic/python-osx-support/contents.lr +++ b/content/project/projects/attic/python-osx-support/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/python-osx-support/ +new_path: /docs/attic/python-osx-support/ --- _discoverable: no diff --git a/content/project/projects/attic/python-tvos-support/contents.lr b/content/project/projects/attic/python-tvos-support/contents.lr index 6b007bbce6..cf93d45517 100644 --- a/content/project/projects/attic/python-tvos-support/contents.lr +++ b/content/project/projects/attic/python-tvos-support/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/python-tvos-support/ +new_path: /docs/attic/python-tvos-support/ --- _discoverable: no diff --git a/content/project/projects/attic/sealang/contents.lr b/content/project/projects/attic/sealang/contents.lr index da28c4ae14..b97f5ba215 100644 --- a/content/project/projects/attic/sealang/contents.lr +++ b/content/project/projects/attic/sealang/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/sealang/ +new_path: /docs/attic/sealang/ --- _discoverable: no diff --git a/content/project/projects/attic/seasnake/contents.lr b/content/project/projects/attic/seasnake/contents.lr index 244e680ab6..2cf89d2b55 100644 --- a/content/project/projects/attic/seasnake/contents.lr +++ b/content/project/projects/attic/seasnake/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/seasnake/ +new_path: /docs/attic/seasnake/ --- _discoverable: no diff --git a/content/project/projects/attic/trebuchet/contents.lr b/content/project/projects/attic/trebuchet/contents.lr index 3c100647c8..78ba9c1f7c 100644 --- a/content/project/projects/attic/trebuchet/contents.lr +++ b/content/project/projects/attic/trebuchet/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/trebuchet/ +new_path: /docs/attic/trebuchet/ --- _discoverable: no diff --git a/content/project/projects/attic/voc/contents.lr b/content/project/projects/attic/voc/contents.lr index 940d86cf34..0ab02f878e 100644 --- a/content/project/projects/attic/voc/contents.lr +++ b/content/project/projects/attic/voc/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/voc/ +new_path: /docs/attic/voc/ --- _discoverable: no diff --git a/content/project/projects/attic/waggle/contents.lr b/content/project/projects/attic/waggle/contents.lr index b5bcd16519..7e0039c9ce 100644 --- a/content/project/projects/attic/waggle/contents.lr +++ b/content/project/projects/attic/waggle/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/waggle/ +new_path: /docs/attic/waggle/ --- _discoverable: no diff --git a/content/project/projects/bridges/contents.lr b/content/project/projects/bridges/contents.lr index 7b7adefb23..83dc411910 100644 --- a/content/project/projects/bridges/contents.lr +++ b/content/project/projects/bridges/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/utilities/ +new_path: /docs/utilities/ --- _discoverable: no diff --git a/content/project/projects/bridges/rubicon/contents.lr b/content/project/projects/bridges/rubicon/contents.lr index 47ff36f3ce..4ee0541fae 100644 --- a/content/project/projects/bridges/rubicon/contents.lr +++ b/content/project/projects/bridges/rubicon/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/utilities/rubicon/ +new_path: https://rubicon-objc.beeware.org/ --- _discoverable: no diff --git a/content/project/projects/contents.lr b/content/project/projects/contents.lr index 97f4d2f664..56a35a822b 100644 --- a/content/project/projects/contents.lr +++ b/content/project/projects/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/ +new_path: /docs/ --- _discoverable: no diff --git a/content/project/projects/libraries/colosseum/contents.lr b/content/project/projects/libraries/colosseum/contents.lr index 600f91238e..ea06cc04e5 100644 --- a/content/project/projects/libraries/colosseum/contents.lr +++ b/content/project/projects/libraries/colosseum/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/utilities/colosseum/ +new_path: /docs/utilities/colosseum/ --- _discoverable: no diff --git a/content/project/projects/libraries/contents.lr b/content/project/projects/libraries/contents.lr index 97f4d2f664..56a35a822b 100644 --- a/content/project/projects/libraries/contents.lr +++ b/content/project/projects/libraries/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/ +new_path: /docs/ --- _discoverable: no diff --git a/content/project/projects/libraries/ouroboros/contents.lr b/content/project/projects/libraries/ouroboros/contents.lr index fef6f8647c..ac124182dd 100644 --- a/content/project/projects/libraries/ouroboros/contents.lr +++ b/content/project/projects/libraries/ouroboros/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/ouroboros/ +new_path: /docs/attic/ouroboros/ --- _discoverable: no diff --git a/content/project/projects/libraries/toga/contents.lr b/content/project/projects/libraries/toga/contents.lr index f7634a0904..ca403a7a1c 100644 --- a/content/project/projects/libraries/toga/contents.lr +++ b/content/project/projects/libraries/toga/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/toga/ +new_path: https://toga.beeware.org/ --- _discoverable: no diff --git a/content/project/projects/libraries/travertino/contents.lr b/content/project/projects/libraries/travertino/contents.lr index b6a7c0a092..d2833ff946 100644 --- a/content/project/projects/libraries/travertino/contents.lr +++ b/content/project/projects/libraries/travertino/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/utilities/travertino/ +new_path: /docs/utilities/travertino/ --- _discoverable: no diff --git a/content/project/projects/support/contents.lr b/content/project/projects/support/contents.lr index 97f4d2f664..56a35a822b 100644 --- a/content/project/projects/support/contents.lr +++ b/content/project/projects/support/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/ +new_path: /docs/ --- _discoverable: no diff --git a/content/project/projects/support/python-android-support/contents.lr b/content/project/projects/support/python-android-support/contents.lr index ae8e8f80e5..b6779dcb55 100644 --- a/content/project/projects/support/python-android-support/contents.lr +++ b/content/project/projects/support/python-android-support/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/python-android-support/ +new_path: /docs/attic/python-android-support/ --- _discoverable: no diff --git a/content/project/projects/support/python-apple-support/contents.lr b/content/project/projects/support/python-apple-support/contents.lr index 28dfe48510..a20949550a 100644 --- a/content/project/projects/support/python-apple-support/contents.lr +++ b/content/project/projects/support/python-apple-support/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/utilities/python-apple-support/ +new_path: /docs/utilities/python-apple-support/ --- _discoverable: no diff --git a/content/project/projects/support/python-linux-support/contents.lr b/content/project/projects/support/python-linux-support/contents.lr index 5184e93e87..23d5e3870c 100644 --- a/content/project/projects/support/python-linux-support/contents.lr +++ b/content/project/projects/support/python-linux-support/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/python-linux-support/ +new_path: /docs/attic/python-linux-support/ --- _discoverable: no diff --git a/content/project/projects/templates/contents.lr b/content/project/projects/templates/contents.lr index 97f4d2f664..56a35a822b 100644 --- a/content/project/projects/templates/contents.lr +++ b/content/project/projects/templates/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/ +new_path: /docs/ --- _discoverable: no diff --git a/content/project/projects/templates/python-android-template/contents.lr b/content/project/projects/templates/python-android-template/contents.lr index aaa31e22c6..b1d05307bd 100644 --- a/content/project/projects/templates/python-android-template/contents.lr +++ b/content/project/projects/templates/python-android-template/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/python-android-template/ +new_path: /docs/attic/python-android-template/ --- _discoverable: no diff --git a/content/project/projects/templates/python-ios-template/contents.lr b/content/project/projects/templates/python-ios-template/contents.lr index b01dccda59..f32b32efb4 100644 --- a/content/project/projects/templates/python-ios-template/contents.lr +++ b/content/project/projects/templates/python-ios-template/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/python-ios-template/ +new_path: /docs/attic/python-ios-template/ --- _discoverable: no diff --git a/content/project/projects/templates/python-macos-template/contents.lr b/content/project/projects/templates/python-macos-template/contents.lr index 8212980e15..dc8eaf988f 100644 --- a/content/project/projects/templates/python-macos-template/contents.lr +++ b/content/project/projects/templates/python-macos-template/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/python-macos-template/ +new_path: /docs/attic/python-macos-template/ --- _discoverable: no diff --git a/content/project/projects/templates/python-tvos-template/contents.lr b/content/project/projects/templates/python-tvos-template/contents.lr index 1aa2e710d9..9366bf6a42 100644 --- a/content/project/projects/templates/python-tvos-template/contents.lr +++ b/content/project/projects/templates/python-tvos-template/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/python-tvos-template/ +new_path: /docs/attic/python-tvos-template/ --- _discoverable: no diff --git a/content/project/projects/tools/beefore/contents.lr b/content/project/projects/tools/beefore/contents.lr index 6bd4f4a6b3..bae58552c3 100644 --- a/content/project/projects/tools/beefore/contents.lr +++ b/content/project/projects/tools/beefore/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/beefore/ +new_path: /docs/attic/beefore/ --- _discoverable: no diff --git a/content/project/projects/tools/beekeeper/contents.lr b/content/project/projects/tools/beekeeper/contents.lr index 2a3c534b9f..91335b9c13 100644 --- a/content/project/projects/tools/beekeeper/contents.lr +++ b/content/project/projects/tools/beekeeper/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/beekeeper/ +new_path: /docs/attic/beekeeper/ --- _discoverable: no diff --git a/content/project/projects/tools/briefcase/contents.lr b/content/project/projects/tools/briefcase/contents.lr index 18a5ea6f7d..fbfe9e72bc 100644 --- a/content/project/projects/tools/briefcase/contents.lr +++ b/content/project/projects/tools/briefcase/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/briefcase/ +new_path: https://briefcase.beeware.org/ --- _discoverable: no diff --git a/content/project/projects/tools/bugjar/contents.lr b/content/project/projects/tools/bugjar/contents.lr index 2709e197b9..bb068f9eab 100644 --- a/content/project/projects/tools/bugjar/contents.lr +++ b/content/project/projects/tools/bugjar/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/applications/bugjar/ +new_path: /docs/applications/bugjar/ --- _discoverable: no diff --git a/content/project/projects/tools/contents.lr b/content/project/projects/tools/contents.lr index ce0cb5778c..125ba3fc52 100644 --- a/content/project/projects/tools/contents.lr +++ b/content/project/projects/tools/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/applications/ +new_path: /docs/applications/ --- _discoverable: no diff --git a/content/project/projects/tools/cricket/contents.lr b/content/project/projects/tools/cricket/contents.lr index 4c5026a0fd..0c0a26a8fb 100644 --- a/content/project/projects/tools/cricket/contents.lr +++ b/content/project/projects/tools/cricket/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/applications/cricket/ +new_path: /docs/applications/cricket/ --- _discoverable: no diff --git a/content/project/projects/tools/duvet/contents.lr b/content/project/projects/tools/duvet/contents.lr index 124d2ed2e7..832f5d359f 100644 --- a/content/project/projects/tools/duvet/contents.lr +++ b/content/project/projects/tools/duvet/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/applications/duvet/ +new_path: /docs/applications/duvet/ --- _discoverable: no diff --git a/content/project/projects/tools/galley/contents.lr b/content/project/projects/tools/galley/contents.lr index e7ec546e84..a4bfe972cc 100644 --- a/content/project/projects/tools/galley/contents.lr +++ b/content/project/projects/tools/galley/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/applications/galley/ +new_path: /docs/applications/galley/ --- _discoverable: no diff --git a/content/project/toga/contents.lr b/content/project/toga/contents.lr index f62dd5bd0a..ca403a7a1c 100644 --- a/content/project/toga/contents.lr +++ b/content/project/toga/contents.lr @@ -1,128 +1,5 @@ -_model: project +_model: redirect --- -name: Toga +new_path: https://toga.beeware.org/ --- -maturity: beta ---- -languages: py ---- -platforms: browser, android, iOS, linux, win, macOS, terminal ---- -short_description: - -A Python native, OS native GUI toolkit. - ---- -description: - -Toga is BeeWare's Python native, OS native GUI toolkit. - -## Why Toga? - -Toga isnât the worldâs first widget toolkit - there are dozens of other -options. So why build a new one? - -## Native widgets - not themes - -Toga uses native system widgets, not themes. When you see a Toga app -running, it doesnât just look like a native app - it is a native app. -Applying an operating system-inspired theme over the top of a generic -widget set is an easy way for a developer to achieve a cross-platform -goal, but it leaves the end user with the mess. - -Itâs easy to spot apps that have been built using themed widget sets - -theyâre the ones that donât behave quite like any other app. Widgets -donât look quite right, or thereâs a menu bar on a window in an macOS -app. Themes can get quite close - but there are always telltale signs. - -On top of that, native widgets are always faster than a themed generic -widget. After all, youâre using native system capability that has been -tuned and optimized, not a drawing engine thatâs been layered on top of -a generic widget. They also inherit all of the native platform's -accessibility affordances, such as support for screen readers and -adaptive font sizes. - -## Abstract the broad concepts - -Itâs not enough to just look like a native app, though - you need to -*feel* like a native app as well. - -A âQuitâ option under a âFileâ menu makes sense if youâre writing a -Windows app - but itâs completely out of place if youâre on OS X - the -Quit option should be under the application menu. - -And besides - why did the developer have to code the location of a Quit -option anyway? Every app in the world has to have a quit option, so why -doesnât the widget toolkit provide a quit option pre-installed, out of -the box? - -Although Toga uses 100% native system widgets, that doesnât mean Toga is -just a wrapper around system widgets. Wherever possible, Toga attempts -to abstract the broader concepts underpinning the construction of GUI -apps, and build an API for that. So - every Toga app has the basic set -of menu options youâd expect of every app - Quit, About, and so on - all -in the places youâd expect to see them in a native app. - -When it comes to widgets, sometimes the abstraction is simple - after -all, a button is a button, no matter what platform youâre on. But other -widgets may not be exposed so literally. What the Toga API aims to -expose is a set of mechanisms for achieving UI goals, not a literal -widget set. - -## Python native - -Most widget toolkits start their life as a C or C++ layer, which is then -wrapped by other languages. As a result, you end up with APIs that taste -like C or C++. - -Toga has been designed from the ground up to be a Python native widget -toolkit. This means the API is able to exploit language level features -like generators and context managers in a way that a wrapper around a C -library wouldnât be able to (at least, not easily). - -Toga runs on Python 3. It does not run on Python 2. - -## pip install and nothing more - -Toga aims to be no more than a pip install away from use. It doesnât -require the compilation of C extensions. Thereâs no need to install a -binary support library. Thereâs no need to change system paths and -environment variables. Just install it, import it, and start writing (or -running) code. - -## Embrace mobile - -10 years ago, being a cross-platform widget toolkit meant being -available for Windows, OS X and Linux. These days, mobile computing is -much more important. But despite this, there arenât many good options -for Python programming on mobile platforms, and cross-platform mobile -coding is still elusive. Toga aims to correct this. - ---- -help_required: - - - ---- -incomplete: no ---- -pun: - -When in Rome, do as the Romans do. And what does a Roman wear? A Toga! - ---- -rtfd_name: toga ---- -customlogo: yes ---- -showcase: yes ---- -image: toga.png ---- -github_repo: beeware/toga ---- -project_type: featured ---- -sort_key: 1 ---- -featured: yes +_discoverable: no diff --git a/content/project/utilities/colosseum/contents.lr b/content/project/utilities/colosseum/contents.lr index e618cd727e..ea06cc04e5 100644 --- a/content/project/utilities/colosseum/contents.lr +++ b/content/project/utilities/colosseum/contents.lr @@ -1,83 +1,5 @@ -name: Colosseum +_model: redirect --- -project_type: utility +new_path: /docs/utilities/colosseum/ --- -maturity: alpha ---- -languages: py ---- -platforms: independent ---- -short_description: - -A (partial) implementation of the CSS box and flexbox layout algorithm. - ---- -description: - -Colosseum is an independent implementation of the CSS layout algorithm. -This implementation is completely standalone - it isnât dependent on a -browser, and can be run over any box-like set of objects that need to be -laid out on a page (either physical or virtual). - -It takes a tree of content "nodes", such as a DOM from a HTML document, -and applies CSS styling instructions to layout those nodes as boxes on -the screen. In the case of [Toga](/project/toga/), instead of laying out -<div> and <span> elements, you lay out Box and Button -objects. This allows you to specify incredibly complex, adaptive layouts -for Toga applications. - -But Colosseum as a project has many other possible uses. It could be -used anywhere that there is a need for describing layout outside a -browser context. For example, Colosseum could be the cornerstone of a -HTML to PDF renderer that doesn't require the involvement of a browser. -It could also be used as a test harness and reference implementation for -the CSS specification itself, providing a lightweight way to encode and -test proposed changes to the specification. - -The current implementation was originally based on the -[Yoga](https://github.com/facebook/yoga) project, open-sourced by -Facebook. - -For more information about Colosseum, check out this [blog -post](/news/buzz/project-spotlight-colosseum/) describing the project -and talking about it's roadmap. - ---- -help_required: - - - ---- -pun: - -The Colosseum, also known as the Flavian Amphitheater, is an ancient -Roman Amphitheater in the center of Rome. It is an astounding piece of -ancient architecture, noted for its three layers of arches, framed by -Doric, Ionic and Corinthian half-columns, with an attic decorated with -Corinthian pilasters. - -Much like Doric, Ionic and Corithian columns form the fundamental -architecture of the ancient Roman world, CSS is part of the fundamental -architecture of modern display computing. The regular repeating -structure of the Colosseumâs arches and columns mirror the regular -grid-based layout of many modern web and print designs. - -The Colosseum was also a massive undertaking for its time. Undertaking -to reproduce the entire CSS specification, with all its quirks and -eccentricities, is a similarly massive undertaking. - -But most importantly: **C**-olo-**SS**-eum. - ---- -incomplete: no ---- -rtfd_name: colosseum ---- -customlogo: no ---- -image: colosseum.png ---- -github_repo: beeware/colosseum ---- -sort_key: 2 +_discoverable: no diff --git a/content/project/utilities/contents.lr b/content/project/utilities/contents.lr index 49750e1fe3..83dc411910 100644 --- a/content/project/utilities/contents.lr +++ b/content/project/utilities/contents.lr @@ -1,23 +1,5 @@ -_model: project-type +_model: redirect --- -title: Utilities +new_path: /docs/utilities/ --- -short_description: Pieces used by other BeeWare tools ---- -category_type: utility ---- -important: yes ---- -project_page_description: Pieces used by other BeeWare tools that can be useful on their own, including: ---- -gutter: - -Sometimes a BeeWare library or application will require developing a -capability that might be useful outside the context of BeeWare itself. -Where possible, BeeWare tries to package those utilities as standalone -projects. - ---- -sort_key: 4 ---- -featured: yes +_discoverable: no diff --git a/content/project/utilities/python-apple-support/contents.lr b/content/project/utilities/python-apple-support/contents.lr index 5f1280fea2..a20949550a 100644 --- a/content/project/utilities/python-apple-support/contents.lr +++ b/content/project/utilities/python-apple-support/contents.lr @@ -1,35 +1,5 @@ -name: Python Apple Support +_model: redirect --- -languages: py, c +new_path: /docs/utilities/python-apple-support/ --- -maturity: beta ---- -platforms: macOS, iOS, tvOS, watchOS ---- -project_type: utility ---- -short_description: - -A meta-package for building a version of Python that can be embedded -into a macOS, iOS, tvOS or watchOS project. - ---- -incomplete: yes ---- -description: - -A meta-package for building a version of Python that can be embedded -into a macOS, iOS, tvOS or watchOS project. - ---- -customlogo: yes ---- -image: python-apple-support.png ---- -github_repo: beeware/Python-Apple-support ---- -important: yes ---- -sort_key: 1 ---- -featured: yes +_discoverable: no diff --git a/content/project/utilities/rubicon/contents.lr b/content/project/utilities/rubicon/contents.lr index 333cee7841..4ee0541fae 100644 --- a/content/project/utilities/rubicon/contents.lr +++ b/content/project/utilities/rubicon/contents.lr @@ -1,66 +1,5 @@ -name: Rubicon Objective-C +_model: redirect --- -project_type: utility +new_path: https://rubicon-objc.beeware.org/ --- -maturity: production ---- -languages: py, m ---- -platforms: macOS, iOS ---- -short_description: - -A library for bridging between Python and the Objective-C language -runtimes. - ---- -description: - -Rubicon Objective-C is a bridge between Objective-C and Python. It -enables you to: - -- Use Python to instantiate objects defined in Objective-C, -- Use Python to invoke methods on objects defined in Objective-C, and -- Subclass and extend Objective-C classes in Python. - -It also includes wrappers of the some key data types from the Foundation -framework (e.g., NSString). - -You can find [rubicon-objc](https://github.com/beeware/rubicon-objc) on -GitHub. - ---- -help_required: - - - ---- -pun: - -During the Roman republic, the river Rubicon marked the boundary between -the Roman province of Cisalpine Gaul to the north-east and Italy proper -(controlled by Rome) to the south. - -In 49BCE, Julius Caesar led a single legion, Legio XIII Gemina, south -over the Rubicon from Cisalpine Gaul to Italy to make his way to Rome. -In doing so, he (deliberately) broke the law on imperium and made an -armed conflict with the Roman Senate inevitable. According to Suetonius, -as he crossed the river, Caesar uttered the famous phrase Älea iacta est -("the die has been cast"). - -But if you're going to cross the Rubicon, you're going to need a bridge. - ---- -rtfd_name: rubicon-objc ---- -customlogo: yes ---- -image: rubicon.png ---- -github_repo: beeware/rubicon ---- -important: yes ---- -sort_key: 0 ---- -featured: yes +_discoverable: no diff --git a/content/project/utilities/travertino/contents.lr b/content/project/utilities/travertino/contents.lr index 50f0c7c3dc..d2833ff946 100644 --- a/content/project/utilities/travertino/contents.lr +++ b/content/project/utilities/travertino/contents.lr @@ -1,51 +1,5 @@ -name: Travertino +_model: redirect --- -project_type: utility +new_path: /docs/utilities/travertino/ --- -maturity: beta ---- -languages: py ---- -platforms: independent ---- -short_description: - -A base library for building layout algorithms - ---- -description: - -Travertino is a library describing constants and a base box model that -can be used to define layout algorithms. - -It is used as a foundation for the Pack box model in -[Toga](/project/toga), and for -[Colosseum](/project/utilities/colosseum/). - ---- -help_required: - - - ---- -pun: - -Travertine (Travertino in Italian) is a type of limestone that has been -used as a building material for thousands of years. The name derives -from the Latin tiburtinus, meaning "of -Tibur" - Tibur being a town near Rome that was the historical source of -Travertine. - -Travertine is the building material that was used to build the -Colosseum. - ---- -incomplete: no ---- -customlogo: no ---- -image: travertino.png ---- -github_repo: beeware/toga/tree/main/travertino ---- -sort_key: 3 +_discoverable: no diff --git a/content/rubicon/contents.lr b/content/rubicon/contents.lr index 47ff36f3ce..4ee0541fae 100644 --- a/content/rubicon/contents.lr +++ b/content/rubicon/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/utilities/rubicon/ +new_path: https://rubicon-objc.beeware.org/ --- _discoverable: no diff --git a/content/toga/contents.lr b/content/toga/contents.lr index f7634a0904..16b741aaeb 100644 --- a/content/toga/contents.lr +++ b/content/toga/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/toga/ +new_path: /docs/toga/ --- _discoverable: no diff --git a/content/voc/contents.lr b/content/voc/contents.lr index 940d86cf34..0ab02f878e 100644 --- a/content/voc/contents.lr +++ b/content/voc/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/voc/ +new_path: /docs/attic/voc/ --- _discoverable: no diff --git a/content/waggle/contents.lr b/content/waggle/contents.lr index b5bcd16519..7e0039c9ce 100644 --- a/content/waggle/contents.lr +++ b/content/waggle/contents.lr @@ -1,5 +1,5 @@ _model: redirect --- -new_path: /project/attic/waggle/ +new_path: /docs/attic/waggle/ --- _discoverable: no diff --git a/databags/menu.ini b/databags/menu.ini index d2d90c212f..1c25238e11 100644 --- a/databags/menu.ini +++ b/databags/menu.ini @@ -1,6 +1,6 @@ [en] about = About -project = Projects +docs = Documentation community = Community contributing = Contributing news = News @@ -8,7 +8,7 @@ donate = Donate [ar] about = ŰÙÙ -project = ۧÙÙ ŰŽŰ§Ű±ÙŰč +docs = ۧÙŰȘÙŰ«ÙÙ community = ۧÙÙ ŰŹŰȘÙ Űč contributing = ۧÙÙ ŰłŰ§ÙÙ Ű© news = ۧÙۣ۟ۚۧ۱ @@ -16,7 +16,7 @@ donate = ۧÙŰȘۚ۱ÙŰč [pt] about = Sobre -project = Projetos +docs = Documentação community = Comunidade contributing = Contribuir news = NotĂcias @@ -24,7 +24,7 @@ donate = Doar [de] about = Ăber -project = Projekte +docs = Dokumentation community = Community contributing = Mithelfen news = Neuigkeiten @@ -32,7 +32,7 @@ donate = Spenden [es] about = Acerca -project = Proyectos +docs = DocumentaciĂłn community = Comunidad contributing = Contribuir news = Noticias @@ -40,7 +40,7 @@ donate = Donar [da] about = Om -project = Projekter +docs = Dokumentation community = FĂŠllesskab contributing = Bidrager news = Nyheder @@ -48,7 +48,7 @@ donate = Donere [ko] about = ì 볎 -project = íëĄì íž +docs = ì ì ìë„ ëčìč community = ì»€ëź€ëí° contributing = êž°ìŹíêž° news = ëŽì€ @@ -56,7 +56,7 @@ donate = êž°ë¶íêž° [cs] about = O -project = Projekty +docs = Dokumentace community = Komunita contributing = PĆispĂvĂĄnĂ news = Novinky @@ -64,7 +64,7 @@ donate = PĆispÄt [fr] about = Ă Propos -project = Projets +docs = Documentation community = CommunautĂ© contributing = Contribuer news = Nouvelles @@ -72,7 +72,7 @@ donate = Donation [tr] about = Hakkında -project = Projeler +docs = Belgeleme community = Topluluk contributing = Katkı news = Haberler @@ -80,7 +80,7 @@ donate = BaÄıà [it] about = Circa -project = Progetti +docs = Documentazione community = Community contributing = Contribuire news = Notizie @@ -88,7 +88,7 @@ donate = Donare [pl] about = O -project = Projekty +docs = Dokumentacja community = SpoĆecznoĆÄ contributing = Rozwijanie news = NowoĆci @@ -96,7 +96,7 @@ donate = Datki [zh_CN] about = ć łäș -project = éĄčçź +docs = ææĄŁ community = 瀟ćș contributing = èŽĄçź news = æ°é» @@ -104,7 +104,7 @@ donate = æè” [zh_TW] about = éæŒ -project = ć°æĄ +docs = æä»¶ community = 瀟矀 contributing = èČąç» news = æ°è diff --git a/templates/blocks/button-block.html b/templates/blocks/button-block.html index f3e4a485c1..f59ffb1974 100644 --- a/templates/blocks/button-block.html +++ b/templates/blocks/button-block.html @@ -1 +1 @@ -{% if this.icon %} {% endif %}{{ this.label }} +{% if this.icon %} {% endif %}{{ this.label }} diff --git a/templates/docs.html b/templates/docs.html new file mode 100644 index 0000000000..42f67bf26a --- /dev/null +++ b/templates/docs.html @@ -0,0 +1,133 @@ +{% extends "page.html" %} +{% from "macros/breadcrumbs.html" import breadcrumbs with context %} + +{% block title %}{{ this.title }}{% endblock %} +{% block preamble %} +
+{% endblock %} +{% block main %} +
+
+
+
+ + BeeWare is more than a suite of tools for building amazing apps. It's also an + amazing Open Source community! +
++ Everyone participating in the BeeWare community, in any way, is required to + adhere to the guidelines in the BeeWare + Community Code of Conduct.. +
++ Learn more about the history and goals of the + BeeWare project. +
++ Need help using BeeWare? We've got lots of community resources that + might help. If you need to ask a more specific question, here's how you can find someone that + might be able to help. We can also help you find commercial support. +
++ Want to contribute to BeeWare? See our contribution guide. If you've never + contributed to Open Source before, start with our guide for first time + contributors. +
++ Or, if you just want to support the project financially, you can become a financial member of the project. +
++ Follow us on Mastodon + @beeware@fosstodon.org, + or sign up for our mailing + list for regular project updates. +
+