Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update the BeeWare website - WIP #578

Open
wants to merge 12 commits into
base: lektor
Choose a base branch
from
46 changes: 45 additions & 1 deletion assets/static/beeware.css
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@
}

.navbar-collapse {
background: #000;
background-color: #343a40;
padding-top: 0.75em;
}

Expand Down Expand Up @@ -353,6 +353,22 @@ blockquote {
position: relative;
}

ul.dark-menu {
background-color: #343a40 !important;
padding: 7px 12px 2px 12px !important;
min-width: max-content;
border-radius: 10px;
border: 2px solid #777777;
}

ul.dark-menu .nav-link {
padding: 0 !important;
}

ul.dark-menu .nav-item {
padding: 5px 0 5px 0 !important;
}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The language selection is already a pulldown, with a style; why do we need a separate style here? (or, if the issue is dark mode vs light mode - why isn't the fix making the language pulldown style dark?)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assumed there was a reason for the background color of the language puilldown, and didn't want to change it. Fixing the language pulldown is a much better solution.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The language dropdown has been updated to match the rest of the theme.

/*----------------------------------------------------
Homepage styles
--------------------------------------------------- */
Expand All @@ -369,6 +385,33 @@ blockquote {
margin: 2rem 0;
}

/*----------------------------------------------------
Project Showcase and Important Category Styles
--------------------------------------------------- */
.showcase {
margin: 2vh;
font-size: larger;
}

.important-category {
margin: 2vh;
padding-bottom: 1rem;
}

.important-title {
text-decoration-line: underline;
text-underline-offset: 10px;
text-decoration-thickness: 2px;
text-decoration-color: #CCCCCC;
}

.important-description {
margin-bottom: 1.2rem;
}

.important-projects {
padding-left: 1rem;
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not wild about the use of background colours here - it feels really busy, and the box layout doesn't seem to scale well to phone-sized layouts. I wonder if it might be better to stick to a single column with icons on the side, but with bigger icons for the "featured" apps.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I updated the page to match this concept. I'll be pushing that update shortly.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For what it's worth, the background colors were solely for me to differentiate the divs so I knew where everything ended up. They were not necessarily destined for the final product.


/*----------------------------------------------------
Sticky footer styles
Expand Down Expand Up @@ -479,6 +522,7 @@ body {

.project img {
margin-bottom: 2rem;
float: left;
}

/*----------------------------------------------------
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
27 changes: 27 additions & 0 deletions content/about/contents.lr
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
_model: page
---
title: About BeeWare
---
summary: The history and philosophy of the BeeWare Project
---
sort_key: 5
---
body:


BeeWare: The IDEs of Python
===========================

This is BeeWare. We're incredibly excited about what the future holds for Python. We hope you'll join us on this journey.


---
gutter:

Meet Brutus
===========
.. image:: /static/images/brutus-128.png

Brutus the Bee is the mascot of the BeeWare project. He's a busy little worker bee.

Fun fact: a person who keeps bees is called an **apiarist** - a name that the BeeWare project uses to describe the core team. This also reflects the relationship that the core team wishes to have with the community - we're shepherds of the community, and we'll provide direction, but we know the real work is done by the community as a whole.
73 changes: 73 additions & 0 deletions content/about/goal/contents.lr
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
_model: page
---
title: Goals
---
summary: The goals of the BeeWare Project
---
sort_key: 5
---
body:


The goal
========

The end goal of the BeeWare project: To be able to do for mobile and desktop user-facing software the same thing that Django has done for web software - to put into the hands of users a set of tools and libraries that enables them to develop rich, native user interfaces, and deploy them to their devices. This includes:

* Tools to enable Python to run on different devices,
* Tools to package a Python project so it can run on those devices,
* Libraries to access the native widgets and capabilities of devices,
* Tools to help develop, debug, analyze and these projects.

This aim is that this set of tools will be easy enough to use for complete newcomers to use in a Django Girls-like setting; but powerful enough that they could be used to drive the next Instagram, Pinterest or Disqus.

Most importantly, it aims to do all this as an Open Source community. The Open Source development process has proven itself to be the most reliable way to develop robust and reliable software, and the fact that anyone can access the software means that everyone can start with the same set of excellent tools, be they expert or enthusiastic amateur.

Python everywhere
~~~~~~~~~~~~~~~~~

A modern computing project can't ignore the biggest development in computing of the last 10 years. Python prides itself on being a cross-platform language. 10 years ago, being cross-platform meant being available for Windows, macOS and Linux. These days, mobile computing is much more important. Despite this, there aren't many good options for Python programming on mobile platforms, and cross-platform mobile coding is still elusive.

BeeWare embraces mobile and other emerging platforms (like watches and set-top-boxes) as a first class citizen of the computing ecosystem - because if people have these devices, why shouldn't they be able to write software for them in Python.

Native everywhere
~~~~~~~~~~~~~~~~~~

It's easy to use themes to achieve cross-platform. However, it's easy to spot apps that have been built using themes - 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 OS X 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.

Themes also miss many of the accessibility benefits of native platforms. Modern OS authors spend a lot of time tuning affordances for people with impaired mobility, vision or cognition. If you use native widgets, you usually get these affordances for free. If you reimplement widgets with a theme, you also have to re-implement the affordances.

BeeWare uses native widgets and native functionality, rather than using a theme-based approach to application development.

Python native
~~~~~~~~~~~~~

BeeWare is also an unapologetically "Python first" framework. We like Python. We like the way it looks, and the way it works. If Python isn't available as a first-class option on a particular platform, we'll do whatever is necessary to make Python available as a development language. And when we have the opportunity to embrace Python idiom for an API or a design, we're going to do just that. That means we're going to use generators, context managers, `yield from` asynchronous calls, and more, in order to provide the best Python-native API for cross-platform app development.

We're also looking to the future - this means that we support Python 3 exclusively.

Native experience
~~~~~~~~~~~~~~~~~

The experience of using any tool starts with the installation process. Part of BeeWare's "Native everywhere" philosophy is adopting appropriate native mechanisms for installation. If you're using a user-space tool, it should be presented to you as a package that is to be installed in the same way you would install any other tool - be that through an app store, an installer, or a simple executable package. End users shouldn't know that you've written the application in Python.

But if you're using a developer tool or library, then it should integrate with your development environment. And since we're using Python, that means you should be able to install it into your virtual environment using `pip install` and nothing more. No C-extensions, no compilers, no setting system paths or environment variables - Just install it, import it, and start writing (or running) code.

---
gutter:

* `The Goal`_
- `Python everywhere`_
- `Native everywhere`_
- `Python native`_
- `Native experience`_


.. _`The Goal`: ./#the-goal
.. _`Python everywhere`: ./#python-everywhere
.. _`Native everywhere`: ./#native-everywhere
.. _`Python native`: ./#python-native
.. _`Native experience`: ./#native-experience

36 changes: 36 additions & 0 deletions content/about/history/contents.lr
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
_model: page
---
title: History and Philosophy
---
summary: The history and philosophy of the BeeWare Project
---
sort_key: 5
---
body:

History
=======

The BeeWare project started with a simple question: Why aren't the tools that we use as Python developers improving at the same rate as the rest of the technology we use on a daily basis?

Python has proven itself as a highly capable language - approachable for newcomers, but powerful in the hands of experts. Python is rapidly becoming a major part of the data analysis, scientific computing, and web development landscape. And initiatives like `Django Girls`_ have demonstrated that using Python, it is possible to provide a 1-day training courses that introducing people with no programming experience to Python; and at the end of a day, attendees have developed and deployed a database-backed dynamic website, deployed to a publicly visible server.

.. _Django Girls: https://djangogirls.org/

However, the developer experience for someone writing Python sometimes reflects more of the early 90's than the new millennium. The default development environment for Python is still an 80x25 console window. For users who have come from a Windows or Apple environment, where they're used to highly detailed, well designed graphical interfaces, this 30 year flashback can be a completely alien experience.

And, yes, there are IDEs (Integrated Development Environments) that provide a native application experience for writing code. But those tools require you to adopt, wholesale, the IDE's way of looking at a project. They often introduce as many headaches to the development process as they solve.

And so, we're left with an interesting schism, between the "old way" of Unix development in a console window, and the "new way" of all-in-one IDEs.

The Unix Philosophy
~~~~~~~~~~~~~~~~~~~

However, it doesn't have to be that way. The core tenet of the Unix Philosophy is that "each tool does one thing, well". This is a very powerful philosophy, and it enables the composition of extremely powerful toolchains by putting together a suite of extremely focussed, independent tools.

Unfortunately, most UNIX tools have convolved this to also mean "all tools must use a console interface". However, there's nothing in the UNIX philosophy that says that tools have to use a console interface - it's just turned out that way.

The BeeWare project started with the premise we can have the best of both worlds. We can have a chain of composable tools that each do one thing, well. But those tools can also expose their functionality using a rich graphical user interface.



File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,18 @@ By adopting this Code of Conduct, project maintainers commit themselves to fairl

This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.

To report an issue, please see `Making a CoC Complaint </community/behavior/making-a-coc-complaint>`__

If you feel the code of conduct has been violated, please `report the incident </code-of-conduct/making-a-coc-report/>`__ to the Beeware core team.

---
summary: All participants in the BeeWare community are expected to adhere to a Code of Conduct
---
gutter:

`Making a Code of Conduct Report </code-of-conduct/making-a-coc-report/>`__
-----------------------------------------------------------------------------------------------

Has something or someone in the BeeWare community made you feel uncomfortable? Here's how to report the situation.

Credits
-------------

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
_model: page
---
title: Making a CoC complaint
title: Making a CoC Report
---
body:

If you believe someone is violating the `BeeWare Project Code of Conduct </community/behavior/code-of-conduct/>`__ we ask that you report it to the BeeWare Project by emailing one or more of the project maintainers (listed in the sidebar). All reports will be kept confidential. In some cases we may determine that a public statement will need to be made. If that's the case, the identities of all victims and reporters will remain confidential unless those individuals instruct us otherwise.
If you believe someone is violating the `BeeWare Project Code of Conduct </code-of-conduct/>`__ we ask that you report it to the BeeWare Project by emailing one or more of the project maintainers (listed in the sidebar). All reports will be kept confidential. In some cases we may determine that a public statement will need to be made. If that's the case, the identities of all victims and reporters will remain confidential unless those individuals instruct us otherwise.

**If you believe anyone is in physical danger, please notify appropriate law enforcement first**. If you are unsure what law enforcement agency is appropriate, please include this in your report and we will attempt to notify them.

Expand Down Expand Up @@ -57,7 +57,7 @@ Finally, depending on the specifics of the incident and the potential for ongoin
.. _The Buzz: /news/buzz/

---
summary: Has something or someone in the BeeWare made you feel uncomfortable? Here's how to report the problem.
summary: Has something or someone in the BeeWare community made you feel uncomfortable? Here's how to report the situation.
---
gutter:

Expand All @@ -72,3 +72,5 @@ Credits
~~~~~~~
This reporting guide draws heavily from the `Django Software Foundation Code of Conduct Reporting Guide <https://www.djangoproject.com/conduct/reporting/>`__. The BeeWare Project thanks the DSF, and the DSF Code of Conduct Committee for their work in drafting this document.

---
hide_from_index: yes
29 changes: 29 additions & 0 deletions content/community/contents.lr
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,35 @@ sort_key: 3
---
summary: It's a small world, after all...
---
body:

More than just code
===================

It's about more than just code, though. A successful software project requires documentation, design skills, feedback and bug reports. The BeeWare community acknowledges that *all* contributions are important - not just the ones that come as a pull request on GitHub.

Even then, it's easy to think of a project in a vacuum, as the sum of all contributions. But that's never the case. An open source project is about community.

Diversity and inclusion
~~~~~~~~~~~~~~~~~~~~~~~

A diverse community is a strong community. This means accepting people of all levels of experience, from all backgrounds, of all races, creeds, orientations and expressions. The BeeWare project is committed to developing and maintaining a inclusive, diverse and welcoming community.

To back this up, we have an open offer to mentor anyone who wants to get involved as a contributor, and a `Code of Conduct`_ that is rigorously enforced. Any reports of violations of that code of conduct - even by senior community members - will be treated with respect and actioned appropriately.

.. _Code of Conduct: /community/behavior/code-of-conduct/

Healthy and sustainable
~~~~~~~~~~~~~~~~~~~~~~~

It's also important to make sure that the community is accessible and sustainable. It's unfortunately become an accepted part of Open Source culture that "true" Open Source projects have to be developed entirely by volunteers. This acts as a barrier to entry for many groups - the only people able to spend their free time volunteering are those that *have* free time.

It also frequently leads to burnout and other mental health issues amongst contributors. The fact that depression, anxiety, and burnout are so common in software development communities shouldn't be considered a badge of honour, or a demonstration of how committed a development team can be. It's a problem that needs to be tackled head on, and addressed in the same way a software bug would be addressed - with immediate workarounds, and long term plans to remove the systemic cause of the problem.

While we place incredible value on the contributions of volunteers, we also know that volunteer efforts alone aren't the way to develop a healthy and sustainable community. For that reason, financial sustainability is a key consideration in the operation of the BeeWare project. As a community, we don't ignore the role that money has to play in providing the resources that allows people to begin and continue to contribute. We will, as a community, provide accepted mechanisms for individuals to monetize their work in meaningful ways, and wherever possible, compensate people for their work - without compromising the ideals of Open Source development.

---

gutter:

Commercial options
Expand Down
2 changes: 1 addition & 1 deletion content/contact/contents.lr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: Contact
---
summary: Looking to speak to someone from the BeeWare project? Here's how.
---
sort_key: 5
sort_key: 6
---
incomplete: no
---
Expand Down
Loading