Coder Social home page Coder Social logo

www.julialang.org's Introduction

README

This is the GitHub repository for the Julia Programming Language's main website, julialang.org. The repository for the source code of the language itself can be found at github.com/JuliaLang/julia.

The Julia website is generated using GitHub pages and Franklin.jl, a Julia native package for building static websites.

Making Simple Changes

To suggest a change to the website, you can simply navigate to the page with the content you think should be changed, and edit it. You will be prompted to fork the repo (if you haven't already) and then open a Pull Request. Once your Pull Request is merged, you should see your changes show up on the website in a few minutes or less.

Build previews for each Pull Request will be linked in the comment section of the PR once the site has been successfully build.

Note: please only use fenced code blocks (i.e. code blocks delimited by backticks) and not indented code blocks.

Making More Complex Changes

To suggest a change to the website that is more significant, it is suggested that you make said changes and test them locally on your device. You can do this by simply forking the base repo, cloning it locally onto your device, making the changes you want, and then following the "Installing locally" instructions below.

Once you have validated that everything looks good, you can open a Pull Request and check the Deploy Preview from Netlify as a final sanity check.

Build previews for each Pull Request are available at: https://julialang.netlify.app (note that given the GitHub Actions design, build previews are only available for those who have write access to the repo).

Making modifications and seeing the changes locally

Clone the repository and cd to it. Start julia with julia --project and do

julia> using Pkg; Pkg.instantiate()

julia> using Franklin

julia> serve()
 Initial full pass...
 evaluating code [...] (learning/code-examples.md)
 Starting the server...
✓ LiveServer listening on https://localhost:8000/ ...
  (use CTRL+C to shut down)

Navigate to localhost:8000 in a browser and you should see a preview of any modifications you make locally.

Modifying the CSS: modify the relevant files in _css/.

Modifying the HTML structure: if you want to modify the navbar, or the footer, go to _layout/ and modify the relevant template fragment.

Modifying the landing page: since the landing page has its own design, it is written in HTML with a few insertions of repurposeable fragments where appropriate, just modify index.html

Adding a blog post

Follow the blueprint of the many other blog posts in terms of folder structure and file structure. One important thing to bear in mind is that RSS is a bit picky in terms of what it can accept so be careful for what goes in

  • @def rss = ...
  • @def title = ...

In particular:

  • avoid the use of &, for instance change ML&PL to ML-PL,
  • only use plain text in rss, no links, no markup, no HTML entities.

If in doubt, after running Franklin's server, copy the content of __site/feed.xml into the w3 feed validator, it should show "Valid RSS feed".

Metadata

In order to add <meta aaa="bbb" content="ccc"> tags on your blog post, add

@def meta =[("aaa", "bbb", "ccc"),]

(you can specify multiple tags of course). See for instance Keno's recent blog post.

Looking for broken links

Every so often, one should do an in-depth check that there are no broken links. While Franklin provides a quick way to do this, it's a good idea to do this in depth from time to time. The broken-link-checker package is a pretty neat way to do this. After installing it with npm just do

blc https://julialang.org -ro

(it takes a while, and may require you to do it in several steps).

Add languages for syntax highlighting

Franklin uses highlight.js for syntax highlighting. To add a new language to the library used by this webpage, recompile the library and add a the new language to the list. From the root of the highlight.js repo:

$ node tools/build.js bash c diff javascript json julia julia-repl plaintext python ruby shell ini yaml

Copy the library from build/highlight.min.js to _libs/highlight/highlight.min.js in this repository.

Build Previews on Netlify

Currently, the build previews are run through Logan Kilpatrick's Netlify account. If the account goes offline and the previews are no longer available, all you need to do to restore them is sign up for Netlify, import a git repository (this repo), select the "gh-preview" branch, and then make the custom sub-domain "julialang.netlify.com". You should then be able to build the previews accordingly.

FAQ

tight lists

This is mostly a legacy item. If lists look wrong on the page, please open an issue. You should not have to use @@tight-list ... @@ anymore.

If you want nested lists, make sure the indentation for the nested list is made with spaces and not with tabs.

www.julialang.org's People

Contributors

ararslan avatar aviks avatar chrisrackauckas avatar dilumaluthge avatar elizavetasemenova avatar fonsp avatar goggle avatar ihnorton avatar jeffbezanson avatar jiahao avatar keno avatar lilithhafner avatar logankilpatrick avatar mforets avatar mikeinnes avatar mlubin avatar pallharaldsson avatar ranjanan avatar roger-luo avatar shashi avatar simonbyrne avatar staticfloat avatar stefankarpinski avatar stevengj avatar timholy avatar tkelman avatar tlienart avatar viralbshah avatar vtjnash avatar zlatanvasovic 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  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

www.julialang.org's Issues

justify not center

It is hard to read text that is both ragged right and ragged left. Under "Julia in a nutshell" the topic descriptions would be nicer formatted differently/

Footer content

There's a footer at the bottom page with content that needs to be updated. What do you think of:

Download:
Link 1: Julia v0.7.0-beta
Link 2: Julia v0.6.4

Documentation:
Link 1: Language documentation
Link 2: ?

Packages:
Link 1: Package List (pkg.julialang.org)
Link 2: Package Ecosystem Pulse (https://pkg.julialang.org/pulse.html)

Community:
Link 1: Github (GitHub.com/JuliaLang/julia)
Link 2: Discourse

Learning:
Link 1: Youtube channel
Link 2: Julia in the classroom

Help:
Link 1: Discourse
Link 2: JuliaLang Slack

Need a suggestion for second link in Documenatation. @ViralBShah ?

Font is too bold

too bold

The bold font weight pushes letters close together and makes them harder to distinguish. Perhaps "Futura LT Medium" would be a better choice than "Futura LT Bold"?

jumbotron image doesn't seem to get cached

I notice that the jumbotron image is always loaded and takes some time to show up. And it is slower to show on slower connections. Shouldn't it get cached and show up instantaneously?

help? type

Typing: ? type gives an error:

help?> type
ERROR: LoadError: Invalid @var syntax incomplete: premature end of input.
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] splitexpr(::Any) at ./docs/bindings.jl:28
[3] bindingexpr(::Any) at ./docs/bindings.jl:17
[4] lookup_doc(::Expr) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v0.7/REPL/src/docview.jl:137
[5] docm(::LineNumberNode, ::Module, ::Any) at ./docs/Docs.jl:501
[6] @doc(::LineNumberNode, ::Module, ::Expr, ::Vararg{Expr,N} where N) at ./boot.jl:451
in expression starting at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v0.7/REPL/src/docview.jl:301

Big List of GithubOrgs, links to chats etc

New site is pretty.

Not quiet 100% of information from
https://github.com/JuliaLang/www_old.julialang.org/blob/master/ecosystems/index.md
has made it across.

For example that big list had links to all the Chatrooms, forums, facebooks, etc etc for all the localization efforts.
New localization page only links to github orgs, or websites.
Most of those websites do then have links to the other communication channels so maybe that is OK.
On the other hand @ViralBShah's comment here
about making a PR to this repo, to link to the Chinese discourse, is not possible.
(or at least would look out of place without the others.)

The other thing the ecosystems page had was a big list of all the orgs,
and all there chat rooms etc.
Some of that has made it into the new ecosystems pages.
But not all of it.

The github orgs are a big way of guiding people to packages -- it is a proxy for stability and compatibility.
Having that would help address this concern raised on discourse

On the other hand the orgs list does become out-dated, chatrooms can become disused etc.
And the huge list is huge.

I still think it has some value that we want preserve.

Maybe there could be a "More Info" link behind the new fancy pretty ecosystems page?

Highlighting tabs

When you click the Download or Community tabs, the Home tab remains highlighted.

links to v0.6.4 source are broken

The links to the source with and without dependencies are broken.
e.g. the source with dependencies link is

https://github.com/JuliaLang/julia/releases/download/v0.6.3/julia-0.6.4-full.tar.gz

it should probably be

https://github.com/JuliaLang/julia/releases/download/v0.6.4/julia-0.6.4-full.tar.gz

Editors to add

We definitely want Jupyter/Jupyterlab in the editors.

IDE links

Clicking on the IDE icons links to http://staging.julialang.org/ instead of the relevant IDE websites. Also, the Jupyter logo is bigger than the other two which looks weird since the text links aren't aligned.

Various spelling mistakes

in the technical section(languagefeatures.html) it reads "natrual" instead of "natural"

edit: i also found these:
in the packages section theres "the the"

webpage never stops loading

go to the website and the page loads but never stops "transferring data from i.ytimg.com"
that cannot be right

Ecosystem slide design

@essenciary Do you think we can update the Visualization pane to have 3 parts? A picture, some code that produces it, and text?

The feedback was that we should show some code fragments, and this seems like the best place to do it.

Rearrange online tutorials

I suggest the online tutorial list be ordered with the latest at the top.
The Intro to Julia tutorials that do not have links should just be removed from the list.

Is this page automatically generated or should I just edit it?

Add Yao.jl to quantum computing/change to quantum physics

I see the scientific domain mentioned quantum computing, but... however, I guess Yao.jl is the only Julia package that is able to simulate/run an arbitrary quantum circuit at the moment (It was designed to do this job). Another library BBN-Q/Cliffords.jl is also for quantum computing.

QuantumOptics like is described as it is, is for open quantum systems. I was wondering if your guys want to add it to quantum computing with QuantumOptics or just change quantum computing to quantum physics or something, cause this is quite misleading... In python community, they have OpenFermion, ProjectQ which will use quantum circuit for quantum algorithms, if you want to mention quantum computing.

Reinstate Benchmarks page

One of the things to be done on the new website is the Benchmarks page. I think the benchmarks no longer need to be on the front page themselves, but should be linked from there.

Blog Formatting

Has come out pretty badly, e.g..

A bunch of these posts still get a lot of views, so it'd be worth having them look nice.

extra space, paren style

from

This can be seen in the abundance of scientific tooling written in Julia, such as the state-of-the-art differential equations ecosystem (DiffEq), optimization tools ( JuMP and Optim),
----------- ------- -------
link link link
to

This can be seen in the abundance of scientific tooling written in Julia, such as the state-of-the-art differential equations ecosystem (DiffEq), optimization tools (JuMP) and (Optim),
----------- --------- ---------
link link link

Consider linking Packages section to juliaobserver.com

The pkg.julialang.org site is fairly static and not as interactive as people will expect. Julia Observer gives the impression of activity and gives users a way to browse and search packages, so I would suggest that.

Julia code somewhere on the landing page

I somehow didn't notice the fact that the otherwise-lovely homepage revamp has completely removed all Julia code from the landing page. We need to have some example of actual Julia code on that page. It would be good to brainstorm what a good bit of example code would be.

data viz graphics are too much

The three graphic elements illustrating Data Visualization are one too many -- the flat colorized back and forthing one should go, three of them all moving is hard on the stomach and with two there, each is easier to appreciate.

maybe ask luxor.jl to use a very much smaller

image

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.