Bootstrap forms require a bunch of <div>s and other stuff.
I wrapped these in functions like
form_start()
form_end()
form_submit()
form_select_multiple()
form_input_text()
General idea going forward:
put HTML (especially Bootstrap-specified) in utility functions,
e.g. in util.inc or bootstrap.inc.
This will make the higher-level code easier to read,
and will facilitate moving to CSS frameworks other than Bootstrap.
The front page was displaying as 2 columns even on phones.
I couldn't figure out the problem, but I switched to the standard
page_head() (moving the top part to project_banner()) and that fixed it.
Omitting the first directory in the filename of translatable strings is ambiguous if you don't know what directory this template was build from. So this adds back the top level directory and the filename in comments inside the pot files is now always relative to the source directory.
I also added the generic language name header to the BONIC-Web ressource becaue it also needs to know the language names and not necessarily gets the info from BOINC-Project-Generic.
In messages (forum or PM) a [pre] section with a long line
would stretch the table cell,
causing that message and others to run off the edge of the window.
The solution, as Juha pointed out, is to use table-layout:fixed
for those tables, and to explicitly set the width of the other columns.
This causes the long lines to be put in boxes with a horizontal scrollbar,
and nothing overflows.
- use form-control class for text inputs and selects.
This makes them all full-width, but I guess that's OK.
- use success class (green) for action buttons
- right-align table headings where appropriate
- use <small> instead of text-muted.
- tweak custom CSS to fix link and navbar visited colors
- change dark-background link color
- change dark-background colors for <pre>
- fix heading color for striped tables
It turns out that, for striped tables, Bootstrap ignores classes for <tr>.
You have to put them in the <th>.
row_heading() and row_heading_array() do this for you.
- put Preview content into a table w/ heading
Also: on default home page, don't show the big green Join button
if the user is logged in; they're presumably running BOINC
on at least one computer.
However, in this case put a Join item in the Project menu
in case this is a new computer and they forgot where to download from.
* Automatically build templates from source files and push them to transifex. Templates are automatically created in the right place, no more manual copying files.
* Use a consistent header for all template files
* Only Android and Drupal are still updated on their own because this needs interactive tools.