Giter Club home page Giter Club logo

rustpython.github.io's Introduction

Getting started

This site uses Jekyll. You can find instructions for how to install and configure Jekyll on https://jekyllrb.com/docs/.

You may also use a tool or service supporting Development Containers, such as Visual Studio Code or GitHub Codespaces. In that case, your development environment is already set up and includes Jekyll with the right version.

Run Jekyll with:

bundle exec jekyll serve --livereload

How to Contribute

You can contribute by:

  • writing an article,
  • improving the theme (developers),
  • improving the design of the site by sharing mockups or ideas (UX and designers).

Writing

You can write a blog post in any language. There are no strict writing guidelines, but if you need ones, checkout Digital Ocean Technical writing guides.

As for what to write about, if you think it is worth sharing, then it is worth writing about (as long as it is about RustPython).

If you need inspiration:

  • you can check out the issues marked with the label content,
  • you can write a how-to, a technical article about something you learned while contributing to RustPython, a use case or just notes-to-future-self for how to configure something.

Adding posts

The _posts folder is where the blog posts are.

To create a new post create a markdown file with this pattern: YEAR-MONTH-DAY-title.md, for example: 2020-10-01-why-rust-python-is-awesome.markdown

Here is how the content of that file should look like.

---
layout: post
title:  "Why RustPython is awesome!"
---

Content goes here.

Once you have your post ready, submit a pull request.

Editing the homepage

To edit the homepage, you can modifty these files:

  • index.markdown
  • _config.yml

config.yml has settings like section titles and hyperlinks.

index.markdown has the text.

contributors.json is automatically generated and has a list of the top contributors.

Improving the theme.

The theme doesn't rely on any css frameworks or javascript. It is just a super simple modification to the Jekyll minima theme.

Color Scheme

The color scheme is that of the RustPython Logo:

#F74C00 #F74C00 or rgb(247, 76, 0)

#306998 #306998 or rgb(48, 105, 152)

#ffd43b #ffd43b or rgb(255, 212, 59)

rustpython.github.io's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

rustpython.github.io's Issues

add code highlighting support

We will be sharing a lot of code snippets. check what jekyll supports and add some decent code embedding, highlighting and copying features...

Benchmark images are not displayed

Navigate to https://rustpython.github.io/benchmarks.

Notice that the first images are not displayed:
image

This is because those are cbor files, at the bottom we can see the actual svg files.

This is certainly because we are not correclt loading them in https://github.com/RustPython/rustpython.github.io/blob/master/_layouts/benchmarks.html

In fact the data/main folder should not be loaded (directories with cbor files): https://github.com/RustPython/rustpython.github.io/tree/master/assets/criterion/data/main

But the root one should be (directories with svg files): https://github.com/RustPython/rustpython.github.io/tree/master/assets/criterion

I wanted to tackle this issue but came across #65

Add "Dashboards" to the main menu

Currently, the main menu has:
Screen Shot 2021-04-05 at 9 40 48 AM

We should add "Dashboards". This could be either a dropdown list with links to each dashboard or we can create a landing page, the page will then have descriptions and links.

I am not sure which is better. The dropdown seems more straightforward.

create a graph / image explainer

Currently, on the draft site on https://rustpython.github.io/,

there is this that tries to explain what rustpython is....

explainer

I am not sure if this is true.... Is this good enough? if not, can anyone do a visual representation? (you don't need to worry about the visual style for now, you can scribble it and take a pic, i'll figure a way to make it in sketch).

[RFC] Improve website https://rustpython.github.io/

I wanted to try running yt-dlp using RustPython.
So I headed to the homepage and saw some installation instructions. Lovely!

Except, now what?
There are only online demos after that and the documentation doesn't tell me anything.

The answer was to look at the GitHub Readme. It'd be lovely if the website had some more info, like
"Now you can run RustPython by entering rustpython into the shell. e.g. rustpython -m demo.py"

adding plausible analytics?

I have an account with Plausible analytics https://plausible.io/. I've been using it for a while and it is okay.

It is open-source, super tiny/simple analytics focused on privacy (it doesn’t use cookies and is fully compliant with GDPR, CCPA and PECR etc..). There is also a nice feature where you can generate a public url for the dashboard (to share publicly).

Should i add it? or is it not needed? It will be curious to see how people find RustPython and I can share the url in the readme/with the team.

Incorrect code snippet rendering in how-to-contribute-by-cpython-unittest.html

The following code snippet is not rendered correctly. It should be some thing like this: USTPYTHONPATH=Lib cargo run --release ./Lib/test/test_unicode.py (double-dash and grey background)

Selection_550

I checked the markdown syntax with my Atom editor and it looks good. Maybe something else causes the rendering incorrectly.

replace learn more section with other resources

on the homepage. There is a "learn more" section, that was supposed to have featured articles from the blog.

Since there are so few, it is empty.
Screen Shot 2020-11-02 at 12 01 31 PM

Replace this with the "other resources" section, which will have dashbord-y things.

Screen Shot 2020-11-02 at 12 01 35 PM

Fix / document setup process

Context

I wanted to solve the issue #66 where images are not displayed for https://rustpython.github.io/benchmarks

Issue

I was not able to start Jelykill in GitHub codespaces.

Reproduction

Steps to start jekyll in GitHub codespaces:

  1. Open a GitHub codespace for this project
2. Run bundle install
Bundler 2.4.10 is running, but your lockfile was generated with 2.1.4. Installing Bundler 2.1.4 and restarting using that version.
Fetching gem metadata from https://rubygems.org/.
Fetching bundler 2.1.4
Installing bundler 2.1.4
Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead.
Fetching gem metadata from https://rubygems.org/...........
Fetching public_suffix 4.0.6
Installing public_suffix 4.0.6
Fetching addressable 2.8.0
Installing addressable 2.8.0
Using bundler 2.1.4
Using colorator 1.1.0
Fetching concurrent-ruby 1.1.8
Installing concurrent-ruby 1.1.8
Using eventmachine 1.2.7
Fetching http_parser.rb 0.6.0
Installing http_parser.rb 0.6.0 with native extensions
Fetching em-websocket 0.5.2
Installing em-websocket 0.5.2
Fetching ffi 1.15.0
Installing ffi 1.15.0 with native extensions
Using forwardable-extended 2.6.0
Fetching i18n 1.8.9
Installing i18n 1.8.9
Fetching sassc 2.4.0
Installing sassc 2.4.0 with native extensions
Fetching jekyll-sass-converter 2.1.0
Installing jekyll-sass-converter 2.1.0
Fetching rb-fsevent 0.10.4
Installing rb-fsevent 0.10.4
Using rb-inotify 0.10.1
Fetching listen 3.5.0
Installing listen 3.5.0
Using jekyll-watch 2.2.1
Using rexml 3.2.5
Fetching kramdown 2.3.1
Installing kramdown 2.3.1
Using kramdown-parser-gfm 1.1.0
Fetching liquid 4.0.3
Installing liquid 4.0.3
Using mercenary 0.4.0
Using pathutil 0.16.2
Fetching rouge 3.26.0
Installing rouge 3.26.0
Using safe_yaml 1.0.5
Fetching unicode-display_width 1.7.0
Installing unicode-display_width 1.7.0
Fetching terminal-table 2.0.0
Installing terminal-table 2.0.0
Fetching jekyll 4.2.0
Installing jekyll 4.2.0
Fetching jekyll-feed 0.15.1
Installing jekyll-feed 0.15.1
Fetching jekyll-redirect-from 0.16.0
Installing jekyll-redirect-from 0.16.0
Fetching jekyll-seo-tag 2.7.1
Installing jekyll-seo-tag 2.7.1
Fetching minima 2.5.1
Installing minima 2.5.1
Bundle complete! 7 Gemfile dependencies, 32 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
3. Run bundle exec jekyll serve (failing)
Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead.
Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead.
Configuration file: /workspaces/rustpython.github.io/_config.yml
            Source: /workspaces/rustpython.github.io
       Destination: /workspaces/rustpython.github.io/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
       Jekyll Feed: Generating feed for posts
  Liquid Exception: undefined method `tainted?' for "%b %-d, %Y":String in /workspaces/rustpython.github.io/_layouts/post.html
                    ------------------------------------------------
      Jekyll 4.2.0   Please append `--trace` to the `serve` command 
                     for any additional information or backtrace. 
                    ------------------------------------------------
/usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.3/lib/liquid/variable.rb:124:in `taint_check': undefined method `tainted?' for "%b %-d, %Y":String (NoMethodError)

      return unless obj.tainted?
                       ^^^^^^^^^
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.3/lib/liquid/variable.rb:89:in `render'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.3/lib/liquid/tags/assign.rb:26:in `render'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:in `render_node_to_output'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.3/lib/liquid/block_body.rb:91:in `render'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.3/lib/liquid/template.rb:208:in `block in render'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.3/lib/liquid/template.rb:242:in `with_profiling'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.3/lib/liquid/template.rb:207:in `render'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/liquid-4.0.3/lib/liquid/template.rb:220:in `render!'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/liquid_renderer/file.rb:36:in `render!'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/renderer.rb:131:in `render_liquid'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/renderer.rb:194:in `render_layout'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/renderer.rb:163:in `place_in_layouts'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/renderer.rb:93:in `render_document'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/renderer.rb:63:in `run'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/site.rb:547:in `render_regenerated'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/site.rb:532:in `block (2 levels) in render_docs'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/site.rb:531:in `each'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/site.rb:531:in `block in render_docs'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/site.rb:530:in `each_value'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/site.rb:530:in `render_docs'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/site.rb:210:in `render'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/site.rb:80:in `process'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/command.rb:28:in `process_site'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/commands/build.rb:65:in `build'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/commands/build.rb:36:in `process'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `each'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/commands/serve.rb:86:in `block (2 levels) in init_with_program'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/exe/jekyll:15:in `<top (required)>'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/jekyll:25:in `load'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/jekyll:25:in `<main>'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/ruby_executable_hooks:22:in `eval'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/ruby_executable_hooks:22:in `<main>'

It looks like the above issue is fixed in: Shopify/liquid#1625

But the bundle exec jekyll serve command still is failing
Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead.
Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead.
Configuration file: /workspaces/rustpython.github.io/_config.yml
            Source: /workspaces/rustpython.github.io
       Destination: /workspaces/rustpython.github.io/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
       Jekyll Feed: Generating feed for posts
                    done in 10.022 seconds.
 Auto-regeneration: enabled for '/workspaces/rustpython.github.io'
                    ------------------------------------------------
      Jekyll 4.2.0   Please append `--trace` to the `serve` command 
                     for any additional information or backtrace. 
                    ------------------------------------------------
/usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/commands/serve/servlet.rb:3:in `require': cannot load such file -- webrick (LoadError)
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/commands/serve/servlet.rb:3:in `<top (required)>'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/commands/serve.rb:179:in `require_relative'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/commands/serve.rb:179:in `setup'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/commands/serve.rb:100:in `process'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `each'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/lib/jekyll/commands/serve.rb:86:in `block (2 levels) in init_with_program'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
        from /usr/local/rvm/gems/ruby-3.2.2/gems/jekyll-4.2.0/exe/jekyll:15:in `<top (required)>'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/jekyll:25:in `load'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/jekyll:25:in `<main>'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/ruby_executable_hooks:22:in `eval'
        from /usr/local/rvm/gems/ruby-3.2.2/bin/ruby_executable_hooks:22:in `<main>'

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.