{"action":"created","comment":{"url":"https://api.github.com/repos/artefactual/atom-docs/pulls/comments/50607658","id":50607658,"diff_hunk":"@@ -35,21 +36,136 @@ Customize how an AtoM theme looks\n    in the user interface- see :ref:`manage-menus`.\n \n \n-Theme your own version of AtoM\n-------------------------------\n-\n-1. Make changes to the global layout of the website in\n-   apps/qubit/templates/layout.php.\n-\n-2. Make css style changes to layout.css, graphic.css, form.css and menu.css\n-\n-3. Make changes to the templates in individual modules (found in the\n-   apps/qubit/modules/xxx/templates directory)\n-\n-See\n-`Symfony framework <http://symfony.com/legacy/doc/book/1_0/en/07-Inside-the-View-Layer>`_\n-documentation for more assistance.\n-\n+Create a custom theme\n+---------------------\n+\n+In most cases, it's probably enough to build a custom theme upon an existing\n+one and preferably to use one that relies on our base theme Dominion, so you\n+don't have to get your hands too dirty. It's in the details where most of the\n+complexities are found. Dominion is the result of a cyclic process of testing\n+and refining by a large community of users, try not to underestimate that!\n+\n+AtoM bundles two themes: arDominionPlugin and arArchivesCanadaPlugin. Their\n+names follow the naming convention of Symfony 1.x plugins, because that is how\n+themes are implemented in AtoM. You may want to read more about Symfony plugins\n+later following `one of their guides <http://symfony.com/legacy/doc/gentle-introduction/1_4/en/17-Extending-Symfony#chapter_17_plug_ins>`_.\n+\n+arDominionPlugin is the default theme, i.e. the theme that will be used in a\n+fresh installation. arArchivesCanadaPlugin was developed as an extension of the\n+former and the following instructions will show you how to create your custom\n+theme as we did with arArchivesCanadaPlugin.\n+\n+Assuming that you already have AtoM installed in your development environment\n+(you can use our :ref:`Vagrant box <installation-vagrant>`), let's start\n+building the plugin structure from the command line. Our theme is going to be\n+called Corcovado (arCorcovadoPlugin). We are going to track its contents with\n+git and publish them in a remote repository hosted by GitHub so we can enable\n+others to contribute in the development. The repository is open source so you\n+can use it for your own reference, see https://github.com/artefactual-labs/atom-theme-corcovado.\n+You can also `create your own repository <https://help.github.com/articles/create-a-repo/>`_.\n+\n+Let's begin to do some real work:\n+\n+.. code-block:: bash\n+\n+   $ cd ~/atom/plugins\n+   $ mkdir arCorcovadoPlugin\n+   $ git init\n+   $ echo \"# Corcovado theme\" > README.md\n+   $ git add README.md\n+   $ git commit -m \"Initial commit\"\n+   $ git remote add origin git@github.com:artefactual-labs/atom-theme-corcovado.git\n+   $ git push\n+\n+We've created an empty directory where our plugin is going to be contained,\n+made a git repository of it, track our first file and publish our work to\n+GitHub! However, our plugin does not meet the needed requirements for AtoM to\n+recognize it and allow us to enable it. Let's make that happen:\n+\n+.. code-block:: bash\n+\n+   $ cd ~/atom/plugins/arCorcovadoPlugin\n+   $ mkdir config\n+   $ cd config\n+\n+Create a new file :file:`arCorcovadoPluginConfiguration.class.php` with the\n+following contents:\n+\n+.. code-block:: php\n+\n+   <?php\n+\n+   class arCorcovadoPluginConfiguration extends sfPluginConfiguration\n+   {\n+     public static\n+       $summary = 'Theme plugin, extension of arCorcovadoPlugin.',\n+       $version = '0.0.1';\n+\n+     public function contextLoadFactories(sfEvent $event)\n+     {\n+       $context = $event->getSubject();\n+       $context->response->addStylesheet('/plugins/arCorcovadoPlugin/css/min.css', 'last', array('media' => 'all'));\n+     }\n+\n+     public function initialize()\n+     {\n+       $this->dispatcher->connect('context.load_factories', array($this, 'contextLoadFactories'));\n+\n+       $decoratorDirs = sfConfig::get('sf_decorator_dirs');\n+       $decoratorDirs[] = $this->rootDir.'/templates';\n+       sfConfig::set('sf_decorator_dirs', $decoratorDirs);\n+\n+       $moduleDirs = sfConfig::get('sf_module_dirs');\n+       $moduleDirs[$this->rootDir.'/modules'] = false;\n+       sfConfig::set('sf_module_dirs', $moduleDirs);\n+     }\n+   }\n+\n+You may also have to clear the Symfony cache, depending on the configuration of","path":"admin-manual/customization/theming.rst","position":114,"original_position":114,"commit_id":"3da94251b59498df80f9bf7ef44410dd64eeccfe","original_commit_id":"db6a0f94fae76a2423a4943f030f72a549ea9286","user":{"login":"fiver-watson","id":5068277,"avatar_url":"https://avatars.githubusercontent.com/u/5068277?v=3","gravatar_id":"","url":"https://api.github.com/users/fiver-watson","html_url":"https://github.com/fiver-watson","followers_url":"https://api.github.com/users/fiver-watson/followers","following_url":"https://api.github.com/users/fiver-watson/following{/other_user}","gists_url":"https://api.github.com/users/fiver-watson/gists{/gist_id}","starred_url":"https://api.github.com/users/fiver-watson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fiver-watson/subscriptions","organizations_url":"https://api.github.com/users/fiver-watson/orgs","repos_url":"https://api.github.com/users/fiver-watson/repos","events_url":"https://api.github.com/users/fiver-watson/events{/privacy}","received_events_url":"https://api.github.com/users/fiver-watson/received_events","type":"User","site_admin":false},"body":"link \"clear the Symfony cache\" to https://www.accesstomemory.org/docs/2.3/admin-manual/maintenance/clear-cache/ ?","created_at":"2016-01-23T00:03:58Z","updated_at":"2016-01-23T00:03:58Z","html_url":"https://github.com/artefactual/atom-docs/pull/24#discussion_r50607658","pull_request_url":"https://api.github.com/repos/artefactual/atom-docs/pulls/24","_links":{"self":{"href":"https://api.github.com/repos/artefactual/atom-docs/pulls/comments/50607658"},"html":{"href":"https://github.com/artefactual/atom-docs/pull/24#discussion_r50607658"},"pull_request":{"href":"https://api.github.com/repos/artefactual/atom-docs/pulls/24"}}},"pull_request":{"url":"https://api.github.com/repos/artefactual/atom-docs/pulls/24","id":56947480,"html_url":"https://github.com/artefactual/atom-docs/pull/24","diff_url":"https://github.com/artefactual/atom-docs/pull/24.diff","patch_url":"https://github.com/artefactual/atom-docs/pull/24.patch","issue_url":"https://api.github.com/repos/artefactual/atom-docs/issues/24","number":24,"state":"open","locked":false,"title":"Theme development","user":{"login":"sevein","id":606459,"avatar_url":"https://avatars.githubusercontent.com/u/606459?v=3","gravatar_id":"","url":"https://api.github.com/users/sevein","html_url":"https://github.com/sevein","followers_url":"https://api.github.com/users/sevein/followers","following_url":"https://api.github.com/users/sevein/following{/other_user}","gists_url":"https://api.github.com/users/sevein/gists{/gist_id}","starred_url":"https://api.github.com/users/sevein/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sevein/subscriptions","organizations_url":"https://api.github.com/users/sevein/orgs","repos_url":"https://api.github.com/users/sevein/repos","events_url":"https://api.github.com/users/sevein/events{/privacy}","received_events_url":"https://api.github.com/users/sevein/received_events","type":"User","site_admin":false},"body":"Work in progress! Feedback is more than welcome.\r\n\r\nReference theme: https://github.com/artefactual-labs/atom-theme-corcovado","created_at":"2016-01-22T22:00:04Z","updated_at":"2016-01-23T00:03:58Z","closed_at":null,"merged_at":null,"merge_commit_sha":"edf58c1598051cdc64525cd757d7781eb949ce51","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/artefactual/atom-docs/pulls/24/commits","review_comments_url":"https://api.github.com/repos/artefactual/atom-docs/pulls/24/comments","review_comment_url":"https://api.github.com/repos/artefactual/atom-docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/artefactual/atom-docs/issues/24/comments","statuses_url":"https://api.github.com/repos/artefactual/atom-docs/statuses/3da94251b59498df80f9bf7ef44410dd64eeccfe","head":{"label":"artefactual:dev/theme-dev","ref":"dev/theme-dev","sha":"3da94251b59498df80f9bf7ef44410dd64eeccfe","user":{"login":"artefactual","id":1163545,"avatar_url":"https://avatars.githubusercontent.com/u/1163545?v=3","gravatar_id":"","url":"https://api.github.com/users/artefactual","html_url":"https://github.com/artefactual","followers_url":"https://api.github.com/users/artefactual/followers","following_url":"https://api.github.com/users/artefactual/following{/other_user}","gists_url":"https://api.github.com/users/artefactual/gists{/gist_id}","starred_url":"https://api.github.com/users/artefactual/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artefactual/subscriptions","organizations_url":"https://api.github.com/users/artefactual/orgs","repos_url":"https://api.github.com/users/artefactual/repos","events_url":"https://api.github.com/users/artefactual/events{/privacy}","received_events_url":"https://api.github.com/users/artefactual/received_events","type":"Organization","site_admin":false},"repo":{"id":11592562,"name":"atom-docs","full_name":"artefactual/atom-docs","owner":{"login":"artefactual","id":1163545,"avatar_url":"https://avatars.githubusercontent.com/u/1163545?v=3","gravatar_id":"","url":"https://api.github.com/users/artefactual","html_url":"https://github.com/artefactual","followers_url":"https://api.github.com/users/artefactual/followers","following_url":"https://api.github.com/users/artefactual/following{/other_user}","gists_url":"https://api.github.com/users/artefactual/gists{/gist_id}","starred_url":"https://api.github.com/users/artefactual/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artefactual/subscriptions","organizations_url":"https://api.github.com/users/artefactual/orgs","repos_url":"https://api.github.com/users/artefactual/repos","events_url":"https://api.github.com/users/artefactual/events{/privacy}","received_events_url":"https://api.github.com/users/artefactual/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/artefactual/atom-docs","description":"AtoM documentation","fork":false,"url":"https://api.github.com/repos/artefactual/atom-docs","forks_url":"https://api.github.com/repos/artefactual/atom-docs/forks","keys_url":"https://api.github.com/repos/artefactual/atom-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/artefactual/atom-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/artefactual/atom-docs/teams","hooks_url":"https://api.github.com/repos/artefactual/atom-docs/hooks","issue_events_url":"https://api.github.com/repos/artefactual/atom-docs/issues/events{/number}","events_url":"https://api.github.com/repos/artefactual/atom-docs/events","assignees_url":"https://api.github.com/repos/artefactual/atom-docs/assignees{/user}","branches_url":"https://api.github.com/repos/artefactual/atom-docs/branches{/branch}","tags_url":"https://api.github.com/repos/artefactual/atom-docs/tags","blobs_url":"https://api.github.com/repos/artefactual/atom-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/artefactual/atom-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/artefactual/atom-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/artefactual/atom-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/artefactual/atom-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/artefactual/atom-docs/languages","stargazers_url":"https://api.github.com/repos/artefactual/atom-docs/stargazers","contributors_url":"https://api.github.com/repos/artefactual/atom-docs/contributors","subscribers_url":"https://api.github.com/repos/artefactual/atom-docs/subscribers","subscription_url":"https://api.github.com/repos/artefactual/atom-docs/subscription","commits_url":"https://api.github.com/repos/artefactual/atom-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/artefactual/atom-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/artefactual/atom-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/artefactual/atom-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/artefactual/atom-docs/contents/{+path}","compare_url":"https://api.github.com/repos/artefactual/atom-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/artefactual/atom-docs/merges","archive_url":"https://api.github.com/repos/artefactual/atom-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/artefactual/atom-docs/downloads","issues_url":"https://api.github.com/repos/artefactual/atom-docs/issues{/number}","pulls_url":"https://api.github.com/repos/artefactual/atom-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/artefactual/atom-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/artefactual/atom-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/artefactual/atom-docs/labels{/name}","releases_url":"https://api.github.com/repos/artefactual/atom-docs/releases{/id}","deployments_url":"https://api.github.com/repos/artefactual/atom-docs/deployments","created_at":"2013-07-22T21:09:25Z","updated_at":"2016-01-21T00:20:37Z","pushed_at":"2016-01-23T00:01:40Z","git_url":"git://github.com/artefactual/atom-docs.git","ssh_url":"git@github.com:artefactual/atom-docs.git","clone_url":"https://github.com/artefactual/atom-docs.git","svn_url":"https://github.com/artefactual/atom-docs","homepage":"","size":48961,"stargazers_count":5,"watchers_count":5,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":8,"mirror_url":null,"open_issues_count":1,"forks":8,"open_issues":1,"watchers":5,"default_branch":"2.2"}},"base":{"label":"artefactual:2.3","ref":"2.3","sha":"10b65232fca0f0f1b6f8d22411093c1f5b08aae1","user":{"login":"artefactual","id":1163545,"avatar_url":"https://avatars.githubusercontent.com/u/1163545?v=3","gravatar_id":"","url":"https://api.github.com/users/artefactual","html_url":"https://github.com/artefactual","followers_url":"https://api.github.com/users/artefactual/followers","following_url":"https://api.github.com/users/artefactual/following{/other_user}","gists_url":"https://api.github.com/users/artefactual/gists{/gist_id}","starred_url":"https://api.github.com/users/artefactual/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artefactual/subscriptions","organizations_url":"https://api.github.com/users/artefactual/orgs","repos_url":"https://api.github.com/users/artefactual/repos","events_url":"https://api.github.com/users/artefactual/events{/privacy}","received_events_url":"https://api.github.com/users/artefactual/received_events","type":"Organization","site_admin":false},"repo":{"id":11592562,"name":"atom-docs","full_name":"artefactual/atom-docs","owner":{"login":"artefactual","id":1163545,"avatar_url":"https://avatars.githubusercontent.com/u/1163545?v=3","gravatar_id":"","url":"https://api.github.com/users/artefactual","html_url":"https://github.com/artefactual","followers_url":"https://api.github.com/users/artefactual/followers","following_url":"https://api.github.com/users/artefactual/following{/other_user}","gists_url":"https://api.github.com/users/artefactual/gists{/gist_id}","starred_url":"https://api.github.com/users/artefactual/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artefactual/subscriptions","organizations_url":"https://api.github.com/users/artefactual/orgs","repos_url":"https://api.github.com/users/artefactual/repos","events_url":"https://api.github.com/users/artefactual/events{/privacy}","received_events_url":"https://api.github.com/users/artefactual/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/artefactual/atom-docs","description":"AtoM documentation","fork":false,"url":"https://api.github.com/repos/artefactual/atom-docs","forks_url":"https://api.github.com/repos/artefactual/atom-docs/forks","keys_url":"https://api.github.com/repos/artefactual/atom-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/artefactual/atom-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/artefactual/atom-docs/teams","hooks_url":"https://api.github.com/repos/artefactual/atom-docs/hooks","issue_events_url":"https://api.github.com/repos/artefactual/atom-docs/issues/events{/number}","events_url":"https://api.github.com/repos/artefactual/atom-docs/events","assignees_url":"https://api.github.com/repos/artefactual/atom-docs/assignees{/user}","branches_url":"https://api.github.com/repos/artefactual/atom-docs/branches{/branch}","tags_url":"https://api.github.com/repos/artefactual/atom-docs/tags","blobs_url":"https://api.github.com/repos/artefactual/atom-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/artefactual/atom-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/artefactual/atom-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/artefactual/atom-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/artefactual/atom-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/artefactual/atom-docs/languages","stargazers_url":"https://api.github.com/repos/artefactual/atom-docs/stargazers","contributors_url":"https://api.github.com/repos/artefactual/atom-docs/contributors","subscribers_url":"https://api.github.com/repos/artefactual/atom-docs/subscribers","subscription_url":"https://api.github.com/repos/artefactual/atom-docs/subscription","commits_url":"https://api.github.com/repos/artefactual/atom-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/artefactual/atom-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/artefactual/atom-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/artefactual/atom-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/artefactual/atom-docs/contents/{+path}","compare_url":"https://api.github.com/repos/artefactual/atom-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/artefactual/atom-docs/merges","archive_url":"https://api.github.com/repos/artefactual/atom-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/artefactual/atom-docs/downloads","issues_url":"https://api.github.com/repos/artefactual/atom-docs/issues{/number}","pulls_url":"https://api.github.com/repos/artefactual/atom-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/artefactual/atom-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/artefactual/atom-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/artefactual/atom-docs/labels{/name}","releases_url":"https://api.github.com/repos/artefactual/atom-docs/releases{/id}","deployments_url":"https://api.github.com/repos/artefactual/atom-docs/deployments","created_at":"2013-07-22T21:09:25Z","updated_at":"2016-01-21T00:20:37Z","pushed_at":"2016-01-23T00:01:40Z","git_url":"git://github.com/artefactual/atom-docs.git","ssh_url":"git@github.com:artefactual/atom-docs.git","clone_url":"https://github.com/artefactual/atom-docs.git","svn_url":"https://github.com/artefactual/atom-docs","homepage":"","size":48961,"stargazers_count":5,"watchers_count":5,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":8,"mirror_url":null,"open_issues_count":1,"forks":8,"open_issues":1,"watchers":5,"default_branch":"2.2"}},"_links":{"self":{"href":"https://api.github.com/repos/artefactual/atom-docs/pulls/24"},"html":{"href":"https://github.com/artefactual/atom-docs/pull/24"},"issue":{"href":"https://api.github.com/repos/artefactual/atom-docs/issues/24"},"comments":{"href":"https://api.github.com/repos/artefactual/atom-docs/issues/24/comments"},"review_comments":{"href":"https://api.github.com/repos/artefactual/atom-docs/pulls/24/comments"},"review_comment":{"href":"https://api.github.com/repos/artefactual/atom-docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/artefactual/atom-docs/pulls/24/commits"},"statuses":{"href":"https://api.github.com/repos/artefactual/atom-docs/statuses/3da94251b59498df80f9bf7ef44410dd64eeccfe"}}}}