Giter Club home page Giter Club logo

pkgpage.jl's Introduction

PkgPage.jl

Build Status Coverage

Create a beautiful landing page for your package in less than 10 minutes

  • Instructions + Example (this will also be your starting point)
  • Authors: Thibaut Lienart, Zlatan Vasović
  • Contributors: Ole Kröger

If that's your thing, here's a screencast showing how to use PkgPage to create a landing page (ironically it's 20 minutes long but you can definitely skip a few parts)

Examples

License

pkgpage.jl's People

Contributors

alecloudenback avatar staticfloat avatar tlienart avatar wikunia avatar zlatanvasovic avatar zsoerenm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

pkgpage.jl's Issues

Unexpected warnings

When I call serve I get the following warnings which are kinda unexpected but maybe it just show what I can add:

┌ Warning: I found a function block '{{header_col ...}}' but I don't recognise the function name. Ignoring.
└ @ Franklin ~/.julia/packages/Franklin/Qh55d/src/converter/html/functions.jl:23
┌ Warning: I found a function block '{{link_col ...}}' but I don't recognise the function name. Ignoring.
└ @ Franklin ~/.julia/packages/Franklin/Qh55d/src/converter/html/functions.jl:23
┌ Warning: I found a function block '{{link_hover_col ...}}' but I don't recognise the function name. Ignoring.
└ @ Franklin ~/.julia/packages/Franklin/Qh55d/src/converter/html/functions.jl:23
┌ Warning: I found a function block '{{section_bg_col_2 ...}}' but I don't recognise the function name. Ignoring.
└ @ Franklin ~/.julia/packages/Franklin/Qh55d/src/converter/html/functions.jl:23
┌ Warning: I found a function block '{{footer_link_col ...}}' but I don't recognise the function name. Ignoring.
└ 

"Clever cd"

at the moment the package assumes that you're in the parent dir, then cd to page/ and does its business there then cd back. This is fragile. For instance if the user activates the environment of page in order to add packages then forgets to cd back they'll see an error when running serve

So basically we should probably add a little bit of logic in there to check where we are and check the typical cases:

  • we're in page (i.e. there's a config.md, etc in the current dir) --> don't cd, stay there
  • we're not in page, try to cd

Remove header

I don't see a @def user_header in the config file (maybe it doesn't exist yet). It would be useful for me since I think the header adds a bit too much "fluff" to a small package. I rather have the content more directly.

Fill config.md automatically

I just tried out the package. Thanks for the awesome work!

One thing I think would be awesome is to fill some parts of the config.md automatically like:

  • github_repo
  • title
  • authors
  • prepath (whatever that actually is :D ) is that the folder name of the package?
  • docs_url would be the github repo stable docs (would not work for a custom domain)

This could be done with https://github.com/JuliaPackaging/Git.jl which is an old package so maybe not the best thing. Or using run commands to call git directly. Not too sure whether that works in Windows :/
To be save it's done in a try catch block such that nothing breaks.

Ah yeah some of the information can be taken from Project.toml

If interested I would work on a PR.

github-pages-deploy-action is overwriting Documenter builds

in latest version (v3.6) this github action make CLEAN: true becomes the default behaviour, which as a result will make PkgPage overwites all the previous build of Documenter.

should change it in the docs of this package to add CLEAN: false explicitly?

Code block always included

It seems like the output of a code block is always included in the html page, and using the Franklin \textoutput{} directive just ends up including the output twice.

I wanted to use the manual directive because I need to print raw html using ~~~ .

Note that the ~~~ is actually not taken into account in the forced output, and so will print with the code tags regardless. If the ~~~ was respected I would not need to use \textoutput{}.

This is what it looks like, the three tildes plus some empty lines (since I only have <script> tags in there):
image

TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.

If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.

If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

purgecss is somehow broken

run(`$(strip(nodepath))/purgecss/bin/purgecss --css __site/css/bootstrap.min.css --content __site/index.html --output __site/css/bootstrap.min.css`)

I just realize that it seems when installing this package via npm it seems the bin becomes purgecss.js rather than purgecss now, which cause the depoly CI currently broken.

add purifycss hook

If we're using bootstrap we might as well clean up the unused stuff afterwards for a single page that's fairly easy to do and purifycss should work well.

  • run the optimize final step with minify=false
  • add hook via NodeJS.jl to produce a cleaned & minified CSS

DataFrames required but not installed when running serve for first time

After doing serve() I got

┌ Franklin Warning: in <index.md>
│ There was an error of type 'ArgumentError' when running a code block.
│ Checking the output files '/Users/kristoffercarlsson/Documents/JuliaPkgs/LazilyInitializedFields/page/__site/assets/index/code/output/ex.(out|res)'
│ might be helpful to understand and solve the issue.

and looking in the file ex.out I see

ArgumentError: Package DataFrames [a93c6f00-e57d-5684-b7b6-d8193f3e46c0] is required but does not seem to be installed:
 - Run `Pkg.instantiate()` to install all recorded dependencies.

Add "see this on GitHub" button

Even though it would have the same effect, there could be a button next to the "star" button which would say "view on GitHub" . This was requested on discourse

Insertion of image in table

It was reported that inserting an image in a table might not work; this would need to be checked whether it's the figure environment which fails (it should though possibly more transparently than it currently does) or whether it's just that if commands are used in a table they're not going to be processed properly (likely) or whether standard markdown for an image also doesn't work (problematic)

Todo (environments)

  • section
  • k-columns
  • optional logo in navbar
  • optional link to docs in navbar
  • figure with caption
  • table with caption

Math in figure captions

I landed here because my half-baked attempts at a figure env for franklin did not turn out. But I want to put math in the figure caption. No can do at the moment because of a parse error, relevant bit:

caused by: Base.Meta.ParseError("invalid interpolation syntax: \"\$\\\"")

Caused by https://github.com/tlienart/PkgPage.jl/blob/master/src/latex/basic.jl#L36-L39

Not sure of the best way to tackle it, maybe build the string incrementally instead of interpolating? Alternative math-mode syntax also fails, because julia turns \( into \\(. Adding more \ doesn't help.

Setting up highlight.js for deployment manually

I am using PkgPage to write the documentation for a small package. The docs will be hosted in Github, under mbaz.github.io/GtkServer.jl/. I am using serve(single=true) to generate the website, and then I push the contents of page/__site to a gh-pages branch on Github.

However, after running serve(single=true), the paths in page/__site/index.html don't include the prepath defined in config.md.

This line is in my config.md:

@def prepath     = "GtkServer.jl"

All the paths in index.html are missing the prepath; for example:

<link rel="stylesheet" href="/libs/highlight/styles/atom-one-dark.css">

As a result, the webpage renders incorrectly. This happens for all paths: javascript, css, libraries and assets are all affected.

Note this line in config.md produces identical paths:

@def prepath     = ""

If serve() should not add the prepath, is there some other Franklin or PkgPage function to add it?

Mention on the Franklin website

I think it would be useful to mention the availability of this package/franklin theme on the franklinjl.org website.

Also @tlienart - if you can share a namecheap account with me, I can add you to the admin for the domain.

Add tile example

Looks like it's something that people like to do, having this kind of stuff:

https://fluxml.ai/

as an example would be nice (I think it can just be done with columns but we should probably write it out and check)

\begin{:columns}
\column{
**Compiled Eager Code**

Flux provides a single, intuitive way to define models, just like mathematical notation. Julia transparently compiles your code, optimising and fusing kernels for the GPU, for the best performance.
}

\column{
**Differentiable Programming**

Existing Julia libraries are differentiable and can be incorporated directly into Flux models. Cutting edge models such as Neural ODEs are first class, and Zygote enables overhead-free gradients.
}

\column{
**First-class GPU support**

GPU kernels can be written directly in Julia via CUDA.jl. Flux is uniquely hackable and any part can be tweaked, from GPU code to custom gradients and layers.
}
\end{:columns}

\begin{:columns}
\column{
**The Model Zoo**

A rich collection of Flux scripts to learn from, or tweak to your own data. Trained Flux models can be used from TextAnalysis or Metalhead.
}
\column{
**Probabilistic Programming**

The Turing.jl and Stheno libraries enables probabilistic programming, bayesian inference and Gaussian processes on top of Flux.
}
\column{
**TPUs & Colab**

Flux models can be compiled to TPUs for cloud supercomputing, and run from Google Colab notebooks.
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.