Browse Source

more fixes

pull/14/head
Fredrik Ekre 8 years ago
parent
commit
80343590ee
  1. 1
      .gitignore
  2. 9
      .travis.yml
  3. 11
      Project.toml
  4. 12
      appveyor.yml
  5. 12
      docs/make.jl
  6. 7
      docs/src/outputformats.md
  7. 5
      src/Documenter.jl
  8. 10
      src/Literate.jl
  9. 6
      test/coverage.jl

1
.gitignore vendored

@ -2,3 +2,4 @@
*.jl.*.cov *.jl.*.cov
*.jl.mem *.jl.mem
*.DS_Store *.DS_Store
Manifest.toml

9
.travis.yml

@ -16,16 +16,13 @@ branches:
jobs: jobs:
include: include:
- stage: deploy - stage: deploy
julia: 0.7 julia: nightly
os: linux os: linux
script: script:
- julia -e 'Pkg.clone(pwd()); Pkg.build("Literate")' - julia docs/make.jl
- julia -e 'Pkg.add("Documenter"); Pkg.add("Plots"); Pkg.build("Plots")'
- julia -e 'cd(Pkg.dir("Literate")); include("docs/make.jl")'
notifications: notifications:
email: false email: false
git: git:
depth: 99999999 depth: 99999999
after_success: after_success:
# push coverage results to Codecov - julia test/coverage.jl
- julia -e 'cd(Pkg.dir("Literate")); Pkg.add("Coverage"); using Coverage; Codecov.submit(Codecov.process_folder())'

11
Project.toml

@ -0,0 +1,11 @@
name = "Literate"
uuid = "98b081ad-f1c9-55d3-8b20-4c87d4299306"
version = "0.2.2"
[deps]
Base64 = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
[targets.test.deps]
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

12
appveyor.yml

@ -1,14 +1,14 @@
environment: environment:
matrix: matrix:
- JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x86/0.6/julia-0.7-latest-win32.exe" - JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x86/0.7/julia-0.7-latest-win32.exe"
- JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x64/0.6/julia-0.7-latest-win64.exe" - JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x64/0.7/julia-0.7-latest-win64.exe"
- JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x86/julia-latest-win32.exe" - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x86/julia-latest-win32.exe"
- JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe" - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe"
matrix: # matrix:
allow_failures: # allow_failures:
- JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x86/julia-latest-win32.exe" # - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x86/julia-latest-win32.exe"
- JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe" # - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe"
branches: branches:
only: only:

12
docs/make.jl

@ -1,10 +1,12 @@
using Pkg
pkg"add Plots#master"
pkg"add GR#master"
pkg"add Documenter"
pkg"precompile"
using Documenter using Documenter
using Literate using Literate
# import these to make sure they precompile here instead of when generating output
import Plots
import GR
# generate examples # generate examples
EXAMPLE = joinpath(@__DIR__, "..", "examples", "example.jl") EXAMPLE = joinpath(@__DIR__, "..", "examples", "example.jl")
OUTPUT = joinpath(@__DIR__, "src/generated") OUTPUT = joinpath(@__DIR__, "src/generated")
@ -53,7 +55,7 @@ deploydocs(
repo = "github.com/fredrikekre/Literate.jl.git", repo = "github.com/fredrikekre/Literate.jl.git",
target = "build", target = "build",
osname = "linux", osname = "linux",
julia = "0.6", julia = "nightly",
deps = nothing, deps = nothing,
make = nothing make = nothing
) )

7
docs/src/outputformats.md

@ -4,6 +4,7 @@ When the source is parsed, and have been processed it is time to render the outp
We will consider the following source snippet: We will consider the following source snippet:
```@eval ```@eval
import Markdown
Markdown.parse("```julia\n" * rstrip(read("outputformats.jl", String)) * "\n```") Markdown.parse("```julia\n" * rstrip(read("outputformats.jl", String)) * "\n```")
``` ```
@ -14,7 +15,8 @@ and see how this is rendered in each of the output formats.
The (default) markdown output of the source snippet above is as follows The (default) markdown output of the source snippet above is as follows
```@eval ```@eval
file = joinpath(@__DIR__, "src/generated/name.md") import Markdown
file = joinpath(@__DIR__, "../src/generated/name.md")
str = "````markdown\n" * rstrip(read(file, String)) * "\n````" str = "````markdown\n" * rstrip(read(file, String)) * "\n````"
rm(file) rm(file)
Markdown.parse(str) Markdown.parse(str)
@ -55,7 +57,8 @@ Literate.notebook
The (default) script output of the source snippet above is as follows The (default) script output of the source snippet above is as follows
```@eval ```@eval
file = joinpath(@__DIR__, "src/generated/outputformats.jl") import Markdown
file = joinpath(@__DIR__, "../src/generated/outputformats.jl")
str = "```julia\n" * rstrip(read(file, String)) * "\n```" str = "```julia\n" * rstrip(read(file, String)) * "\n```"
rm(file) rm(file)
Markdown.parse(str) Markdown.parse(str)

5
src/Documenter.jl

@ -1,7 +1,6 @@
# this file contains some utilities copied from the Documenter.jl package # this file contains some utilities copied from the Documenter.jl package
# (https://github.com/JuliaDocs/Documenter.jl), see LICENSE.md for license # (https://github.com/JuliaDocs/Documenter.jl), see LICENSE.md for license
module Documenter module Documenter
using Logging
function withoutput(f) function withoutput(f)
# Save the default output streams. # Save the default output streams.
@ -14,14 +13,14 @@ function withoutput(f)
redirect_stdout(pipe.in) redirect_stdout(pipe.in)
redirect_stderr(pipe.in) redirect_stderr(pipe.in)
# Also redirect logging stream to the same pipe # Also redirect logging stream to the same pipe
logger = ConsoleLogger(pipe.in) logger = Base.CoreLogging.SimpleLogger(pipe.in)
# Bytes written to the `pipe` are captured in `output` and converted to a `String`. # Bytes written to the `pipe` are captured in `output` and converted to a `String`.
output = UInt8[] output = UInt8[]
# Run the function `f`, capturing all output that it might have generated. # Run the function `f`, capturing all output that it might have generated.
# Success signals whether the function `f` did or did not throw an exception. # Success signals whether the function `f` did or did not throw an exception.
result, success, backtrace = with_logger(logger) do result, success, backtrace = Base.CoreLogging.with_logger(logger) do
try try
f(), true, Vector{Ptr{Cvoid}}() f(), true, Vector{Ptr{Cvoid}}()
catch err catch err

10
src/Literate.jl

@ -319,18 +319,12 @@ function markdown(inputfile, outputdir; preprocess = identity, postprocess = ide
# change the Edit on GitHub link # change the Edit on GitHub link
repo = get(ENV, "TRAVIS_REPO_SLUG", nothing) repo = get(ENV, "TRAVIS_REPO_SLUG", nothing)
build_dir = get(ENV, "TRAVIS_BUILD_DIR", nothing) build_dir = get(ENV, "TRAVIS_BUILD_DIR", nothing)
@show build_dir
if build_dir !== nothing
@show relpath(inputfile, build_dir)
end
if repo === nothing if repo === nothing
println("repo === nothing")
path = "" path = ""
else else
pkg = String(first(split(last(split(repo, '/')), '.'))) pkg = String(first(split(last(split(repo, '/')), '.')))
pkgsrc = Base.find_package(pkg) pkgsrc = Base.find_package(pkg)
if pkgsrc === nothing if pkgsrc === nothing
println("pkgsrc === nothing")
path = "" path = ""
else else
repo_root = first(split(pkgsrc, "src/" * pkg * ".jl")) repo_root = first(split(pkgsrc, "src/" * pkg * ".jl"))
@ -533,7 +527,7 @@ function execute_notebook(nb)
stream = Dict{String,Any}() stream = Dict{String,Any}()
stream["output_type"] = "stream" stream["output_type"] = "stream"
stream["name"] = "stdout" stream["name"] = "stdout"
stream["text"] = collect(Any, eachline(IOBuffer(String(str)), chomp = false)) # 0.7 chomp = false => keep = true stream["text"] = collect(Any, eachline(IOBuffer(String(str)), keep = true))
push!(cell["outputs"], stream) push!(cell["outputs"], stream)
end end
@ -550,7 +544,7 @@ function execute_notebook(nb)
# we need to split some mime types into vectors of lines instead of a single string # we need to split some mime types into vectors of lines instead of a single string
for mime in ("image/svg+xml", "text/html") for mime in ("image/svg+xml", "text/html")
if haskey(dd, mime) if haskey(dd, mime)
dd[mime] = collect(Any, eachline(IOBuffer(dd[mime]), chomp = false)) dd[mime] = collect(Any, eachline(IOBuffer(dd[mime]), keep = true))
end end
end end
execute_result["data"] = dd execute_result["data"] = dd

6
test/coverage.jl

@ -0,0 +1,6 @@
using Pkg
Pkg.add("Coverage")
using Coverage
cd(joinpath(@__DIR__, "..")) do
Codecov.submit(Codecov.process_folder())
end
Loading…
Cancel
Save