Remove stylus support
This commit is contained in:
parent
ac38f05bb6
commit
4c87a0b5f0
|
@ -48,30 +48,6 @@ mdBook builds on stable Rust, if you want to build mdBook from source, here are
|
||||||
|
|
||||||
The resulting binary can be found in `mdBook/target/debug/` under the name `mdBook` or `mdBook.exe`.
|
The resulting binary can be found in `mdBook/target/debug/` under the name `mdBook` or `mdBook.exe`.
|
||||||
|
|
||||||
|
|
||||||
### Making changes to the style
|
|
||||||
|
|
||||||
mdBook doesn't use CSS directly but uses [Stylus](http://stylus-lang.com/), a CSS-preprocessor which compiles to CSS.
|
|
||||||
|
|
||||||
When you want to change the style, it is important to not change the CSS directly because any manual modification to
|
|
||||||
the CSS files will be overwritten when compiling the stylus files. Instead, you should make your changes directly in the
|
|
||||||
[stylus files](https://github.com/rust-lang-nursery/mdBook/tree/master/src/theme/stylus) and regenerate the CSS.
|
|
||||||
|
|
||||||
For this to work, you first need [Node and NPM](https://nodejs.org/en/) installed on your machine.
|
|
||||||
Then run the following command to install both [stylus](http://stylus-lang.com/) and [nib](https://tj.github.io/nib/), you might need `sudo` to install successfully.
|
|
||||||
|
|
||||||
```
|
|
||||||
npm install -g stylus nib
|
|
||||||
```
|
|
||||||
|
|
||||||
When that finished, you can simply regenerate the CSS files by building mdBook with the following command:
|
|
||||||
|
|
||||||
```
|
|
||||||
cargo build --features=regenerate-css
|
|
||||||
```
|
|
||||||
|
|
||||||
This should automatically call the appropriate stylus command to recompile the files to CSS and include them in the project.
|
|
||||||
|
|
||||||
### Making a pull-request
|
### Making a pull-request
|
||||||
|
|
||||||
When you feel comfortable that your changes could be integrated into mdBook, you can create a pull-request on GitHub.
|
When you feel comfortable that your changes could be integrated into mdBook, you can create a pull-request on GitHub.
|
||||||
|
|
10
Cargo.toml
10
Cargo.toml
|
@ -8,11 +8,7 @@ repository = "https://github.com/rust-lang-nursery/mdBook"
|
||||||
keywords = ["book", "gitbook", "rustbook", "markdown"]
|
keywords = ["book", "gitbook", "rustbook", "markdown"]
|
||||||
license = "MPL-2.0"
|
license = "MPL-2.0"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
build = "build.rs"
|
exclude = ["book-example/*"]
|
||||||
exclude = [
|
|
||||||
"book-example/*",
|
|
||||||
"src/theme/stylus/**",
|
|
||||||
]
|
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
clap = "2.24"
|
clap = "2.24"
|
||||||
|
@ -47,9 +43,6 @@ ws = { version = "0.7", optional = true}
|
||||||
elasticlunr-rs = { version = "2.3", optional = true, default-features = false }
|
elasticlunr-rs = { version = "2.3", optional = true, default-features = false }
|
||||||
ammonia = { version = "1.1", optional = true }
|
ammonia = { version = "1.1", optional = true }
|
||||||
|
|
||||||
[build-dependencies]
|
|
||||||
error-chain = "0.12"
|
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
select = "0.4"
|
select = "0.4"
|
||||||
pretty_assertions = "0.5"
|
pretty_assertions = "0.5"
|
||||||
|
@ -60,7 +53,6 @@ pulldown-cmark-to-cmark = "1.1.0"
|
||||||
default = ["output", "watch", "serve", "search"]
|
default = ["output", "watch", "serve", "search"]
|
||||||
debug = []
|
debug = []
|
||||||
output = []
|
output = []
|
||||||
regenerate-css = []
|
|
||||||
watch = ["notify"]
|
watch = ["notify"]
|
||||||
serve = ["iron", "staticfile", "ws"]
|
serve = ["iron", "staticfile", "ws"]
|
||||||
search = ["elasticlunr-rs", "ammonia"]
|
search = ["elasticlunr-rs", "ammonia"]
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
environment:
|
environment:
|
||||||
global:
|
global:
|
||||||
PROJECT_NAME: mdBook
|
PROJECT_NAME: mdBook
|
||||||
nodejs_version: "6"
|
|
||||||
matrix:
|
matrix:
|
||||||
# Stable channel
|
# Stable channel
|
||||||
- TARGET: i686-pc-windows-msvc
|
- TARGET: i686-pc-windows-msvc
|
||||||
|
@ -32,17 +31,12 @@ install:
|
||||||
- set PATH=%PATH%;C:\Users\appveyor\.cargo\bin
|
- set PATH=%PATH%;C:\Users\appveyor\.cargo\bin
|
||||||
- rustc -Vv
|
- rustc -Vv
|
||||||
- cargo -V
|
- cargo -V
|
||||||
- ps: Install-Product node $env:nodejs_version
|
|
||||||
- node --version
|
|
||||||
- npm --version
|
|
||||||
- npm install -g stylus nib
|
|
||||||
|
|
||||||
build: false
|
build: false
|
||||||
|
|
||||||
# Equivalent to Travis' `script` phase
|
# Equivalent to Travis' `script` phase
|
||||||
test_script:
|
test_script:
|
||||||
- cargo build --verbose
|
- cargo build --verbose
|
||||||
- cargo build --verbose --features=regenerate-css
|
|
||||||
- cargo test --verbose
|
- cargo test --verbose
|
||||||
|
|
||||||
before_deploy:
|
before_deploy:
|
||||||
|
|
100
build.rs
100
build.rs
|
@ -1,100 +0,0 @@
|
||||||
// build.rs
|
|
||||||
|
|
||||||
use std::env;
|
|
||||||
use std::path::Path;
|
|
||||||
#[macro_use]
|
|
||||||
extern crate error_chain;
|
|
||||||
|
|
||||||
#[cfg(windows)]
|
|
||||||
mod execs {
|
|
||||||
use std::process::Command;
|
|
||||||
|
|
||||||
pub fn cmd(program: &str) -> Command {
|
|
||||||
let mut cmd = Command::new("cmd");
|
|
||||||
cmd.args(&["/c", program]);
|
|
||||||
cmd
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#[cfg(not(windows))]
|
|
||||||
mod execs {
|
|
||||||
use std::process::Command;
|
|
||||||
|
|
||||||
pub fn cmd(program: &str) -> Command {
|
|
||||||
Command::new(program)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
error_chain!{
|
|
||||||
foreign_links {
|
|
||||||
Io(std::io::Error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn program_exists(program: &str) -> Result<()> {
|
|
||||||
execs::cmd(program)
|
|
||||||
.arg("-v")
|
|
||||||
.output()
|
|
||||||
.chain_err(|| format!("Please install '{}'!", program))?;
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
|
|
||||||
fn npm_package_exists(package: &str) -> Result<()> {
|
|
||||||
let status = execs::cmd("npm")
|
|
||||||
.args(&["list", "-g"])
|
|
||||||
.arg(package)
|
|
||||||
.output();
|
|
||||||
|
|
||||||
match status {
|
|
||||||
Ok(ref out) if out.status.success() => Ok(()),
|
|
||||||
_ => bail!(
|
|
||||||
"Missing npm package '{0}' install with: 'npm -g install {0}'",
|
|
||||||
package
|
|
||||||
),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub enum Resource<'a> {
|
|
||||||
Program(&'a str),
|
|
||||||
Package(&'a str),
|
|
||||||
}
|
|
||||||
use Resource::{Package, Program};
|
|
||||||
|
|
||||||
impl<'a> Resource<'a> {
|
|
||||||
pub fn exists(&self) -> Result<()> {
|
|
||||||
match *self {
|
|
||||||
Program(name) => program_exists(name),
|
|
||||||
Package(name) => npm_package_exists(name),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn run() -> Result<()> {
|
|
||||||
if let Ok(_) = env::var("CARGO_FEATURE_REGENERATE_CSS") {
|
|
||||||
// Check dependencies
|
|
||||||
Program("npm").exists()?;
|
|
||||||
Program("node").exists().or(Program("nodejs").exists())?;
|
|
||||||
Package("nib").exists()?;
|
|
||||||
Package("stylus").exists()?;
|
|
||||||
|
|
||||||
// Compile stylus stylesheet to css
|
|
||||||
let manifest_dir = env::var("CARGO_MANIFEST_DIR")
|
|
||||||
.chain_err(|| "Please run the script with: 'cargo build'!")?;
|
|
||||||
let theme_dir = Path::new(&manifest_dir).join("src/theme/");
|
|
||||||
let stylus_dir = theme_dir.join("stylus/book.styl");
|
|
||||||
|
|
||||||
if !execs::cmd("stylus")
|
|
||||||
.arg(stylus_dir)
|
|
||||||
.arg("--out")
|
|
||||||
.arg(theme_dir)
|
|
||||||
.arg("--use")
|
|
||||||
.arg("nib")
|
|
||||||
.status()?
|
|
||||||
.success()
|
|
||||||
{
|
|
||||||
bail!("Stylus encountered an error");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
|
|
||||||
quick_main!(run);
|
|
|
@ -11,9 +11,6 @@ if [ "$TRAVIS_PULL_REQUEST" != "false" ] ||
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Make sure we have the css dependencies
|
|
||||||
npm install -g stylus nib
|
|
||||||
|
|
||||||
NC='\033[39m'
|
NC='\033[39m'
|
||||||
CYAN='\033[36m'
|
CYAN='\033[36m'
|
||||||
GREEN='\033[32m'
|
GREEN='\033[32m'
|
||||||
|
@ -21,7 +18,7 @@ GREEN='\033[32m'
|
||||||
rev=$(git rev-parse --short HEAD)
|
rev=$(git rev-parse --short HEAD)
|
||||||
|
|
||||||
echo -e "${CYAN}Running cargo doc${NC}"
|
echo -e "${CYAN}Running cargo doc${NC}"
|
||||||
cargo doc --features regenerate-css > /dev/null
|
cargo doc > /dev/null
|
||||||
|
|
||||||
echo -e "${CYAN}Running mdbook build${NC}"
|
echo -e "${CYAN}Running mdbook build${NC}"
|
||||||
cargo run -- build book-example/
|
cargo run -- build book-example/
|
||||||
|
|
Loading…
Reference in New Issue