[ANN] StaticWebPages.jl: A black-box generator for static websites oriented toward academics and personal web-pages

Hi there,

I am happy to announce the first beta release of StaticWebPages.jl, a black-box generator for static websites oriented toward academics and personal web-pages.
Almost no knowledge of Julia is required, and none of web development.

You can look at my website as an example of a generated academic homepage: http://baffier.fr.

Current features:

  • main theme is responsive
  • automatic FTP upload (still working on it for windows)
  • generate publications list (using a bibtex file for the moment)
  • generate a selection of GitHub repositories
  • provide text + images sections
  • provide timeline sections (continuous TimeLine and discontinuous Card list)
  • link/icons to research/software social networks (ORCID, Github, ResearchGate, Google Scholar, Linkedin, DBLP)

The first stable release will integrate a GUI.

Requests/suggestions, PR are more than welcome.

21 Likes

Very nice, I really like the BibTeX integration! How would you compare StaticWebPages.jl with Franklin.jl, otherwise?

2 Likes

@oschulz to be honest, I was not aware of franklin.jl before this post (I checked it because of the suggestion of similar post !). It looks great. I will add a ref in the readme.

That would be the main interest I think. Specially once the GUI is available.
Because StaticWebPages.jl is oriented toward academics, the plugins (items) will usually serve that purpose. And can keep it’s simplicity.
On the other hand, other static website generators can usually do more general things.

On a side note, the BibTeX integration is done with Bibliography.jl (with MIT licence on purpose, instead of GPLv2 here) so that it can be used independently.
I will try to keep all singular plugins of StaticWebPages available in a similar way (and many should come as a part of a more general project). So StaticWebPages is also a way to show of those plugins.

2 Likes

BibTeX integration […] I will try to keep all singular plugins of StaticWebPages available in a similar way

That’s great, maybe Franklin and Documenter will consider integrating some of them, esp. BibTeX

1 Like

FWIW given you can evaluate more or less arbitrary Julia code in Franklin, you can already make use of Bibliographies.jl if you want to. A tigher integration with hyper references could be added but that’s not too difficult, feel free to open an issue for this with specs if that’s something you’d like to see.

2 Likes

StaticWebPages is already v0.2.0!!! For the best, but it includes breaking syntax changes, so I deeply apologize for those that started to use v0.1.x

Breaking changes should not occur any more before v1. Now, any component in StaticWebPages can take optional arguments for actual and future theming purposes.

List of new features:

  • Nested items in double column section
  • Hide option for page and section (to avoid GitHub or any external request while creating your website)
  • Inline components: links and (obfuscated) emails
  • Background alternate order
  • Theming optional are now possible (but none available outside of background … stay tuned)
1 Like

Can anyone help? I am getting the following error on MacOS:

ERROR: Port must be numeric (decimal)
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:33
[2] parse_authority(authority::String, seen_at::Bool)
@ URIParser ~/.julia/packages/URIParser/IuWoB/src/parser.jl:146
[3] parse_url(url::String)
@ URIParser ~/.julia/packages/URIParser/IuWoB/src/parser.jl:308
[4] URI
@ ~/.julia/packages/URIParser/IuWoB/src/parser.jl:312 [inlined]
[5] FTPClient.RequestOptions(url::String; verify_peer::Bool, active_mode::Bool)
@ FTPClient ~/.julia/packages/FTPClient/7DJzC/src/request_options.jl:51
[6] #FTP#16
@ ~/.julia/packages/FTPClient/7DJzC/src/FTPObject.jl:75 [inlined]
[7] FTP
@ ~/.julia/packages/FTPClient/7DJzC/src/FTPObject.jl:75 [inlined]
[8] upload_site(d::Dict{String, String})
@ StaticWebPages ~/.julia/packages/StaticWebPages/vBiXr/src/io.jl:53
[9] top-level scope
@ REPL[79]:3

It seems there is something ongoing with the FTP connection. I already had some troubles with windows, so I should definitely try to fix it.
I will try to give it a got this week.

A temporary fix is to use an ftp client (or any other software that allows you to upload your files).

Thank you for replying, Jean. I’ll look into the ftp client for now (do you have a suggestion for MacOS, by chance?)

Otherwise, I think the package is good and I hope you keep it going. Are you interested in developing the integration with vue.js? This seems to be the goto .js framework from which to build APIs in Julia.