{"id":28956965,"url":"https://github.com/developmentseed/tao","last_synced_at":"2025-06-23T21:41:17.674Z","repository":{"id":634977,"uuid":"276093","full_name":"developmentseed/tao","owner":"developmentseed","description":"DEPRECATED. Please see new home on d.o","archived":false,"fork":false,"pushed_at":"2010-09-27T20:04:39.000Z","size":134,"stargazers_count":56,"open_issues_count":7,"forks_count":5,"subscribers_count":65,"default_branch":"master","last_synced_at":"2024-04-10T03:11:40.184Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://drupal.org/project/tao","language":"PHP","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/developmentseed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-08-12T14:16:09.000Z","updated_at":"2019-08-13T14:27:27.000Z","dependencies_parsed_at":"2022-07-07T13:40:38.059Z","dependency_job_id":null,"html_url":"https://github.com/developmentseed/tao","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/developmentseed/tao","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developmentseed%2Ftao","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developmentseed%2Ftao/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developmentseed%2Ftao/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developmentseed%2Ftao/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/developmentseed","download_url":"https://codeload.github.com/developmentseed/tao/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developmentseed%2Ftao/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261561282,"owners_count":23177565,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-23T21:41:16.367Z","updated_at":"2025-06-23T21:41:17.652Z","avatar_url":"https://github.com/developmentseed.png","language":"PHP","readme":"Tao\n---\nTao is a base theme for Drupal that is all about going with the flow. It is not\nmeant for general-purpose use, but instead takes care of several tasks so that\nsub-themes can get on with their job:\n\n- Aggressive resets of not only browser default styles but Drupal core defaults\n- Unification of several template families into a single consistent format (e.g.\nnode.tpl.php, block.tpl.php, etc.)\n- Theme overrides of several core annoyances (fieldsets, pagers)\n- On-screen print stylesheet display and framework for further customized print\nstyling\n\nTao makes several assumptions about how you, the themer, would like to work with\nDrupal and the theme system:\n\n- Minimize template overrides and leverage preprocessors as much as possible\n- Preference for generalized styling over exceptions and particular design of\none-off elements\n- High degree of control over CSS, particularly selector specificity\n\n\nOverview for subthemers\n-----------------------\nThe following is a comprehensive list of things to know about Tao as a\nsubthemer.\n\n\n### Alterations to core markup\n\nTao leaves most core element markup alone. When things don't make sense,\nhowever, it makes changes and aggressive ones at that. Here's a list of things\nto expect:\n\n- `theme('fieldset')`\n\n  The `fieldset` element in core has been retained but with additional markup\nfor simpler theming. The `legend` element contains a sub-element `span` that\ncan be positioned properly across browsers and the main contents of the\nfieldset follow other object templates with a `.fieldset-content` div.\n\n- `theme('form_element')`\n\n  To distinguish between different instances of the `.form-item` wrapper, Tao\nadds a `.form-item-labeled` class to labeled items and `.form-item-option` to\ncheckboxes and radios.\n\n- `theme('pager')`\n\n  All numeric page links are grouped together into a `ul.pager-list` set.\nNext/previous links are grouped together under `ul.pager-links`.\n\n- `theme('username')`\n\n  All username instances are wrapped in an `a.username` or `span.username`.\n\n\n### Attributes and the `$attr` variable\n\n  The `$vars['attr']` variable is the standard way for adding any HTML attribute\nto the major containing element of the corresponding template. The\n`drupal_attributes($attr)` is used in each template to render attributes. For\nexample, to add a class to a node, you would add the following to your\nsubtheme's node preprocessor:\n\n    $vars['attr']['class'] .= ' myclass';\n\n\n### CSS resets \u0026 removal\n\nTao implements an aggressive `reset.css` but also strips out the inclusion of\nmany of the CSS files included in core with the exception of `colors.css` and\n`locale.css` (see `tao.info` for the specifics). Tao reimplements and\nconsolidates Drupal core CSS styles in a way that will not affect a\ntypographical or other strict grid in `drupal.css` that can be overridden by\nsub themes for even greater control.\n\nTao does not remove any contrib CSS added from other module directories, e.g.\n`sites/all/modules` or `profiles/myprofile/modules`.\n\n**Note:** The main reason for the stripping of core CSS is to achieve consistent\ntypography and grid layout. Many styles in Drupal core add inconsistent\n`padding`, `line-height`, and `font-size` adjustments to elements, making it\nextremely costly to hunt down individual instances and correct them.\n\n\n### Print preview\n\nTao allows a site's print stylesheets to be previewed by checking whether\n`$_GET['print']` is set. For example, to preview a node's print stylesheets, you\nwould go to `http://example.com/node/5?print`. Other niceties related to print,\nlike support for full expansion of a book tree on print, has been added.\n\n\n### Say no to `media='all'`\n\nTao does not use the `all` key for any of its stylesheets and expects that you\nwill not either. Be specific - if the stylesheet is for the screen, or for\nprint, say so. Any stylesheet overrides your subtheme provides should use the\nsame media key as the one in `tao.info` for the stylesheet that is being\noverridden.\n\n\n### Stylesheets\n\n- `reset.css` provides browser CSS style resets and core styling resets.\nOverride this in your subtheme only if you need to add or omit certain reset\nstyles.\n- drupal.css` reimplements core CSS styles that are functionally important\nwithout allowing any modifications to a typographical or layout grid.\n- `base.css` provides very basic structural, non-aesthetic styling for many\nelements. See inline comments for more information.\n- `print.css` is a default print stylesheet. Override this in your subtheme to\nalter print styling entirely.\n\n\n### Template unification\n\nAll of the following theme functions go through the exact same template in Tao\n(with the exception of `node` and `fieldset` which go through slightly modified\nversions for better usability and compatibility with contrib modules):\n\n- `theme('block')`\n- `theme('box')`\n- `theme('comment')`\n- `theme('fieldset')`\n- `theme('node')`\n\nThe template is designed to follow a strict pattern. Each element is classed as\nsuch:\n\n    [theme_hook]-[element_type]\n\nwith the name of its hook and then the type of wrapping element within the\ntemplate. For example, for a node, the following elements are provided:\n`.node-title`, `.node-content`, `.node-links` etc. For comments, the\ncorresponding classes would be `.comment-title`, `.comment-content`,\n`.comment-links` and so on.\n\n\nIssue tracking\n--------------\nThe code for Tao is hosted on GitHub. Please report issues and submit\npatches/fork requests at http://github.com/developmentseed/tao. You can download\npackages of the latest release of Tao at http://code.developmentseed.org/tao.\n\n\nMaintainer\n----------\n- yhahn (Young Hahn)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevelopmentseed%2Ftao","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevelopmentseed%2Ftao","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevelopmentseed%2Ftao/lists"}