From 98918b9267c05ed39843f98b401592c9cbfc9bc0 Mon Sep 17 00:00:00 2001 From: mireille Date: Mon, 16 Mar 2020 13:14:50 -0400 Subject: [PATCH 1/8] jekyll theme for rustpython / initial draft --- .gitignore | 2 + 404.html | 25 +++ Gemfile | 30 +++ Gemfile.lock | 84 ++++++++ _config.yml | 66 ++++++ _data/contributors.json | 16 ++ _includes/footer.html | 10 + _includes/head.html | 23 +++ _includes/header.html | 10 + _layouts/archive.html | 41 ++++ _layouts/default.html | 20 ++ _layouts/home.html | 104 ++++++++++ _layouts/post.html | 28 +++ _posts/2020-03-12-thing-explainer.markdown | 11 + _posts/2020-03-12-use-cases.markdown | 7 + _posts/2020-03-12-welcome-to-jekyll.markdown | 8 + assets/android-chrome-192x192.png | Bin 0 -> 8880 bytes assets/android-chrome-512x512.png | Bin 0 -> 21313 bytes assets/apple-touch-icon.png | Bin 0 -> 7653 bytes assets/favicon-16x16.png | Bin 0 -> 543 bytes assets/favicon-32x32.png | Bin 0 -> 1021 bytes assets/favicon.ico | Bin 0 -> 15406 bytes assets/img/explainer.jpg | Bin 0 -> 19867 bytes assets/img/rust-lang.svg | 11 + assets/img/rust-python-logo.svg | 11 + assets/media.css | 70 +++++++ assets/style.css | 199 +++++++++++++++++++ blog.html | 4 + favicon.ico | Bin 0 -> 15406 bytes index.markdown | 30 +++ manifest.webmanifest | 11 + 31 files changed, 821 insertions(+) create mode 100644 .gitignore create mode 100644 404.html create mode 100644 Gemfile create mode 100644 Gemfile.lock create mode 100644 _config.yml create mode 100644 _data/contributors.json create mode 100644 _includes/footer.html create mode 100644 _includes/head.html create mode 100644 _includes/header.html create mode 100644 _layouts/archive.html create mode 100644 _layouts/default.html create mode 100644 _layouts/home.html create mode 100644 _layouts/post.html create mode 100644 _posts/2020-03-12-thing-explainer.markdown create mode 100644 _posts/2020-03-12-use-cases.markdown create mode 100644 _posts/2020-03-12-welcome-to-jekyll.markdown create mode 100644 assets/android-chrome-192x192.png create mode 100644 assets/android-chrome-512x512.png create mode 100644 assets/apple-touch-icon.png create mode 100644 assets/favicon-16x16.png create mode 100644 assets/favicon-32x32.png create mode 100644 assets/favicon.ico create mode 100644 assets/img/explainer.jpg create mode 100644 assets/img/rust-lang.svg create mode 100644 assets/img/rust-python-logo.svg create mode 100644 assets/media.css create mode 100644 assets/style.css create mode 100644 blog.html create mode 100644 favicon.ico create mode 100644 index.markdown create mode 100644 manifest.webmanifest diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..10def3053 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.jekyll-cache/ +_site diff --git a/404.html b/404.html new file mode 100644 index 000000000..086a5c9ea --- /dev/null +++ b/404.html @@ -0,0 +1,25 @@ +--- +permalink: /404.html +layout: default +--- + + + +
+

404

+ +

Page not found :(

+

The requested page could not be found.

+
diff --git a/Gemfile b/Gemfile new file mode 100644 index 000000000..8e7ddbec8 --- /dev/null +++ b/Gemfile @@ -0,0 +1,30 @@ +source "https://rubygems.org" +# Hello! This is where you manage which Jekyll version is used to run. +# When you want to use a different version, change it below, save the +# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: +# +# bundle exec jekyll serve +# +# This will help ensure the proper Jekyll version is running. +# Happy Jekylling! +gem "jekyll", "~> 4.0.0" +# This is the default theme for new Jekyll sites. You may change this to anything you like. +gem "minima", "~> 2.5" +# If you want to use GitHub Pages, remove the "gem "jekyll"" above and +# uncomment the line below. To upgrade, run `bundle update github-pages`. +# gem "github-pages", group: :jekyll_plugins +# If you have any plugins, put them here! +group :jekyll_plugins do + gem "jekyll-feed", "~> 0.12" +end + +# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem +# and associated library. +install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do + gem "tzinfo", "~> 1.2" + gem "tzinfo-data" +end + +# Performance-booster for watching directories on Windows +gem "wdm", "~> 0.1.1", :install_if => Gem.win_platform? + diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 000000000..4283c0ab9 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,84 @@ +GEM + remote: https://rubygems.org/ + specs: + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) + colorator (1.1.0) + concurrent-ruby (1.1.6) + em-websocket (0.5.1) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0.6.0) + eventmachine (1.2.7) + ffi (1.12.2) + forwardable-extended (2.6.0) + http_parser.rb (0.6.0) + i18n (1.8.2) + concurrent-ruby (~> 1.0) + jekyll (4.0.0) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (>= 0.9.5, < 2) + jekyll-sass-converter (~> 2.0) + jekyll-watch (~> 2.0) + kramdown (~> 2.1) + kramdown-parser-gfm (~> 1.0) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (~> 3.0) + safe_yaml (~> 1.0) + terminal-table (~> 1.8) + jekyll-feed (0.13.0) + jekyll (>= 3.7, < 5.0) + jekyll-sass-converter (2.1.0) + sassc (> 2.0.1, < 3.0) + jekyll-seo-tag (2.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + kramdown (2.1.0) + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.3) + listen (3.2.1) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.3.6) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (4.0.3) + rb-fsevent (0.10.3) + rb-inotify (0.10.1) + ffi (~> 1.0) + rouge (3.17.0) + safe_yaml (1.0.5) + sassc (2.2.1) + ffi (~> 1.9) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + thread_safe (0.3.6) + tzinfo (1.2.6) + thread_safe (~> 0.1) + tzinfo-data (1.2019.3) + tzinfo (>= 1.0.0) + unicode-display_width (1.7.0) + wdm (0.1.1) + +PLATFORMS + ruby + +DEPENDENCIES + jekyll (~> 4.0.0) + jekyll-feed (~> 0.12) + minima (~> 2.5) + tzinfo (~> 1.2) + tzinfo-data + wdm (~> 0.1.1) + +BUNDLED WITH + 1.17.2 diff --git a/_config.yml b/_config.yml new file mode 100644 index 000000000..0f06bb687 --- /dev/null +++ b/_config.yml @@ -0,0 +1,66 @@ +# Welcome to Jekyll! +# +# This config file is meant for settings that affect your whole blog, values +# which you are expected to set up once and rarely edit after that. If you find +# yourself editing this file very often, consider using Jekyll's data files +# feature for the data you need to update frequently. +# +# For technical reasons, this file is *NOT* reloaded automatically when you use +# 'bundle exec jekyll serve'. If you change this file, please restart the server process. +# +# If you need help with YAML syntax, here are some quick references for you: +# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml +# https://learnxinyminutes.com/docs/yaml/ +# +# Site settings +# These are used to personalize your new site. If you look in the HTML files, +# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. +# You can create any custom variable you would like, and they will be accessible +# in the templates via {{ site.myvariable }}. + +title: "RustPython" +description: "An open source Python-3 (CPython >= 3.5.0) Interpreter written in Rust 🐍 😱 🤘" +baseurl: "/website" # the subpath of your site, e.g. /blog +url: "https://mireille-raad.github.io/rustpython.github.io/website" # the base hostname & protocol for your site, e.g. http://example.com +github_username: RustPython +disclaimer: "The disclaimer not to use this in production. Update this in the config.yml file at the root." +github: https://github.com/RustPython/RustPython/ +docs: https://github.com/RustPython/docs/ +gitter: https://gitter.im/rustpython/Lobby +show_excerpts: true +contributor_excerpt: "edit me in config.yml file at the root folder." + +navigation: + - title: Blog + url: "blog" + - title: Docs + url: https://github.com/RustPython/docs/ + - title: GitHub + url: https://github.com/RustPython/RustPython/ + - title: Gitter + url: "https://gitter.im/rustpython/Lobby" + +# Build settings +theme: minima +plugins: + - jekyll-feed + +# Exclude from processing. +# The following items will not be processed, by default. +# Any item listed under the `exclude:` key here will be automatically added to +# the internal "default list". +# +# Excluded items can be processed by explicitly listing the directories or +# their entries' file path in the `include:` list. +# +# exclude: +# - .sass-cache/ +# - .jekyll-cache/ +# - gemfiles/ +# - Gemfile +# - Gemfile.lock +# - node_modules/ +# - vendor/bundle/ +# - vendor/cache/ +# - vendor/gems/ +# - vendor/ruby/ diff --git a/_data/contributors.json b/_data/contributors.json new file mode 100644 index 000000000..5a06f18af --- /dev/null +++ b/_data/contributors.json @@ -0,0 +1,16 @@ +[{ + "github_username": "coolreader18" +}, +{ + "github_username": "palaviv" +}, +{ + "github_username": "windelbouwman" +}, +{ + "github_username": "cthulahoops" +}, +{ + "github_username": "youknowone" +} +] diff --git a/_includes/footer.html b/_includes/footer.html new file mode 100644 index 000000000..68df518fe --- /dev/null +++ b/_includes/footer.html @@ -0,0 +1,10 @@ +
+ + diff --git a/_includes/head.html b/_includes/head.html new file mode 100644 index 000000000..7d732ed5d --- /dev/null +++ b/_includes/head.html @@ -0,0 +1,23 @@ + + + + + {{site.title}} + + + + + + + + + {%- seo -%} + + + + + {%- feed_meta -%} + {%- if jekyll.environment == 'production' and site.google_analytics -%} + {%- include google-analytics.html -%} + {%- endif -%} + diff --git a/_includes/header.html b/_includes/header.html new file mode 100644 index 000000000..569584222 --- /dev/null +++ b/_includes/header.html @@ -0,0 +1,10 @@ +
+ +
diff --git a/_layouts/archive.html b/_layouts/archive.html new file mode 100644 index 000000000..7a2c41062 --- /dev/null +++ b/_layouts/archive.html @@ -0,0 +1,41 @@ +--- +layout: default +--- + +
+
+
+
+ +
+
+
Archive
+
{{ site.title }} {{ page.title | escape }}
+
+
+
+
+ +
+ {%- if site.posts.size > 0 -%} + + {%- endif -%} +
diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 000000000..58e141b74 --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,20 @@ + + + + {%- include head.html -%} + + + + {%- include header.html -%} + +
+
+ {{ content }} +
+
+ + {%- include footer.html -%} + + + + diff --git a/_layouts/home.html b/_layouts/home.html new file mode 100644 index 000000000..1f17474c9 --- /dev/null +++ b/_layouts/home.html @@ -0,0 +1,104 @@ +--- +layout: default +--- + + + +
+
+
+
+
+
+
{{ site.title }}
+
+

+ {{ site.description }} +

+
+
+
+
+
+ + + +
+
+ RustPython Explainer +
+
+

+ {{ page.explainer }} +

+
+
+ +
+
+ + + +
+
+
Installation
+ {% for install in page.installation %} + {{ install.command }} + {% endfor %} + +
+
+ + + +
+
+
Goals
+
+ {% for goals in page.goals %} +
+ {{ goals.goal }} +
+ {% endfor %} +
+
+
+ {{ content }} +
+
+
+
+ Learn more + +
    + {%- for post in site.posts -%} + {% if post.categories contains "featured" %} +
  • {{ post.title | escape }}
  • + {% endif %} + {%- endfor -%} +
+
+
+
+
+
+
+ + + +
+
+
Contributors
+

{{ site.contributor_excerpt}}

+ +
HOW TO CONTRIBUTE
+
+
diff --git a/_layouts/post.html b/_layouts/post.html new file mode 100644 index 000000000..fb9873188 --- /dev/null +++ b/_layouts/post.html @@ -0,0 +1,28 @@ +--- +layout: default +--- + + +
+
+
+
+
{{ site.title }} Blog
+
{{ page.title | escape }}
+
+
+
+
+ + +
+
+
+ {%- assign date_format = site.minima.date_format | default: "%b %-d, %Y" -%} + +
+ {{ content }} +
+
+
+
diff --git a/_posts/2020-03-12-thing-explainer.markdown b/_posts/2020-03-12-thing-explainer.markdown new file mode 100644 index 000000000..09c6c4f42 --- /dev/null +++ b/_posts/2020-03-12-thing-explainer.markdown @@ -0,0 +1,11 @@ +--- +layout: post +title: "Thing explainer: interpreters, compilers, bytecode and other things you need to know." +date: 2020-03-11 11:34:01 -0400 +categories: featured +--- +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. diff --git a/_posts/2020-03-12-use-cases.markdown b/_posts/2020-03-12-use-cases.markdown new file mode 100644 index 000000000..8344d2b13 --- /dev/null +++ b/_posts/2020-03-12-use-cases.markdown @@ -0,0 +1,7 @@ +--- +layout: post +title: "What can I use RustPython for?" +date: 2020-03-11 11:34:01 -0400 +categories: featured +--- +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. diff --git a/_posts/2020-03-12-welcome-to-jekyll.markdown b/_posts/2020-03-12-welcome-to-jekyll.markdown new file mode 100644 index 000000000..b828dba82 --- /dev/null +++ b/_posts/2020-03-12-welcome-to-jekyll.markdown @@ -0,0 +1,8 @@ +--- +layout: post +title: "Python Interpreters." +date: 2020-03-12 10:34:01 -0400 +categories: featured +--- + +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. diff --git a/assets/android-chrome-192x192.png b/assets/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..37dffc3b16c7e0d42226894dc18d7c33c6a93dcc GIT binary patch literal 8880 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 literal 0 HcmV?d00001 diff --git a/assets/android-chrome-512x512.png b/assets/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..6e55a4f306e9f82a6cd4edf2504e407950f23581 GIT binary patch literal 21313 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

a1&3*p${UnD-aw}kd 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

xl#Js;75}@o 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�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 ts^h}&t3YY@-ybVbFCvW@qe`^=Fb2C literal 0 HcmV?d00001 diff --git a/assets/apple-touch-icon.png b/assets/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..13b4e11cf4591b54c880f196b89b1b5cb5386a23 GIT binary patch literal 7653 zcmYj$2QXak7xs!8mXHvvE<`7KbgQk^>xvf9dx_|x1iy`v=r!7ksB3kii)M91fw*KEuLWFzD4HAg} z08AB76|hl2&R%X{0JU%9S!WU}s|QI$EE)T~hoi=nge|0whb;usC$8hj=Aov~N(MA* z^trq1JLmB~v%psVVCW601sw!Zbvfj#=2-bMgxJw%UXjDcnDU1`wIsEwQcHQ=ap2t+ zk!f;b5fa&Y5t6qlORmec;9K4yHGJW|3Ap!8k(H8!;QuzKR;8pjE230>;<9Tl)BD2p zt)QIe=;4QH+~k*+1Q8xb&UBG&+?Brc@^8dBEQw~F%kHX<#GJrZC5qL$9kAEY{n*m} zk;d%AGcj^=iHy}{M3qT(zA`U`vvpz{340#gETdp(qI$%(35~muKjN6@p70(p6?7ib zy+piu9WZiBa;n^BO1ElkllKd2C5UcpAC2BOMbdUJt)x9);^}$^zT%kHMUVpHMYUdw zTWq_$*mr($u*Vm&^=(xDlFtNvu)r<&nUs;X-ZSEcfEQB3&_(aTIY6KsiL|ckADNBg zZp%ir8;NZ$4S%BoUvYDLHJYq&XB5oazE~4^yXBX5cKTZuzCnOq6-3hrP-(HVd4Y?k zA9p`9L4VAH8#61n_2XGgrE5X{x(lKmOwd6Yn7t;rqa}G&GjNZIoMaW$*aWO<1$j`_ zF-E*pR@677=44h@PKZM8QG3i!R8QCjaCLbhX~9uL->sQKOq9?nCg`7nLf9aj6GYjKmSau3&-|xJn&-T|i&! zwlT%x1#8d!MctS{Fqe%^3o!d3koJ)t^>G6!fu+(q-4<+RW2ku00#0kj%SIfMdk_3| z`elr!96SJGb1HVN&F?~T2oE5Pj}v`6YHc@(eQQVv_dkzY_w6o3qR={Jjq!P62k##F zH6*+220$et>7Wy3JrjS$bjyd-1nYdU$|jQuDXsxUc33{82F^C3YSe@>WQ3l)p~^R(r-NNUC!oMxHOu)P~eR8#Pwd`SP<(g7Z8r7{-bT$;H&4{ zATDo&9tKVv=J&QVTS%O@)^=svM}F0i*6kxIu@Hf7LVK63)EhRG3qYY@r=eO~JgVk1 zbG5-xyH~yQoF!24YY*sVRWH$<`sjtk%(6Q;uA$_6I{701_J+)%Y$%1I%}={9HlOX> zNKKb>f|=^dB%cm5k%3bLVV3FZY%6HXMHP1yAI0TMvbT0CIrdLDBCXiAHy&-v)+3_Y zvbV2YXR3#2wjp@z+Z*a-lV)PQ)$`x}OSjJUn%NWM_j&xW9a~JXC}{%CSP&K2x)SOk zn1J2sk>~SlPbw!{ho;5hw`fh5W;GZYy=5g=5Z5r!zR5fIs!nvbM9G(Up$#R^rxY2; z;K=pl+p7P*Y$WX{ocs1x$Y~|*Eb&WraJvxwH5zKdFE6s?$i5})ORUwh)AfjBq3z}9 zMLOcYbkX7?38>_7|A_Yf0|fOqdqA6JaUBIl>Nl=OXs2f^E*OcaiT=L?a~2 zj{t(u};nDRs6?zR>gnTjyw@7UCJap z`uo+V9@BZ9kBGe#!V7D!d&p91CMKUjzgDLE9L*tAlXWF-OFGRg-(syh@x1T>_=-~D zDT%T5xih_ha=<*^awnc!_k-WTeBq8``D|O{wYNRo&`lvtX`!ZWs!nZ@bM26(6IB2O zkryaD8}BVVwN&oQp&K}%w0wtadn2&cI`nbPgG!hTmdFORHlRj23_jW)-f-O}e) z@go~4NH0zI&pu>z286p|Wg;JIRhswG_>Uzf->E`$?|7i%nts8$qk#tH;#Cy?uczXr zin^>**IML%$*la6ifa zVm{SR#^$@gY|$>F>=GL{mX6tjPWE^_9!Bbv{| zib6Y{)cqOXG(9L8a7zT7>y|{11>E);*g|ILA8qn8 zuu=RZ(oJ%EVeGws(Cd^!zUw}-EUDfirJ5IVAipcZMaR5Tic)D&y0e#S*KKd>jBtBc zjuAD~7xe1dcNR$Q+DjbDh;lh6&Zc zrnFTy{=MSk$K%?y*7Ab84uOFeu^%RD)t^~xx#WJ$!-~0`iOtVF>|Uc;r}Py&jK}#I z2RcZE_OT8}E|=Yc1xz~O{jUKl*>4a0%YZkJ(w_gaJ+JInQv}J!mINVE4e2khUJFD3 z4GoO_5pG!Xb;KAjmkYN(V-f#e=b1w}93Bb9HY_;V&hLx-nCGta9QEou6ZIlUJ99T- zNV8prkt=U$0T=w9!aZV^_3o+QeUjHVo)G$yt(JI|#hJ^+nOjA+ov!a~d}{K$jh-&$ zRlu~Z)4tA?L_$F?Zm&5QdR?@o2dCgih?kpxXMzKU(gbbHj25kgr!gxJOjJ+W2XIn# z3(PrMN9Er>7F*pEWMXg&#N*?kzn*}a$OR~koPAC!n75xE-%Ixh20mQ{!5UTcuj~nl z{7>Zm8ojxyl;3s#-PA#g`=JJ-7czKi8$v~9yBW>(`Xy!e&n>iWziE)GU3M<= zGE|P|kO<6V0B0y@3eg18IiuS@aA9rvwJAF_mFm#BGVOXm&%v-!t6040lb7n-Q9E8L zq-?owyz+(jI8O9~meIJ z4|8YApG~0*&m{Nwn1A+d1aSb?WkZzmL_Apq8sgx*3G_G!7{W!8wJ6b&28r|n4CDb(^=j9w8G5K z&!dNa=;7$wKf)9+VDGg1%+n#d6?C3nMtN1-sw_S6tj?mCk7xVZ-c%AoxECg$?8sGYj?o;r{%>6 zTMBTuw<6YblYt9#Qh*2PXhmO5(j<2r%g!vD z*Ku!cBfNf<93uvW?mzDm@$LzfR3d`e37Nuix({)k{z($^U1gUC@I=1~RXOJSgdN#?pab#75^ zndGJqkJXY~>?mS+xRMIn7A1vC2KDchYQ_%3bWgsRg=V>(ck*)6&u2eRh_jysCii6p z=Q#Md2{(LXw6`9SKZ!AF(7Sc>lVHtCU@`X{4sF=((RI3^<`D-BglC3T3vo;Ar6NLh z#UE9@@XpD}P2olr1Wt}4ZUm^K^;F`$mpU9pgK{*vdSPMEz!nL;R2OUDAmrfpOjdAZ=Tj#uGOAdfjKsYZ1k-wO zY}ti)J4j@wIz8D=;IOpC%*&K>iY)_!X5tbkQ*i zG1fCB>)qs*d549Jzzik_9aV4tD0Dm^J>q=N{HA;52`BpPTnR}oj?T*nTW%_Jkk0BK zId02*$wrTn&);M&sB5&G=vkRjk+l$ak0X0v<~LM6%5W!DQ z`9HMQxLuDn5-XxdE*^w{m{l5UXCdHD9lpLJ+ntFs5>&R$?2zNuVA=a*l*f_wNaLZ_ zh`b-e|3+qEKCr#jS}T<#+_U{kCFOIgEZmJ1l18c=@X!+AUO`dRq~J}_wbF!(Ob?Fj zJ=tDNOcPu^-vsZi|k9p7f+Q5#BJ&=qtRwaB_O%SssE_E+K8LT8?3#0^4k!LI1l z5N%1ulOjaOAF9JY!4EQkx1T&CD%bB!VeTgnW`~u!&#q_mALFJ^!1_marltBEN!75- zvTU7TS-q)QjvUi^C^l#QHXpXw^ezuyQ5QfZ229ijD<5&e-iAx$NPJ?nM| zV|n`P7a@&#NLtQVJn8Hd^OLDhl9$|DU))~M;?`6Eb}dPGYQC`Y=C&C!Ws1H5kL>pF^iFNVcn|BQwKT>z z*ngjtALyY|ANBtAEz9nKC68y8Z2zRNTWHZgty>NhxO)TLOOA{@70oZ8DI`ip$!;#q zbTM7j9fmA2Ht&4Ep@p^tKa07+3#5ii#@Z6KUVNfQMIfP+yl=~_xb)o4U4Q?~N6Y(z zR(=&UBFWVCm1yo@KpmWQ;4u8wRil}Wd;<>%R!8{eMYdr!8$;h`ECsm7f= zuz|o?9qG1$CK9ES@O_M*aaFbE$3%5++~)=RfMI*?;T3@%Qzv87Fz;f8gQ~=_$A+KE z^m8BA4`(6N%f&-nX@tfiK^S^051%Gu3;)*2rdk!Gk3`}nn{MtNpkn*2}3$Lr) zJvkb>zOcV^GP3^Det%nY_)J)-D$D0Y`IpaeJ71qZqvH!)xnf^&9QPfUEIhE1XkV>H zwhNnBg3(F9Y%)hK78meRsoqyjTne-z*5j{8M7>R+5uVc^n<+tpuX2Pnkf^`OLzemM z$8okBLh|)>2Tu__s2}&4(d-GTlE&;nzPe_=2o!zsJ(gs2-Xa0LSlGL(A$ez z9|}pNZx$`!I1Bomd8m{ABZtF0BngJ_qOkoC!_Ul$V+&U7^&XQ2wGlV@flOy)==rlAR5UQ7z)TH803 z^8Rj;g5s#~htmFXIi7Ua-`0s-`Qk2myg8JI@*G`j4;t2w4peH4fJ4ZEvNd>Lx3l$Ln!t7p`4 zkwOwMuRtvahK9DxtXqZVU|fV~gLG)#Q7x0v(Z^g^88@X zhGC$`T0C`jki<-Rc6Sdh5()h_yhw^YiM1`?r64T|3OjQ~C);IOska0&kDPFXivHM@W&x2DZ8iEJ{`Zs~(_c$&O1YO8IatgY} zo)!B0qx|*IjRiR zA--qN3kv$|1Lh~NzdL^HiHHS)Dho`X|EO}+*c&8CU^8$3?^=#_+IYV$W^x0{b~K>x zuedz{bKc2JzepIT?^+=KkZj%955M?mhuu_GyU97G|DH2Prnt`S5%bC*2Sbs8L57gD zF2sG#8|uc;x5Jr~{8F=fVGP{GjfCtD=FY`Gv4L5~0uRb|Xh#QQlDmYGe0L>lhcbHL zCvm+Evb?(+rEg~swDcJdL}a&JrWgOKP8kF-|Jj`vm-{btoD!tvTKqwqDc7Lmf!Yt5 z?s=VfgZ#2!o*pU^ZWrs!WL%DAKfUPu#bG4)dPcW^r8_mHM_-T)BHjx#G0=)3=3C1x zQ~NNf)!V$S0fr;IslTfIwN0>A=0e7Q)TY^*{H$!&L$g*I_9gSu(j`n~5_Z+{WMgl< zRO|REkJKCBN%XS`H0k&3>q5>5Rw(#Zb^-&4)n)<@)t9YtXC$KdIU$xT7BAa$=XCs@ zcP7B@2dS~gCO=1iWg3W400MAvMk}5@1@%%n{*b>rwZRT)wOJh<_6!mz;`!;0MEX66 zYQ4?4qW5>m$R$?YCDWT7l`H?rrVmPx+Ivlo==E3`vaC8NZWQMW0K zzK>>h9D}n8L)8x8*-j_*cHY{V$*we?GauHoUO5Q+ilWHxo^NfkZQ=jJ-nCNcnVqS3 zWV}x1$VIi(Rv9uv%S7H3-%Enpv=W|TF=D}DMQvv;$b}GY?F2U#1np6ve|Y3sq$5Nu zP#Qj{pH~7OSw`f?ATkmk$+KHVt47c0o9M5OQ#{}#I}G>f+?_KZqin-XAOK zisKJX3dEloEBg1%1HD4&k2X6S@yuTTd2=&KG(|Ud2y+J1T)0AG%UJZ>`pUox55O!4 zX-35|_sn2b$6Di{!^)KHMM5q;SLHn2PG4t@WX2P1GvqaQ)g>wEDIABf;cmXF*w3T} z17rCmk|i7V&2Xg^ARqyM1aRDv!G@B*QLmi{BND1m{Cv2%7IlD_C}GK}DPi9dm&8}U zHw|1KrC1cY=S3af3t$I?-d`35=>Bmr$&vZfJW0gaO04;&i*cRCtR%`=HBg5UO9NO1 zv=Jeg6dA%d0kVY4#sE+JbAs@U(0u7SvLR-J<%_=_=^W-4nK@YBt3lImva2cphTqMv zQUGRnZiKjEpAg`-8fh82Kaw#E`aYxZ>XUmM&){0=gJe0&hnh3Zz4`zch8W{<4=V{6 z2Am6o-vRXSUfmlBY9*dRw>m zoR90`-jA8PueCf~aF}z@HBmGeK=${$Dv}${~#{ z$)Gd_9HgraIYVL?O{*UT-5uXAqd-de^aVLm!&0aXafxCmB;LhP%T(p#*i$k*GHK3+ zW~=7#+LzdBKEq@?J}Vq$(Qd2_2c?QS8PEI%FY$r%5@$=lTt~UtYw}7CI#9!Ad5Y^3 zQ4&Q%g7AZavvI?t4%JVrFAPpri*?UV=+XcP0(TG!?|B^{LV#Yv4w_Cg(5jQ$&oQX2BKKWMq&?b zy!+z0AW~0^M-|)OF|Ip!r?yc1aqu3;dGT%G&3Z4HxhKQLNB^5=-mVWg&qm*^!K&+;v}Csu;XNm`vh`ND=~up!_xjB3CaAA6b#X%1X7w7kt-r^ z7r?u*w37c*v~*dwB($j*v!?4_+0H%$l0|gLgPBJkcH8NqJByHi6joFzXUeUkmzL(J zyOQ#V_WkA={?_4ikE1IP0bw)}<0+$>=JKXZZU{?kAiC7^o}Di7)$`#A?3K^2igb$D zysrWJMs}C2gje?k(e8rEW0f~Lqg5<=1Y9S_N8Ay3xT)!@zP-lLm^fFxPfwag?E|JK zuz@DzvN)wh2`vzM&htNoOh@H)2eJ!F%echzTo=8f!Z`%}Uu9{Ni`Tz~L{MGDtDwZX z!z8A46_^kN)C~p-{h(hwrL$rFM{PDd>iy@aa%l|+RX#okFR>z`ae9>?dh|KkUxr}% zmtT)uO%xI{Y&3cGknCR9OG+=r9JW8g6ZvdHjaXKo0QyIGdE&@L|$G%cxcbB={Gq&Nkx5iUr-J<$e z7-Z;X#ED_A;i}B&kV<$z&j&ErD*OLaMhPN-M|XI{Uwq9Q0Ej@Gd<%f8>ZnvIy^8oh D9peVj&`Wh#!dHM+8N^oehcRc2-b9j@<5Pinv-BEDYYxHbTG@7Qz)OoP{8I z?r04>4urTuT3^sR#a;_ZFgnZ6Cf0m2;O(x`zT=~IV&V6VA=moGT z72NII+rWfBrF)V(k5;a=_n)1Z05Ak#TMAyuFz?Z{?nz>v3^h;QIqJ&6DaV+6HG0^8 z;+#I&v@lcwGO67);a`ipHCVZJBC!VxJHsL_g+)9j2R*6Lbs@j$o+Rc*V~dysUeYnDAe$ zDhT-PIKk7z#gVJEV~Yv=FJS@u8aB>F!#J3L-}dh!#lMp>iGuuvPWd{`l{Yk3o{x&? zYuOlRmT)mD;VwPv+fISukTL^OCQ;p(Axim)CDlU}WWt&JOL}koraEuOa}y~(M}cu* zH5dTc-W}`n(L3X747Ev_pD5tB=;QIN-C)ou^tLPvwr*}=^OM=?zw24ME0hovurahT h9@-ddmB6~aUjUf&}~)6002ovPDHLkV1gd`19JcX literal 0 HcmV?d00001 diff --git a/assets/favicon-32x32.png b/assets/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..8d0bdf644828753f6db9e9b82426eeab1f560fec GIT binary patch literal 1021 zcmVwV zB3VJ!&aENwHm0%L9p z8=4Bw14~K*AGtc-oz!t#Q(+hyYUwc4CMK=J%v58{R8F_do!{KQx3WfB=i;XI6Em%! zW6~OB1G)D96CGjFdYqZ+eB4yDSVXtKO3YNB0cZhm9e_3f-F1A^;P>0DwUNkJSvn+c>n6N$XNA@VKd{V@I|UGt^*R70<3%{~LG2rMj>XfSKxa z%v6IhLv4FzyRql!mYyl2@5$$ww6-#7rB)5(q7A|C?0b7@+_X+D0Kd>7t#t5tSH})l zV4@_D_jDLu3M-~{Y;y%(`Eetb)-1rJm7NEd>YM1!?DA{n{I(IxN&;J4fniUe=n8nA zzyZ1sH`WA?8j8iGy5ev7$oK7;ky~onr}Q8m^#l&o1P1_Ss-r%*R4%J?rZkagBS*`V z!~Y;h%hN=nEgU|OYiFkV$M;G}Yp5PL08k;hn;eaK3s1 zuus6|!=VXrsYU|_?_j-f0H8uZpsz6Oqh5+YOZYPfrp`}rQ^#Jw&*tMbahG)s) zmFd&TaJbFSk+ZJ1QSgF`?BoZ3j(5+m*5O66`9Ui5tS74dwXI$tk0n&#_fkRI`uBS) z_LZN%`6PYIZ*3Y704}Gn+!c7I+>6es6gs_L-0$gl+D+rT>0UhCR5$=krodc*6EpFZ rm&S))8vDyS);1kJyC{LyX6*Yf@CE+XWgKhN00000NkvXXu0mjfLAvmS literal 0 HcmV?d00001 diff --git a/assets/favicon.ico b/assets/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..7faf099fba7e5fb6f8e341c0bc01340a23e9654d GIT binary patch literal 15406 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 literal 0 HcmV?d00001 diff --git a/assets/img/explainer.jpg b/assets/img/explainer.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7de7258f7b964ae1825692b607529519e8e7ebfd GIT binary patch literal 19867 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

Y;x%j>Ar~b z&)@CCME7H7)8rOF4}^&aaS`xH13U~Z1Yl`isJ;#i&!$?RoLi=@yG3X>w658_roW}4 z@v&!6A(YEQUYN67ZW#%jHC>M{3K9h$YZqj~s0I;_qn^)dX0Zg25u{r@SuL8GbwT-b z?og#l2khR3Hjcvgd?RUc1k6Mq6=0<3T|fW<^T~BxrU$*|j=2q$DE?MDZ0A*L@=2ks z#NLq#|C36%n$-jFVA~;Af;~E#V>3Jqh7gV7hrog)+8Sm&il=L>6Sy%$0 zc;NZ|1{di+jhC&~$2s3L-3-5mx^-MItieF85co~=LW5plnQun+za}&`E9;ktxp!|K7LKv<&Gpr*hQ$xkdq%s?1+PNqoKefV@hN~vuU2kcq+vMj%ZN;S$9aK2Ok0hNsDXUd>kUU5i^sk_%$}`MBw>cqn_RtJ{V5kImlj7Rr>ev3`AY(Lg}?u$hDhJJmOap3C@% z@#c%0;{j>MpD>k!YkBjuK2*>Nim553A0Krm5Verz{=NE#qI`418{sIaL>2XK$ax9P zvLVw5gh(qt-HY6usR8H`gXOyHRBcoyTBu1+c^50E?HUqLcDGM_HxdY~Jf-uRd{LF{ z=Z;NQkQ|upsv~8Etm&Pl3sEHA66X%Bv^rOgRR`81i%Vf|MUTUZqK=b-6LWHWTp}zA zUV4A`_!q03+nDlhGWO@H-|?mdwYTpN!@A=8&NbZFIQXrYt(%+Ui7MNZf9}m>#H1

$yvTV5M%!#Eb-$0<}y;`dN5ZT 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 WNc`)WC7JL)ib)xda% + + + rust-logo + Created with Sketch. + + + + + + \ No newline at end of file diff --git a/assets/img/rust-python-logo.svg b/assets/img/rust-python-logo.svg new file mode 100644 index 000000000..8d3e0fbea --- /dev/null +++ b/assets/img/rust-python-logo.svg @@ -0,0 +1,11 @@ + + + + logo + Created with Sketch. + + + + + + \ No newline at end of file diff --git a/assets/media.css b/assets/media.css new file mode 100644 index 000000000..e2e5eed09 --- /dev/null +++ b/assets/media.css @@ -0,0 +1,70 @@ + +/* phones */ +@media (max-width: 768px) { + + .mt-sm-1 { + margin-top: 1em; + } + + .mt-sm-2 { + margin-top: 2em; + } + + .d-sm-none { + display: none; + } + + + .title { + font-size: 1.5em; + } + + .section-title { + font-size: 1em; + } + +} + + +/* desktop , tablets */ +@media (min-width: 768px) { + .mt-md-4 { + margin-top: 4em; + } + + .pl-md-2{ + padding-left: 2em; + } + + .d-md-flex { + display: flex; + } + + .w-md-50 { + width: 50%; + } + + .w-md-30 { + width: 30%; + } + + .w-md-75 { + width: 75%; + } + + .text-md-center { + text-align: center; + } + +} + +/* fixes for ipad */ +@media (min-width: 992px) { + .ml-lg-20-percent { + margin-left: 20%; + } + + .w-lg-30 { + width: 30%; + } +} diff --git a/assets/style.css b/assets/style.css new file mode 100644 index 000000000..cc250e751 --- /dev/null +++ b/assets/style.css @@ -0,0 +1,199 @@ +/* common html elements */ + +body { + font-family: 'Fira Sans', sans-serif; + margin: 0; +} + +a { + color: #000; +} + +p { + line-height: 1.75em; + font-size: 1.1em; +} + +hr { + border: 0px; + border-top: 1px solid #000; +} + +h1 { + font-family: 'Sen', sans-serif; + font-size: 1.5em; + margin-top: 2em; +} + +mark.post-date { + background-color: #F74C00; + color: #fff; + padding: 5px 15px 5px 15px; +} + + +/* width */ +.w-100 { + width: 100%; +} + +.w-80 { + width: 80%; +} + +/* colors */ +.bg-light { + background-color: #F6F8FA; +} + +.bg-rust { + background-color: #F74C00; +} + +.text-white { + color: #fff; +} + + +/* alignment */ +.m-auto{ + margin: auto; +} + +.text-center { + text-align: center; +} + +.justify-center { + justify-content: center; +} + +.text-justify { + text-align: justify; +} + +.float-left { + float: left; +} + +/* margins and padding */ + +.m-small { + margin: 0.75em; +} + +.mb-1 { + margin-bottom: 1em; +} + +.mt-1 { + margin-top: 1em; +} + +.mt-2 { + margin-top: 2em; +} + +.mt-4 { + margin-top: 4em; +} + +.pl-2 { + padding-left: 2em; +} + +.pr-2 { + padding-right: 2em; +} + +.p-2 { + padding: 2em; +} + +.pr-1 { + padding-right: 1em; +} + +/* lists */ + +ul.list-inline { + list-style: none; + display: inline-block; + padding:0; +} + +.list-unstyled { + list-style: none; + margin: 0; + padding:0; +} + +.list-contributors { + list-style: none; + padding: 0; +} + +.list-contributors li { + border: 1px solid #000; + display: inline-block; + padding: 2px 10px 2px 10px; + margin-right: 1em; + margin-top: 1em; +} + +.post-link { + font-size: 1.2em; +} + +.img-fluid { + width: 100%; +} + +.post-date a { + background-color: #000; + color: #fff; +} + +.border { + border: 1px solid darkgray; +} + +.border-bottom { + border-bottom: 1px solid #000; +} + + +/* custom classes */ +.title { + font-family: 'Sen', sans-serif; + font-size: 3em; +} + +.section-title { + font-family: 'Sen', sans-serif; + font-size: 1.5em; +} + +.logo { + height: 80px; +} + + +.goal { + line-height: 1.5em; +} + +.goal:last-child{ + margin-right: auto; + margin-left: auto; +} + +.code { + background-color: #F6F8FA; + line-height: 2em; + display:table; + margin-top: 1em; + padding-left: 1em; + padding-right: 1em; + letter-spacing: 2px; +} diff --git a/blog.html b/blog.html new file mode 100644 index 000000000..6deda39fc --- /dev/null +++ b/blog.html @@ -0,0 +1,4 @@ +--- +layout: archive +title: Blog +--- diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..7faf099fba7e5fb6f8e341c0bc01340a23e9654d GIT binary patch literal 15406 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 literal 0 HcmV?d00001 diff --git a/index.markdown b/index.markdown new file mode 100644 index 000000000..ee01ec818 --- /dev/null +++ b/index.markdown @@ -0,0 +1,30 @@ +--- +# Feel free to add content and custom Front Matter to this file. +# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults + +layout: home +explainer: "Edit this in index.markdown file. Lorem ipsum dolor sit amet consectetur adipisicing elit. Nisi mollitia delectus explicabo architecto velit neque nostrum nesciunt maxime laboriosam modi? Quisquam eveniet mollitia, in perspiciatis quod voluptatibus eligendi quia quidem." + +build-from-source-link: https://github.com/RustPython/RustPython + +demo: + - url: "https://github.com/RustPython/RustPython/blob/master/examples/hello_embed.rs" + label: 'Hello World!' + - url: "https://rustpython.github.io/demo/" + label: 'Online demo running on WebAssembly' + +installation: + - command: "cargo install rustpython" + - command: "wapm install rustpython" + - command: "conda install rustpython -c conda-forge" + +goals: + - goal: "Full Python-3 environment entirely in Rust (not CPython bindings) with a clean implementation, without compatiblity hacks. " + - goal: "Fast, reliable and secure implementation of Python that can be used with Rust or compiled to WebAssembly. " +--- + +# Why RustPython, not CPython + +Edit me in index.markdown file. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. diff --git a/manifest.webmanifest b/manifest.webmanifest new file mode 100644 index 000000000..18c1c3fbf --- /dev/null +++ b/manifest.webmanifest @@ -0,0 +1,11 @@ +{ + "name": "RustPython", + "short_name": "RustPython", + "start_url": ".", + "display": "standalone", + "background_color": "#F74C00", + "description": "An open source Python-3 (CPython >= 3.5.0) Interpreter written in Rust 🐍 😱 🤘", + "icons":[ + {"src":"assets/android-chrome-192x192.png","sizes":"192x192","type":"image/png"}, + {"src":"assets/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}] +} From 9d84945436c12968b1948dfe5044be39104cb4df Mon Sep 17 00:00:00 2001 From: mireille Date: Mon, 16 Mar 2020 13:15:37 -0400 Subject: [PATCH 2/8] config file --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 0f06bb687..0aa0b7604 100644 --- a/_config.yml +++ b/_config.yml @@ -21,7 +21,7 @@ title: "RustPython" description: "An open source Python-3 (CPython >= 3.5.0) Interpreter written in Rust 🐍 😱 🤘" baseurl: "/website" # the subpath of your site, e.g. /blog -url: "https://mireille-raad.github.io/rustpython.github.io/website" # the base hostname & protocol for your site, e.g. http://example.com +url: "https://mireille-raad.github.io/rustpython.github.io" # the base hostname & protocol for your site, e.g. http://example.com github_username: RustPython disclaimer: "The disclaimer not to use this in production. Update this in the config.yml file at the root." github: https://github.com/RustPython/RustPython/ From d87fa2c784fdd1c969781a6d92f0d9bad9e7c2a8 Mon Sep 17 00:00:00 2001 From: Mireille Raad Date: Mon, 16 Mar 2020 13:17:53 -0400 Subject: [PATCH 3/8] Update _config.yml --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 0aa0b7604..b0a9437c5 100644 --- a/_config.yml +++ b/_config.yml @@ -20,7 +20,7 @@ title: "RustPython" description: "An open source Python-3 (CPython >= 3.5.0) Interpreter written in Rust 🐍 😱 🤘" -baseurl: "/website" # the subpath of your site, e.g. /blog +baseurl: "" # the subpath of your site, e.g. /blog url: "https://mireille-raad.github.io/rustpython.github.io" # the base hostname & protocol for your site, e.g. http://example.com github_username: RustPython disclaimer: "The disclaimer not to use this in production. Update this in the config.yml file at the root." From 97c921e9f62bc73bb5042b2780647ee6bec476b4 Mon Sep 17 00:00:00 2001 From: Mireille Raad Date: Mon, 16 Mar 2020 13:20:23 -0400 Subject: [PATCH 4/8] Update _config.yml --- _config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index b0a9437c5..0608e18f0 100644 --- a/_config.yml +++ b/_config.yml @@ -20,8 +20,8 @@ title: "RustPython" description: "An open source Python-3 (CPython >= 3.5.0) Interpreter written in Rust 🐍 😱 🤘" -baseurl: "" # the subpath of your site, e.g. /blog -url: "https://mireille-raad.github.io/rustpython.github.io" # the base hostname & protocol for your site, e.g. http://example.com +baseurl: "/rustpython.github.io" # the subpath of your site, e.g. /blog +url: "https://mireille-raad.github.io" # the base hostname & protocol for your site, e.g. http://example.com github_username: RustPython disclaimer: "The disclaimer not to use this in production. Update this in the config.yml file at the root." github: https://github.com/RustPython/RustPython/ From 35be263f8dcba435449070deb5e17b94a07628f1 Mon Sep 17 00:00:00 2001 From: Mireille Raad Date: Mon, 16 Mar 2020 13:21:35 -0400 Subject: [PATCH 5/8] adding site.baseurl --- _includes/head.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_includes/head.html b/_includes/head.html index 7d732ed5d..27f394ff8 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -7,8 +7,8 @@ - - + + {%- seo -%} From 0b744566ba837fba264d3e40e9b36ee7a17c99d3 Mon Sep 17 00:00:00 2001 From: Mireille Raad Date: Mon, 16 Mar 2020 13:23:41 -0400 Subject: [PATCH 6/8] Update head.html --- _includes/head.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_includes/head.html b/_includes/head.html index 27f394ff8..7d732ed5d 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -7,8 +7,8 @@ - - + + {%- seo -%} From 39bd9ecbeb35d2100afe7aaf66b4a47157cd60f0 Mon Sep 17 00:00:00 2001 From: mireille Date: Mon, 16 Mar 2020 13:53:21 -0400 Subject: [PATCH 7/8] a readme file --- README.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 000000000..f17997952 --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ +# README + +This is a Jekyll site + theme for [RustPython](https://github.com/RustPython/RustPython). + +There are three things on this site: +- Homepage +- Blog (archive + single post) +- Links to Github/Gitter/Docs/other resources, etc... + +## How to edit the homepage +To edit the homepage, you can edit: +- `index.markdown` in the root directory. +- `_config.yml` also in the root directory. +- `_data/contributors.json` + +`config.yml` has setting like section titles, where links go to etc... +`index.markdown` has the longer text content. +`contributors.json` has a list of the top contributors. I figured we can automate how this is generated or update through pull requests. + +## How to edit the blog. +Create regular jekyll posts under **_posts** . To feature a post on the homepage under _the learn more_ section, add the category "featured" to the post. + +## How to edit links, menus and other details. + +Use `_config.yml`. + +## The theme +The theme doesn't rely on any css framework/ and no javascript. Just super simple modification to the minima theme. There are two stylesheets, `style.css` and `media.css`. I did not use `main.css` because it conflicts with minima's stylesheet. I haven't done a Jekyll theme in a while, so contributions are welcome. From b4312443b4eb7a30ff4491909c93b37ce934dec8 Mon Sep 17 00:00:00 2001 From: mireille Date: Mon, 16 Mar 2020 13:53:59 -0400 Subject: [PATCH 8/8] update manifest with theme color --- manifest.webmanifest | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/manifest.webmanifest b/manifest.webmanifest index 18c1c3fbf..c9f9b8893 100644 --- a/manifest.webmanifest +++ b/manifest.webmanifest @@ -3,9 +3,6 @@ "short_name": "RustPython", "start_url": ".", "display": "standalone", - "background_color": "#F74C00", - "description": "An open source Python-3 (CPython >= 3.5.0) Interpreter written in Rust 🐍 😱 🤘", - "icons":[ - {"src":"assets/android-chrome-192x192.png","sizes":"192x192","type":"image/png"}, - {"src":"assets/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}] + "theme_color": "#F74C00", + "description": "An open source Python-3 (CPython >= 3.5.0) Interpreter written in Rust 🐍 😱 🤘" }