5

我正在使用预安装的映像在 aws 中运行全栈 edx 平台。我尝试使用此处描述的手动方法应用斯坦福主题:

https://github.com/edx/edx-platform/wiki/Stanford-Theming

我克隆了一个位于此处的主题存储库:

https://github.com/Stanford-Online/edx-theme

并做了上述教程中描述的事情。主题文件被放置在相应的目录中。

但是重新编译 lms 资产后,lms 并没有改变。

没啥事儿。

4

2 回答 2

6

###这些说明最初是为 Birch 编写的。有关 Eucalyptus(及更高版本),请参阅下面的更新部分

以下是使用此处描述的手动方法启用自定义主题的步骤:

https://github.com/edx/edx-platform/wiki/Stanford-Theming

首先创建基础虚拟机:

mkdir fullstack
cd fullstack
curl -L https://raw.githubusercontent.com/edx/configuration/master/vagrant/release/fullstack/Vagrantfile > Vagrantfile
vagrant plugin install vagrant-hostsupdater
export OPENEDX_RELEASE="named-release/birch"
vagrant up

下载虚拟盒子时,这可能需要一段时间。关键是导出 OPENEDX_RELEASE 环境变量。这特别是安装 Birch 命名版本。随着时间的推移,这将改变。在此处查看有关命名版本的更多信息:

https://edx.readthedocs.io/projects/edx-developer-docs/en/latest/named_releases.html

现在,SSH 进入 VM 并成为 edxapp 用户:

vagrant ssh
sudo su edxapp -s /bin/bash
cd ~
source edxapp_env

从github上拉下主题:

mkdir themes
cd themes
git clone https://github.com/Stanford-Online/edx-theme.git default

配置 edX 以使用新主题:

cd /edx/app/edxapp
vi lms.env.json
change "USE_CUSTOM_THEME": false to "USE_CUSTOM_THEME": true
change "THEME_NAME": "", to "THEME_NAME": "default",
exit and save vi

重新编译资产:

cd /edx/app/edxapp/edx-platform
paver update_assets lms --settings=aws

使用浏览器进行测试:http: //192.168.33.10 :8000/courses 或 http://localhost:8000/courses

#更新

###Eucalyptus 版本中的安装和主题化过程已更改。

要安装 devstack 或 fullstack,请按照以下步骤操作: edx-installing-configuring-and-running

要启用斯坦福主题,请执行以下步骤: edx-installing-configuring-and-running...#enable-themes

在以下变量中设置/edx/app/edxapp/lms.env.json

ENABLE_COMPREHENSIVE_THEMING: true,
COMPREHENSIVE_THEME_DIRS: ["/edx/app/edxapp/edx-platform/themes" ],
DEFAULT_SITE_THEME: "stanford-style",

然后重启应用:sudo /edx/bin/supervisorctl restart edxapp:

如果这有效,那么恭喜!您已正确配置 Open edX 主题。现在开始自定义您的主题,您需要将“stanford-style”下的所有文件复制到您自己的目录结构中。这非常重要,因此您可以将文件置于与 Open edX 分开的配置控制之下。

把主题放在这里:/edx/app/edxapp/themes/<your-theme-name>

sudo mkdir /edx/app/edxapp/themes
sudo chown edxapp:edxapp /edx/app/edxapp/themes
cd /edx/app/edxapp/themes
sudo cp -R /edx/app/edxapp/edx-platform/themes/stanford-style <your-theme-name>
sudo chown -R edxapp:edxapp <your-theme-name>

然后,更改 lms.env.json 中的变量

ENABLE_COMPREHENSIVE_THEMING: true,
COMPREHENSIVE_THEME_DIRS: ["/edx/app/edxapp/themes" ],
DEFAULT_SITE_THEME: "<your-theme-name>",

在移动到生产环境之前,通过将变量移动到/edx/app/edx_ansible/server-vars.yml(仅在全栈或本机中工作)来使这些更改永久化。如果该文件尚不存在,则创建它。变量的定义和命名略有不同server-vars.yml

EDXAPP_ENABLE_COMPREHENSIVE_THEMING: true
EDXAPP_COMPREHENSIVE_THEME_DIRS:
  - /edx/app/edxapp/themes
EDXAPP_DEFAULT_SITE_THEME: "<your-theme-name>"

然后,运行sudo /edx/bin/update edx-platform open-release/eucalyptus.2以自动生成一个新的lms.env.json. 检查lms.env.json以确保正确处理了 ansible 变量。

于 2015-05-13T14:54:42.913 回答
1

你需要:

  1. 主题文件的根目录
  2. 创建主题
  3. 启用和应用主题
  4. 编译主题

有完整的指南:

http://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/configuration/chang_appearance/theming/

于 2016-12-13T13:24:55.620 回答