From dab96b4ee08f93164fc706a7a2b26c6ab8b5d7b6 Mon Sep 17 00:00:00 2001 From: SrinivasaRimskyYamatov Date: Thu, 10 Sep 2026 15:23:04 +0900 Subject: [PATCH] add toki pona --- Gemfile | 6 + Gemfile.lock | 18 + Rakefile | 2 +- _config.yml | 1 + _data/languages.yml | 3 + _data/locales/home/tok.yml | 116 +++++ _data/locales/tok.yml | 204 +++++++++ tok/about/index.md | 238 ++++++++++ tok/about/logo/index.md | 22 + tok/about/website/index.md | 104 +++++ tok/community/index.md | 34 ++ tok/community/mailing-lists/index.md | 44 ++ tok/conduct/index.md | 25 ++ tok/documentation/index.md | 252 +++++++++++ tok/documentation/installation/index.md | 421 ++++++++++++++++++ tok/documentation/quickstart/index.md | 130 ++++++ tok/downloads/index.md | 86 ++++ tok/examples/cities.md | 20 + tok/examples/greeter.md | 22 + tok/examples/hello_world.md | 18 + tok/examples/i_love_ruby.md | 17 + tok/feeds/news.rss | 4 + tok/index.html | 15 + tok/libraries/index.md | 127 ++++++ .../2026-09-10-toki-pona-lon-lipu-Ruby.md | 25 ++ tok/security/index.md | 43 ++ 26 files changed, 1996 insertions(+), 1 deletion(-) create mode 100644 _data/locales/home/tok.yml create mode 100644 _data/locales/tok.yml create mode 100644 tok/about/index.md create mode 100644 tok/about/logo/index.md create mode 100644 tok/about/website/index.md create mode 100644 tok/community/index.md create mode 100644 tok/community/mailing-lists/index.md create mode 100644 tok/conduct/index.md create mode 100644 tok/documentation/index.md create mode 100644 tok/documentation/installation/index.md create mode 100644 tok/documentation/quickstart/index.md create mode 100644 tok/downloads/index.md create mode 100644 tok/examples/cities.md create mode 100644 tok/examples/greeter.md create mode 100644 tok/examples/hello_world.md create mode 100644 tok/examples/i_love_ruby.md create mode 100644 tok/feeds/news.rss create mode 100644 tok/index.html create mode 100644 tok/libraries/index.md create mode 100644 tok/news/_posts/2026-09-10-toki-pona-lon-lipu-Ruby.md create mode 100644 tok/security/index.md diff --git a/Gemfile b/Gemfile index 83f30c0305..6d746d674a 100644 --- a/Gemfile +++ b/Gemfile @@ -18,3 +18,9 @@ gem "base64" # Jekyll need this for Ruby 4.0.0+ gem "logger" + +gem "tzinfo", "~> 2.0" + +gem "jimmu", "~> 1.0" + +gem "tzinfo-data", "~> 1.2026" diff --git a/Gemfile.lock b/Gemfile.lock index 672006735e..e60a7df508 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -102,6 +102,7 @@ GEM jekyll (>= 3.7, < 5.0) jekyll-watch (2.2.1) listen (~> 3.0) + jimmu (1.0.0) json (2.19.9) kramdown (2.5.1) rexml (>= 3.3.9) @@ -130,6 +131,8 @@ GEM racc (~> 1.4) nokogiri (1.19.4-arm64-darwin) racc (~> 1.4) + nokogiri (1.19.4-x64-mingw-ucrt) + racc (~> 1.4) nokogiri (1.19.4-x86_64-darwin) racc (~> 1.4) nokogiri (1.19.4-x86_64-linux-gnu) @@ -180,6 +183,8 @@ GEM google-protobuf (~> 4.30) sass-embedded (1.86.1-riscv64-linux-musl) google-protobuf (~> 4.30) + sass-embedded (1.86.1-x64-mingw-ucrt) + google-protobuf (~> 4.30) sass-embedded (1.86.1-x86_64-darwin) google-protobuf (~> 4.30) sass-embedded (1.86.1-x86_64-linux-android) @@ -201,6 +206,10 @@ GEM bigdecimal (~> 3.1) typhoeus (1.4.1) ethon (>= 0.9.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + tzinfo-data (1.2026.3) + tzinfo (>= 1.0.0) unicode-display_width (2.6.0) validate-website (1.12.0) crass (~> 1) @@ -234,6 +243,7 @@ PLATFORMS riscv64-linux-android riscv64-linux-gnu riscv64-linux-musl + x64-mingw-ucrt x86-cygwin x86-linux x86-linux-android @@ -252,10 +262,13 @@ DEPENDENCIES html-proofer jekyll jekyll-sitemap + jimmu (~> 1.0) logger minitest rake rouge + tzinfo (~> 2.0) + tzinfo-data (~> 1.2026) validate-website (~> 1.6) CHECKSUMS @@ -304,6 +317,7 @@ CHECKSUMS jekyll-sass-converter (3.1.0) sha256=83925d84f1d134410c11d0c6643b0093e82e3a3cf127e90757a85294a3862443 jekyll-sitemap (1.4.0) sha256=0de08c5debc185ea5a8f980e1025c7cd3f8e0c35c8b6ef592f15c46235cf4218 jekyll-watch (2.2.1) sha256=bc44ed43f5e0a552836245a54dbff3ea7421ecc2856707e8a1ee203a8387a7e1 + jimmu (1.0.0) sha256=23fd4f5d0ec7d7949500a971875d832041b5df06aa036df9953035030c84a29a json (2.19.9) sha256=9b9025b7cdddafa38d316eca0b2358488e42d417045c1b90d216a9fefe46b79a kramdown (2.5.1) sha256=87bbb6abd9d3cebe4fc1f33e367c392b4500e6f8fa19dd61c0972cf4afe7368c kramdown-parser-gfm (1.1.0) sha256=fb39745516427d2988543bf01fc4cf0ab1149476382393e0e9c48592f6581729 @@ -320,6 +334,7 @@ CHECKSUMS nokogiri (1.19.4-arm-linux-gnu) sha256=a301313e38bb065d68239e79734bcd6f56fb6efaacebde29e9abf2a4735340ca nokogiri (1.19.4-arm-linux-musl) sha256=588923c101bcfa78869734d247d25b598674323e7f22474fc468f6e5647311eb nokogiri (1.19.4-arm64-darwin) sha256=a46db9853286e6597b36ebc6953817d15acf3a299583eb3f89fdc6f91dd63527 + nokogiri (1.19.4-x64-mingw-ucrt) sha256=051da97b8eccfdb5444fed40246a35e10d7298b9efe759b4cd25455ea04c587e nokogiri (1.19.4-x86_64-darwin) sha256=7fd17057d3e1f00e9954a74b3cd76595d3d4a5ef233b7ed9599047c204f70551 nokogiri (1.19.4-x86_64-linux-gnu) sha256=379fae440b28915e3f19d752ce2dcf8465ed2b2fbefd2a7ca0dd497bc981a06a nokogiri (1.19.4-x86_64-linux-musl) sha256=17dfb7c1fa194ae02fbf7c51a7afc8d278045ab3fdacfd86f91d02d7b274470b @@ -348,6 +363,7 @@ CHECKSUMS sass-embedded (1.86.1-riscv64-linux-android) sha256=c99ab0c1e5137502d738c05d7e37017e02d4bf9dbb44172f6294f5ae40a415c5 sass-embedded (1.86.1-riscv64-linux-gnu) sha256=95f91669b6614bdbf2ba6dad2e17f134c4ba87fd47c10ac16bcb307d00b48d57 sass-embedded (1.86.1-riscv64-linux-musl) sha256=de709c62f36f1c5e612528372b186d563f7a1addf24e10e307c4ea2dbdbf9a7f + sass-embedded (1.86.1-x64-mingw-ucrt) sha256=76b8717dca716cf075f017e6696ab3a94380f32589967916a2a63c5d5111e5c6 sass-embedded (1.86.1-x86_64-darwin) sha256=8af7694c0de4b7fe382f8bda76456ebab70581d6007b7935ec172466d10ce7b7 sass-embedded (1.86.1-x86_64-linux-android) sha256=dc15d50e5ea5369709726e7460a5d3b3269da29ca332cfb78f25b544ce9c4a6d sass-embedded (1.86.1-x86_64-linux-gnu) sha256=873e4e505677549e8b07f49a2fee2fbe09a11a9fb7f78d6d345998df6659d7e6 @@ -359,6 +375,8 @@ CHECKSUMS traces (0.15.2) sha256=d2547834b7248bb8c8f4f6532c6b9ba80ef8e2d6068ce16e7873575d7b802d81 ttfunk (1.8.0) sha256=a7cbc7e489cc46e979dde04d34b5b9e4f5c8f1ee5fc6b1a7be39b829919d20ca typhoeus (1.4.1) sha256=1c17db8364bd45ab302dc61e460173c3e69835896be88a3df07c206d5c55ef7c + tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b + tzinfo-data (1.2026.3) sha256=478fbc5356f13c1004cf8372b1336f3dad4055c96340fc4c881a3738da8cf7f9 unicode-display_width (2.6.0) sha256=12279874bba6d5e4d2728cef814b19197dbb10d7a7837a869bab65da943b7f5a validate-website (1.12.0) sha256=79f338e69481b8ae8a58c2449f3d77ec6901b22ab7f7276e63328ee4465bbb3d w3c_validators (1.3.7) sha256=2785f8138ad4d6c2cf9f2a49693390cc55a815a51f1b0ff40e35eed4ff8be746 diff --git a/Rakefile b/Rakefile index f75e7289fe..b6c24c202d 100644 --- a/Rakefile +++ b/Rakefile @@ -8,7 +8,7 @@ rescue LoadError => e exit(-1) end -LANGUAGES = %w[bg de en es fr id it ja ko pl pt ru tr ua vi zh_cn zh_tw].freeze +LANGUAGES = %w[bg de en es fr id it ja ko pl pt ru tok tr ua vi zh_cn zh_tw].freeze CONFIG = "_config.yml" task default: [:build] diff --git a/_config.yml b/_config.yml index b5b39285b7..2943f4d0b5 100644 --- a/_config.yml +++ b/_config.yml @@ -32,6 +32,7 @@ search: fallback: en unsupported: - bg + - tok url: https://www.ruby-lang.org diff --git a/_data/languages.yml b/_data/languages.yml index 42843ba05c..1b3602e7d2 100644 --- a/_data/languages.yml +++ b/_data/languages.yml @@ -35,6 +35,9 @@ - code: ru name: Russian native_name: Русский +- code: tok + name: Toki Pona + native_name: toki pona - code: tr name: Turkish native_name: Türkçe diff --git a/_data/locales/home/tok.yml b/_data/locales/home/tok.yml new file mode 100644 index 0000000000..8784b9ae7a --- /dev/null +++ b/_data/locales/home/tok.yml @@ -0,0 +1,116 @@ +hero: + since: "tan" + year: "1995" + title: "Ruby" + latest_version_label: "nanpa sin:" + download_button: "kama jo" + or: "anu" + learn_more: "kama sona e mute" + tagline: "jan pona nanpa wan pi jan pali" + +try_ruby: + title: "o lukin e Ruby!" + description: "sina ken kepeken e Ruby lon ilo sona sina — tenpo ni!" + button_url: "https://try.ruby-lang.org/" + bottom_text: "sina wile kama sona e mute, anu sina wile lukin e Ruby?" + bottom_link_url: "https://try.ruby-lang.org/" + button_text: "O LUKIN!" + bottom_link_text: "o lukin e Ruby" + +why_ruby: + title: Ruby li pona tan seme? + description: jan pali lon ma ale li olin e Ruby. ijo seme li pana e pilin pona tawa ona? + features: + - id: ecosystem + title: namako + read: namako mute li pona e pali mute.
ilo pona li lon, li awen ken kepeken. + copy: | + Ruby li jo e namako mute (mi toki e ona "gem"), li pona tawa pali lipu, pali sona, e pali ante mute. + kulupu li pali e ilo suli sama Rails, li pali e nasin ilo pona mute. + tan ni, sina ken pali e ilo pona lon tenpo lili, sina wile ala pali sin e ijo lon ale. + comment: + author: + id: matz + name: Yukihiro "Matz" Matsumoto + title: jan pi open Ruby + content: | + tenpo mi pana e Ruby tawa ma ale, mi sona ala e ni: namako mute li kama tan ona. + namako 200,000 li lon, sama Ruby on Rails, RSpec, Bundler — kulupu li pali e ijo ni ale, li awen pona e ona. + mi wile e ni: jan pali li pilin pona. wile ni li kama lon nasin mi sona ala e ona. + - id: simple + title: pona + read: o sitelen li pona, o lukin li pona.
nasin sitelen li sama nasin toki jan. + copy: | + Ruby li jo e nasin sitelen pona e nasin sitelen sama toki jan lawa. + Ruby li weka e sitelen ike e nasin pi mute ike, tan ni sina ken toki e wile sina lon nasin pona. + sitelen li lili, li ken lukin pona, tan ni ona li pona tawa jan sin, li pona tawa jan pi sona suli. + comment: + author: + id: dhh + name: David Heinemeier Hansson + title: jan pi open Ruby on Rails + content: | + Ruby li toki ilo pi pona mute nanpa wan lon ale mi lukin e ona.
+ mi lukin mute e toki ilo sin, e nasin sin, e ilo sin, + taso mi lukin ala e toki ilo ante li sama Ruby lon nasin ona li pona lukin, li pona wan. + - id: productivity + title: wawa + read: sitelen lili li pali e ijo mute.
nasin sitelen li pona tawa pali wawa. + copy: | + nasin sitelen pi Ruby li ken pana e sitelen lili tawa ijo pi nasin suli. + kepeken ilo sama metaprogramming e blocks, sina ken weka e sitelen sama, sina ken lukin taso e pali suli. + Ruby li jo e ilo alasa-pakala pona mute, tan ni sina ken awen pona lon pali wawa. + comment: + author: + id: pragdave + name: Dave Thomas + title: jan pi sitelen lipu "The Pragmatic Programmer" + content: | + Ruby li ante e pilin sona tawa sitelen lon tenpo lili. + nasin pona ona li awen e lawa mi; nasin toki ona li ken mi sitelen sama nasin pilin mi.
+ ona li sama toki ilo li weka, li lon taso mi en pali. + kepeken ilo pona e namako pona, pilin sona li kama sitelen wawa lon tenpo lili. + - id: community + title: kulupu + read: jan pali lon ma ale li pana pona tawa jan ante.
kulupu li seli, li wawa. + copy: | + kulupu Ruby li kepeken nasin "Matz li pona, tan ni mi ale li pona" (MINASWAN), + li open e jan sin en jan pi sona suli. tenpo kulupu lon ma mute li pana e sona en poka pona. + ona li kulupu seli, li kulupu awen, jan li pana pona tawa jan ante, li kama suli sama. + comment: + author: + id: amanda + name: Amanda Perino + title: jan lawa suli pi Rails Foundation + content: | + kulupu Ruby li jo e sona mute e pali sin mute; jan pali li olin e nasin sitelen pona Ruby, li pali tan pilin pona. + ona li kulupu wawa, kulupu open, jan li wile pana e olin ni pi pali sitelen tawa jan ale. + pilin seli e pali kulupu ni li ijo suli nanpa wan pi Ruby. + +companies: + title: "kulupu pali" + heart: "♥" + subtitle: "Ruby" + +community: + title: "o kama tawa kulupu" + description_1: "jan li kepeken e Ruby, li pali mute lon poka ona, mi kama toki e ona jan Ruby (Rubyist)." + description_2: "jan Ruby li olin e Ruby, ale li #rubyfriends pona. pali kulupu li kama suli, li pilin pona." + motto_prefix: "toki lawa pi kulupu ale li" + motto_minaswan: "MINASWAN" + motto_separator: "—" + motto_translation: "Matz li pona, tan ni mi ale li pona" + links: + - text: "o kama sona e mute pi kulupu" + url: "/community/" + - text: "tenpo kulupu suli kama" + url: "https://www.rubyevents.org" + external: true + +news_security: + news: + title: "sona sin" + more_link: "o lukin e sona sin mute" + security: + title: "awen pona" + more_link: "o lukin e awen pona mute" diff --git a/_data/locales/tok.yml b/_data/locales/tok.yml new file mode 100644 index 0000000000..362fd71fdb --- /dev/null +++ b/_data/locales/tok.yml @@ -0,0 +1,204 @@ +--- + +navigation: +- text: kama jo + url: /tok/documentation/installation/ + submenu: + - text: kama jo e Ruby + url: /tok/documentation/installation/ + - text: kama jo + url: /tok/downloads/ + - text: ilo lawa pi namako + submenu: + - text: rbenv + url: https://github.com/rbenv/rbenv + external: true + - text: RVM + url: https://rvm.io/ + external: true + - text: RubyInstaller for Windows + url: https://rubyinstaller.org/ + external: true + - text: Bundler + url: https://bundler.io/ + external: true +- text: lipu sona + url: /tok/documentation/ + submenu: + - text: lipu sona + url: /tok/documentation/ + - text: Ruby li seme + url: /tok/about/ + - text: Ruby lon tenpo lili + url: /tok/documentation/quickstart/ + - text: o kama sona e Ruby + submenu: + - text: TryRuby + url: https://try.ruby-lang.org/ + external: true + - text: Ruby Reference Manual + url: https://docs.ruby-lang.org/en/4.0/ + external: true + - text: The Ruby Bibliography + url: https://rubybib.org/ + external: true +- text: namako + url: /tok/libraries/ + submenu: + - text: namako + url: /tok/libraries/ + - text: RubyGems + submenu: + - text: RubyGems.org + url: https://rubygems.org/ + external: true + - text: The Ruby Toolbox + url: https://www.ruby-toolbox.com/ + external: true + - text: namako suli + submenu: + - text: Bundler + url: https://bundler.io/ + external: true + - text: Ruby on Rails + url: https://rubyonrails.org/ + external: true + - text: Rack + url: https://github.com/rack/rack + external: true + - text: Rake + url: https://github.com/ruby/rake + external: true + - text: RSpec + url: https://github.com/rspec/rspec + external: true +- text: pana pali + url: /tok/community/mailing-lists/ + submenu: + - text: lipu toki + url: /tok/community/mailing-lists/ + - text: ante + submenu: + - text: ruby/ruby + url: https://github.com/ruby/ruby + external: true + - text: Wiki + url: https://github.com/ruby/ruby/wiki + external: true + - text: Ruby Issue Tracking System + url: https://bugs.ruby-lang.org/ + external: true +- text: kulupu + url: /tok/community/ + submenu: + - text: kulupu + url: /tok/community/ + - text: lipu toki + url: /tok/community/mailing-lists/ + - text: lawa pona pi kulupu + url: /tok/conduct/ + - text: tenpo kulupu + submenu: + - text: RubyKaigi + url: https://rubykaigi.org/ + external: true + - text: Ruby Events + url: https://www.rubyevents.org/ + external: true + - text: kulupu lawa + submenu: + - text: Ruby Association + url: https://www.ruby.or.jp/en/ + external: true +- text: sona sin + url: /tok/news/ + submenu: + - text: sona sin + url: /tok/news/ + - text: awen pona + url: /tok/security/ + +syndicate: + text: pana sona + recent_news: + text: sona sin (RSS) + url: /tok/feeds/news.rss + +languages_heading: 'lipu ni lon toki ante:' + +toc: + heading: ale insa + +credits: >- + lipu ni + li pali pona tan jan pi kulupu Ruby, li awen pona tan ona. + +month_names: +- tenpo mun nanpa wan +- tenpo mun nanpa tu +- tenpo mun nanpa tu wan +- tenpo mun nanpa tu tu +- tenpo mun nanpa luka +- tenpo mun nanpa luka wan +- tenpo mun nanpa luka tu +- tenpo mun nanpa luka tu wan +- tenpo mun nanpa luka tu tu +- tenpo mun nanpa luka luka +- tenpo mun nanpa luka luka wan +- tenpo mun nanpa luka luka tu + +posted_by: "jan pali: AUTHOR — tenpo: %-d pi mun %b pi sike %Y" +translated_by: ante toki tan + +feed: + title: sona sin Ruby + description: sona sin li kama tan ruby-lang.org. + lang_code: tok + +# lipu ni li kama lon insa poki lukin, taso lon lipu pi toki ni li ken ala +# alasa pona. o lukin lon toki Inglisi. +search: + fallback_notice: >- + mi ken ala alasa lon toki pona. mi alasa lon lipu Inglisi taso. + o sitelen e nimi alasa sina lon toki Inglisi. + +news: + other_news: sona sin ante + more_news: sona sin mute... + continue: o lukin e ale... + back_to_year: tawa lipu pi sike %Y + recent_news: sona sin + yearly_archive_title: "lipu pi sike %Y" + monthly_archive_title: "lipu pi mun %B pi sike %Y" + yearly_archives: lipu pi sike ale + monthly_archives: lipu pi mun ale + yearly_archive_link: "sike %Y" + monthly_archive_link: "%B %Y" + select_year: "--- o wile e sike ---" + +footer: + links: + github: + text: ruby/ruby + url: https://github.com/ruby/ruby + slack: + text: ruby-jp.slack.com + url: https://ruby-jp.github.io/ + mailing_list: + text: lipu toki + url: /tok/community/mailing-lists/ + security: + text: awen pona + url: /tok/security/ + about_website: + text: lipu ni li seme + url: /tok/about/website/ + logo_page: + text: sitelen nimi Ruby + url: /tok/about/logo/ + news_rss: + text: sona sin RSS + url: /tok/feeds/news.rss + ruby_license: + text: lawa kepeken Ruby + url: /en/about/license.txt diff --git a/tok/about/index.md b/tok/about/index.md new file mode 100644 index 0000000000..9780f6a558 --- /dev/null +++ b/tok/about/index.md @@ -0,0 +1,238 @@ +--- +layout: page +title: "Ruby li seme" +lang: tok +--- + +sina pilin wile e ni: Ruby li kama suli tan seme? jan olin Ruby li toki e +ona li toki ilo pi lukin pona, li toki ilo pi sitelen pona. taso jan li +toki sin e ni: ona li ilo pona pali. ni li lon tan seme? +{: .summary} + +### wile pona pi jan pi open Ruby + +Ruby li toki ilo pi nasin insa pona. jan pi open ona, [jan Yukihiro +"Matz" Matsumoto][matz], li kepeken e ijo pona tan toki ilo ante ona li +olin (Perl, Smalltalk, Eiffel, Ada, en Lisp), li pali e toki ilo sin li +jo e nasin luka-pali (imperative) en nasin pali-taso (functional), tu li +lon poki wan. + +jan Matz li toki mute e ni: "mi wile e Ruby li sama nasin lon, mi wile +ala e ona li nasin pona lili taso." nasin ni li sama nasin lon. + +kepeken wile ni, ona li toki e: + +> Ruby li lukin pona lili, taso ona li ijo pi mute suli lon insa, sama +> sijelo mi jan.[1](#fn1) + +### Ruby li kama suli + +tan tenpo pi pana lon ma ale (1995), Ruby li kama tawa jan pali mute lon +ma ale. lon sike 2006, Ruby li kama sona pi jan mute. kulupu jan Ruby li +kama lon ma suli mute, tenpo kulupu Ruby li jo e jan mute, ken ala jo e +poki sin. + +Ruby-Talk, [lipu toki](/tok/community/mailing-lists/) suli nanpa wan pi +toki Ruby, li jo e toki 200 lon tenpo suno lon sike 2006. nanpa ni li +kama lili lon sike kama, tan ni kulupu li kama suli, li kama poki lili +mute. + +Ruby li lon anpa nanpa 10 lon mute lipu nanpa li lukin e nasin kama suli +pi toki ilo ale (sama [TIOBE index][tiobe]). mute pi kama suli ni li tan +kama pona pi poki ilo [Ruby on Rails][ror]. + +Ruby li [ken ala esun]({{ site.license.url }}). ona li ken ala esun taso; +sina ken kepeken, sina ken pana sin, sina ken ante, sina ken pana tawa +jan ante. + +### ale li ijo + +lon open, jan Matz li lukin e toki ilo ante li alasa e nasin sitelen +pona. ona li toki e ni: "mi wile e toki ilo pi wawa mute tan Perl, taso +mi wile e toki ilo li kepeken poki (object) mute tan +Python.[2](#fn2)" + +lon Ruby, ale li ijo. sona ale e sitelen ale li ken jo e nasin ona e +pali ona. lon toki ilo pi kepeken poki, nasin li nimi *poki nimi lon +poki* (instance variables), pali li nimi *nasin pali* (methods). nasin +Ruby pi "ale li ijo" li ken lukin pona lon sitelen lili ni: ona li pana +e pali tawa nanpa. + +{% highlight ruby %} +5.times { print "mi olin e Ruby -- ona li pona mute!" } +{% endhighlight %} + +lon toki ilo mute, nanpa en ijo lili ante li ijo ala. Ruby li kepeken +nasin Smalltalk, li pana e nasin pali en poki nimi tawa nasin ale ona. +ni li pona e kepeken Ruby, tan ni lawa pi poki li sama lon ale Ruby. + +### Ruby li ken ante + +jan li lukin e Ruby li toki ilo pi ken ante mute, tan ni ona li ken ante +e ale ona kepeken wile jan. poki open pi Ruby li ken weka, li ken sin. +sina ken pana e ijo sin. Ruby li wile ala pana e lawa suli tawa jan +pali. + +sama ni: nasin pana (`+`) li nasin pali pi pana namako. taso sina wile +e nimi lon `plus`, sina ken pana e nasin pali sin ni tawa poki `Numeric` +pi Ruby. + +{% highlight ruby %} +class Numeric + def plus(x) + self.+(x) + end +end + +y = 5.plus 6 +# y li nanpa 11 lon tenpo ni +{% endhighlight %} + +nasin pana pi Ruby li nasin pali lon insa; sina ken ante e ona. + +### block: ijo pona pi ken mute + +block pi Ruby li ijo pona ante pi ken mute. jan pali li ken pana e +closure tawa nasin pali, li toki e nasin ni li wile pali seme. closure +ni li nimi *block*, li kama ijo pona nanpa wan tawa jan sin li kama tan +toki ilo ante sama PHP anu Visual Basic. + +block li kama tan nasin toki ilo pali-taso (functional). jan Matz li +toki e ni: "lon closure pi Ruby, mi wile pana e lawa tawa nasin +Lisp.[3](#fn3)" + +{% highlight ruby %} +search_engines = + %w[Google Yahoo MSN].map do |engine| + "http://www." + engine.downcase + ".com" + end +{% endhighlight %} + +lon sitelen pi anpa ni, block li lon insa pi `do ... end`. nasin pali +`map` li pana e block tawa lipu nimi. nasin pali mute ante pi Ruby li +awen open, li wile e ni: jan pali li sitelen e block sin li toki e ni, +nasin pali li wile pali seme. + +### Ruby en poki pali (module) + +Ruby li jo e nasin mama wan taso (single inheritance), kepeken wile +jan pi open. taso Ruby li sona e poki pali (nimi *module*, sama +Categories lon Objective-C). poki pali li kulupu pi nasin pali. + +poki (class) li ken jo e poki pali (mixin), li kama jo e nasin pali ale +ona, li wile ala sin pali. sama ni: poki li jo e nasin pali `each` la +ona li ken jo e poki pali `Enumerable`, li kama jo e nasin pali mute li +kepeken `each` tawa nasin sike (loop). + +{% highlight ruby %} +class MyArray + include Enumerable +end +{% endhighlight %} + +jan Ruby li lukin e nasin ni li pona mute tawa nasin mama mute (multiple +inheritance), tan ni nasin mama mute li ijo pi mute suli, li ken lawa +jan mute. + +### nasin lukin pi sitelen Ruby + +Ruby li kepeken sitelen lili taso, li wile e nimi Inglisi, taso ona li +kepeken sitelen lili namako tawa nasin pona. Ruby li wile ala e toki +open pi poki nimi. ona li kepeken nasin nimi pona tawa ni: poki nimi li +lon ma seme. + +* `var` li ken poki nimi lon ma lili (local variable). +* `@var` li poki nimi pi poki (instance variable). +* `$var` li poki nimi pi ma ale (global variable). + +sitelen lili ni li pona e lukin, tan ni jan pali li ken sona lili e +nasin poki nimi. ona li weka e wile pana e `self.` lon poki nimi ale. + +### ijo ante li lon + +Ruby li jo e ijo ante mute, sama ni: + +* Ruby li jo e nasin pona pi pakala (exception handling), sama Java anu + Python, li pona e pali tawa pakala. + +* Ruby li jo e ilo weka pi ijo pakala (garbage collector) pona tawa ijo + Ruby ale. sina wile ala awen e nanpa poki lon poki pali namako. jan + Matz li toki e ni: "ni li pona mute tawa sijelo sina." + +* pali sitelen C lon poki pali Ruby li pona lili tan Perl anu Python, + kepeken nasin sitelen pona tawa kama toki Ruby tan C. sina ken pana + Ruby lon ilo ante li kepeken ona sama toki ilo lili. ilo SWIG li ken + kepeken. + +* Ruby li ken kama jo e poki pali namako lon tenpo pali, sina jo e ilo + sona li ken. + +* Ruby li jo e nasin nasin-sama (threading) li ken lon ilo sona ale, + taso ilo sona li jo ala e nasin ni. nasin ni li lon lon ilo sona ale + Ruby li ken lon, taso lon MS-DOS! + +* Ruby li ken kepeken lon ilo sona mute: mama pali li lon GNU/Linux, + taso ona li ken lon UNIX mute, macOS, Windows, DOS, BeOS, OS/2, e ijo + ante. + +### nasin pali ante pi Ruby + +Ruby, sama toki ilo, li jo e nasin pali ante mute. lipu ni li toki lon +nasin pali nanpa wan (kulupu li toki e ona **MRI** — "Matz's Ruby +Interpreter" — anu **CRuby** tan ni ona li sitelen lon C), taso nasin +pali ante li lon. ona li pona lon tenpo namako, li pana e poki tawa toki +ilo ante, anu li jo e ijo namako li MRI li jo ala e ona. + +lipu nimi: + +* [JRuby][jruby] li Ruby lon JVM (Java Virtual Machine), kepeken ilo JIT + pona, ilo weka pi ijo pakala, nasin nasin-sama, kulupu ilo, en poki + namako mute pi JVM. +* [Rubinius][rubinius] li "Ruby li sitelen kepeken Ruby". ona li pali + lon LLVM, li jo e ilo sona (virtual machine) pona li toki ilo ante li + ken pali lon ona. +* [TruffleRuby][truffleruby] li nasin pali Ruby pi wawa suli lon + GraalVM. +* [mruby][mruby] li nasin pali lili pi toki Ruby li ken pana lon poki + ilo ante. jan Matz taso li lawa e pali ona. +* [IronRuby][ironruby] li nasin pali li "kama wan pona tawa .NET + Framework". +* [MagLev][maglev] li "nasin pali Ruby pi wawa awen, li jo e nasin awen + sona (object persistence) en poki sona pi kulupu (distributed shared + cache)". +* [Cardinal][cardinal] li "ilo ante pi Ruby tawa [Parrot][parrot] + Virtual Machine" (Perl 6). + +tawa lipu suli, o lukin [Awesome Rubies][awesome-rubies]. + +### lipu open + +1 jan Matz, lon lipu toki Ruby-Talk, [tenpo suno 12 pi mun 5, +sike 2000][blade]. +{: #fn1} + +2 jan Matz, lon [toki kama sona tan jan pi open +Ruby][linuxdevcenter], tenpo suno 29 pi mun 11, sike 2001. +{: #fn2} + +3 jan Matz, lon [Blocks and Closures in Ruby][artima], tenpo +suno 22 pi mun 12, sike 2003. +{: #fn3} + + + +[matz]: http://www.rubyist.net/~matz/ +[blade]: https://blade.ruby-lang.org/ruby-talk/2773 +[ror]: http://rubyonrails.org/ +[linuxdevcenter]: http://www.linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html +[artima]: http://www.artima.com/intv/closures2.html +[tiobe]: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html +[jruby]: http://jruby.org +[rubinius]: https://rubinius.com +[truffleruby]: https://github.com/oracle/truffleruby +[mruby]: http://www.mruby.org/ +[ironruby]: http://www.ironruby.net +[maglev]: http://maglev.github.io +[cardinal]: https://github.com/parrot/cardinal +[parrot]: http://parrot.org +[awesome-rubies]: https://github.com/planetruby/awesome-rubies diff --git a/tok/about/logo/index.md b/tok/about/logo/index.md new file mode 100644 index 0000000000..5741b868b7 --- /dev/null +++ b/tok/about/logo/index.md @@ -0,0 +1,22 @@ +--- +layout: page +title: "sitelen nimi Ruby" +lang: tok +--- + +![sitelen nimi Ruby][logo] + +sitelen nimi Ruby li ijo pi jan Yukihiro Matsumoto, sike 2006. + +ona li lon lawa pi [Creative Commons Attribution-ShareAlike 2.5][cc-by-sa]. + + +## kama jo + +[Ruby Logo Kit][logo-kit] li jo e sitelen nimi Ruby lon nasin mute +(PNG, JPG, PDF, AI, SWF, XAR). + + +[logo]: /images/header-ruby-logo.png +[logo-kit]: https://cache.ruby-lang.org/pub/misc/logo/ruby-logo-kit.zip +[cc-by-sa]: http://creativecommons.org/licenses/by-sa/2.5/ diff --git a/tok/about/website/index.md b/tok/about/website/index.md new file mode 100644 index 0000000000..2428fdd231 --- /dev/null +++ b/tok/about/website/index.md @@ -0,0 +1,104 @@ +--- +layout: page +title: "lipu ni li seme" +lang: tok +--- + +lipu ni li kama pali kepeken Ruby en [Jekyll][jekyll],
+sitelen open ona li lon [GitHub][github-repo]. + +## nasin lukin + +nasin lukin pi tenpo ni li tan [Taeko Akatsuka][akatsuka]. +lipu li kama sin lon mun 12 pi sike 2025. + +Current ruby-lang.org design + +nimi "Happy Hacking" lon anpa lipu li sitelen-luka tan [Yukihiro +Matsumoto (Matz)][matz]. + +Happy Hacking on Footer + +## nasin lukin pi tenpo pini + +nasin lukin pi tenpo pini (lon mun 12 pi sike 2025 la) li tan [Jason +Zimdars][jzimdars].
+ona li tan nasin lukin pi tenpo open, jan Ruby Visual Identity Team li +pali e ona. + +Previous ruby-lang.org design + +## sitelen nimi + +[sitelen nimi Ruby][logo] li ijo pi jan Yukihiro Matsumoto, sike 2006. + + +## toki e pakala ## + +sina wile toki e pakala la, o kepeken [issue tracker][github-issues] +anu o toki tawa [jan lawa lipu][webmaster] (kepeken toki Inglisi). + + +## nasin pana pali ## + +lipu ni li pali pona tan jan pi kulupu Ruby. + +sina wile pana pali la, o lukin e [nasin pana pali][github-wiki], la o +open lon issue anu pull request! + + +## pilin pona tawa jan ## + +mi pana e pilin pona tawa jan pali sitelen ale, jan sitelen toki ale, en +jan pana pali ale pi lipu ni. + +mi pana sin e pilin pona tawa kulupu li pana wawa tawa mi: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +[logo]: /tok/about/logo/ +[webmaster]: mailto:webmaster@ruby-lang.org +[jekyll]: http://www.jekyllrb.com/ +[akatsuka]: https://x.com/ken_c_lo +[matz]: https://x.com/yukihiro_matz +[jzimdars]: https://twitter.com/jasonzimdars +[github-repo]: https://github.com/ruby/www.ruby-lang.org/ +[github-issues]: https://github.com/ruby/www.ruby-lang.org/issues +[github-wiki]: https://github.com/ruby/www.ruby-lang.org/wiki diff --git a/tok/community/index.md b/tok/community/index.md new file mode 100644 index 0000000000..e33d76605f --- /dev/null +++ b/tok/community/index.md @@ -0,0 +1,34 @@ +--- +layout: page +title: "kulupu" +lang: tok +--- + +kulupu li kama suli lon poka pi toki ilo la, ni li ijo wawa nanpa wan +pi toki ilo. Ruby li jo e kulupu wawa li kama suli, li pona tawa jan +ale, jan sin en jan pi sona suli. +{: .summary} + +sina wile kama insa la, o lukin e ma pini: + +[lipu toki pi Ruby](mailing-lists/) +: Ruby li jo e lipu toki mute, lon poki nasin mute, lon toki mute. sina + jo e wile sona pi Ruby la, o toki lon lipu toki — ni li nasin pona + tawa kama jo e sona. + +[ilo toki Discord pi Ruby (linja kama)][ruby-discord] +: ilo toki Discord pi toki Ruby li ma sina ken toki tawa jan Ruby ante, + kama jo e pona tawa wile sona sina, anu pana pona tawa jan ante. + Discord li ma pona tawa jan pali sin, li ken kama insa lon nasin + pona. + +[Ruby lon IRC (#ruby)](https://web.libera.chat/#ruby) +: poki toki IRC pi toki Ruby li nasin pona tawa toki kepeken jan Ruby + ante. + +[Ruby Central][ruby-central] +: Ruby Central li kulupu pi pana ala esun li pana wawa tawa kulupu Ruby + pi ma ale. + +[ruby-central]: http://rubycentral.org/ +[ruby-discord]: https://discord.gg/ad2acQFtkh diff --git a/tok/community/mailing-lists/index.md b/tok/community/mailing-lists/index.md new file mode 100644 index 0000000000..61acd9fb98 --- /dev/null +++ b/tok/community/mailing-lists/index.md @@ -0,0 +1,44 @@ +--- +layout: page +title: "lipu toki" +lang: tok +--- + +lipu toki li nasin pona tawa kama sona e ijo kulupu Ruby li pali lon +tenpo ni. +{: .summary} + +Ruby li jo e lipu toki Inglisi suli nanpa 4: + +Ruby-Talk +: lipu toki ni li kama suli nanpa wan, li toki e ijo Ruby ale. + ([lipu open][3], [lipu kulupu][rubytalk]) + +Ruby-Core +: lipu toki ni li toki e ijo insa pi Ruby en nasin pali ona, jan li + kepeken ona tawa lukin e sitelen pana (patch). ([lipu open][4]) + +Ruby-Doc +: lipu toki ni li toki e nasin pi lipu sona Ruby en ilo ona. + ([lipu open][5]) + +Ruby-CVS +: lipu toki ni li toki e pali sitelen ale lon poki sitelen Subversion + pi Ruby. + +poki toki comp.lang.ruby +: jan li olin e Usenet, li olin ala e lipu toki la, o lukin e + [comp.lang.ruby](news:comp.lang.ruby). + +## kama insa anu kama weka + +o lukin e [https://ml.ruby-lang.org/mailman3/lists/](https://ml.ruby-lang.org/mailman3/lists/) +tawa sona mute pi lipu toki ale lon ruby-lang.org, kepeken lipu toki pi +toki Nihongo. + + + +[3]: https://ml.ruby-lang.org/archives/list/ruby-talk@ml.ruby-lang.org/ +[4]: https://ml.ruby-lang.org/archives/list/ruby-core@ml.ruby-lang.org +[5]: https://ml.ruby-lang.org/archives/list/ruby-doc@ml.ruby-lang.org/ +[rubytalk]: https://rubytalk.org/ diff --git a/tok/conduct/index.md b/tok/conduct/index.md new file mode 100644 index 0000000000..d0e4c4850d --- /dev/null +++ b/tok/conduct/index.md @@ -0,0 +1,25 @@ +--- +layout: page +title: "lawa pona pi kulupu Ruby" +lang: tok +--- + +mi wile e lawa pona ni, mi kepeken poki open pi lawa pona PostgreSQL +(CoC), tawa kulupu jan pali Ruby li ken pali insa pona li awen lon +nasin pi ken ala pakala. kulupu Ruby ante ale (tenpo kulupu, e ijo +ante) li ken wile e lawa pona sin pi ona taso. +{: .summary} + +lipu ni li pana e lawa pi ma insa pona, ma insa pi ken ala pakala, ma +insa li pona tawa pali, tawa jan ale li wile pana pali tawa kulupu +Ruby. lawa ni li lon "ma insa pi pali kulupu" ale, kepeken lipu toki, +sitelen pana (patch), toki lon commit, e ijo sama. + +* jan ale li wile awen kepeken lawa insa la, li ken tuwa e pilin ante + jan ante, li ken ala pakala e ona. +* jan ale li wile e toki e pali ona li jo ala e utala jan, li jo ala e + toki ike tawa jan. +* jan li lukin e toki e pali pi jan ante la, ona li wile pilin e wile + pona jan ante, taso. +* nasin pali li ken lukin e ni: jan li pakala e jan ante kepeken toki + (harassment) la, kulupu li wile ala e ona. diff --git a/tok/documentation/index.md b/tok/documentation/index.md new file mode 100644 index 0000000000..81db59d15f --- /dev/null +++ b/tok/documentation/index.md @@ -0,0 +1,252 @@ +--- +layout: page +title: "lipu sona" +lang: tok +--- + +lipu sona, lipu kama sona, e lipu ante li pona tawa kama sona e Ruby +mute. +{: .summary} + +### kama jo e Ruby + +sina ken [lukin e Ruby lon lipu open sina][1] lon nasin pona, taso sina +ken lukin e [lipu sona pi kama jo](installation/) tawa pona pi kama jo +e Ruby. + +### lipu sona lawa pi Ruby + +[docs.ruby-lang.org/en][docs-rlo]: lipu sona pi Ruby ale li kama pana +lon tenpo pi sike 2.1 kama. + +[docs.ruby-lang.org/en/4.0][docs-rlo-4.0]: lipu sona pi Ruby 4.0. + +[docs.ruby-lang.org/en/master][docs-rlo-master]: lipu sona pi lipu +sitelen "master" pi Ruby. + +[C Extension Guide][docs-rlo-extension]: lipu sona pi mute tawa pali +poki pali C tawa Ruby. + +### o open + +[Try Ruby][1] +: sina ken lukin e Ruby lon lipu open sina. + +[Learn to Program][8] +: lipu sona lili pona tan jan Chris Pine, tawa jan sin pi pali sitelen. + sina sona ala e pali sitelen la, o open lon ni. + +[Ruby in Twenty Minutes][rubyin20] +: lipu sona lili pi Ruby, li wile tenpo lili taso (mun tenpo 20). + +[The Odin Project][odin] +: lipu sona open pi ale toki ilo. + +[Exercism][exercism] +: pali 120, kepeken lukin sona sin en jan pona sona. + +[Codecademy][codecademy] +: tomo sona sitelen pi lipu open, li jo e ijo mute. + +### lipu suli / lipu open + +#### jan sin + +[Programming Ruby 3.3][pickaxe] +: lipu suli nanpa wan pi Ruby lon toki Inglisi. ona li kama sin lon + Ruby 3.3. + +[The Well-Grounded Rubyist][grounded] +: lipu sona li open lon sitelen Ruby nanpa wan sina, li kama tawa ijo + suli sama reflection, nasin nasin-sama, en recursion. + +#### insa + +[Practical OOD in Ruby (POODR)][poodr] +: toki jan pali li toki e nasin pi sitelen kepeken poki + (object-oriented). + +#### jan pi sona suli + +[Metaprogramming][meta] +: toki e metaprogramming lon nasin pona lukin. + +[Ruby Under a Microscope (RUM)][microscope] +: lipu sona sitelen li toki e nasin insa pi Ruby. + +### lipu sona pi kulupu + +lipu sona ni li lawa pona tan kulupu Ruby. + +[RubyDoc.info][16] +: lipu wan pi lipu sona pi namako Ruby en poki pali GitHub pi Ruby. + +[RubyAPI.org][rubyapi-org] +: o alasa pona e poki, poki pali, e nasin pali pi Ruby. + +[ruby-doc.org][39] +: lipu sona API lon lipu open. + +[DevDocs.io][40] +: lipu sona API lon lipu open. + +[Ruby QuickRef][42] +: lipu sona lili pi Ruby. + +[rubyreferences][43] +: lipu sona suli pi toki ilo, kepeken lipu ante ale. + +### lipu sona pi nasin sitelen + +[rubystyle.guide][44] +: lipu sona pi nasin sitelen tan RuboCop. + +[RuboCop][45] +: ilo li lukin e nasin sitelen sina kepeken ilo. + +[Shopify][46] +: lipu sona pi nasin sitelen Ruby tan Shopify. + +[GitLab][47] +: lipu sona pi nasin sitelen Ruby tan Gitlab. + +[Airbnb][48] +: lipu sona pi nasin sitelen Ruby tan Airbnb. + +[w3resource][49] +: lipu sona pi nasin sitelen Ruby tan W3. + +# ilo + +[IRB][50] +: ilo toki-pana-toki (REPL) pi Ruby. + +[Pry][51] +: REPL ante pi Ruby. + +[Rake][52] +: ilo pali sama "make" tawa Ruby. + +[RI][53] +: (Ruby Information) ilo linja lipu li pana e lipu sona Ruby lon + tenpo lili. + +[RBS][54] +: sitelen pi nasin ijo tawa Ruby. + +[TypeProf][55] +: ilo pi lukin nasin ijo, li pona tawa alasa e nasin sitelen Ruby. + +[Steep][56] +: ilo lukin nasin ijo pi Ruby. + +### ilo sitelen + +tawa sitelen Ruby, sina ken kepeken ilo sitelen open pi ilo sona sina. +taso sina wile pali pona la, o alasa e ilo sitelen li jo e nasin pona +tawa Ruby (sama sitelen kule, lukin poki), anu ilo suli (IDE) li jo e +nasin pona mute (sama pana sitelen, ante sitelen, lukin pakala). + +lipu ni li lipu ilo sitelen li jan Ruby li olin, li kepeken tenpo kama +sona: + +* tenpo suno mute + * [Sublime Text][37] (mani) + * [Visual Studio Code][vscode] + * [Zed][zed] +* tenpo mun mute + * [RubyMine][27] (mani) +* tenpo sike mute (sina kama sona lon ona lon tenpo sike mute) + * [Emacs][20] kepeken [Ruby mode][21] anu [Enhanced Ruby mode][enh-ruby-mode] + * [Vim][25] kepeken [vim-ruby][26] + * [NeoVim][neovim] + +ilo sitelen ale ni li ken kepeken Language Server Protocol (LSP), +kepeken nasin ona anu poki namako LSP. ilo [ruby-lsp][ruby-lsp] tan +Shopify li ilo LSP pi jan mute li kepeken, li [pona tawa ilo sitelen +ale pi sewi][ruby-lsp-supported-editors]. + +### lipu pi tenpo pini + +lipu ni li kama suli lon tenpo pini, taso jan li ante ala e ona lon +tenpo mute. + +[Ruby Koans][2] +: Koans li kama tawa sina lon nasin pi kama sona Ruby. wile ona li kama + sona e toki Ruby, nasin sitelen, poki, en nasin pali ale. ona li + pana sin e kulupu Ruby tawa sina. + +[Ruby Essentials][7] +: lipu sona pi ken ala esun, li pona tawa kama sona e Ruby lon nasin + lili. + +[Why's (Poignant) Guide to Ruby][5] +: lipu sona ante li pona mute, li kama sona e Ruby kepeken toki insa, + nasin lawa, en sitelen musi. jan *why the lucky stiff* li open e ona, + lipu ni li awen suli tawa jan sin Ruby. + +[Learn Ruby the Hard Way][38] +: pali mute pona kepeken toki, li kama tawa sina tan open suli pi Ruby + tawa OOP en pali lipu open. + +[Programming Ruby][9] +: lipu suli nanpa wan pi Ruby lon toki Inglisi. lipu open nanpa wan pi + [lipu Pragmatic Programmers][10] li lon ken ala esun lon insa net. + +[The Ruby Programming Wikibook][12] +: lipu sona pi ken ala esun, jo e ijo tawa jan sin en jan insa, jo sin + e lipu sona toki suli. + +[1]: https://try.ruby-lang.org/ +[2]: https://rubykoans.com/ +[5]: https://poignant.guide +[7]: https://www.techotopia.com/index.php/Ruby_Essentials +[8]: https://pine.fm/LearnToProgram/ +[9]: https://web.archive.org/web/20250512022451/https://ruby-doc.com/docs/ProgrammingRuby/ +[10]: https://pragprog.com/titles/ruby5/programming-ruby-3-3-5th-edition/ +[12]: https://en.wikibooks.org/wiki/Ruby_programming_language +[16]: https://www.rubydoc.info/ +[20]: https://www.gnu.org/software/emacs/ +[21]: https://www.emacswiki.org/emacs/RubyMode +[25]: https://www.vim.org/ +[26]: https://github.com/vim-ruby/vim-ruby +[27]: https://www.jetbrains.com/ruby/ +[37]: https://www.sublimetext.com/ +[38]: https://learncodethehardway.org/ruby/ +[39]: https://ruby-doc.org/ +[40]: https://devdocs.io/ruby/ +[42]: https://www.zenspider.com/ruby/quickref.html +[43]: https://rubyreferences.github.io/ +[44]: https://rubystyle.guide/ +[45]: https://github.com/rubocop/ruby-style-guide +[46]: https://ruby-style-guide.shopify.dev/ +[47]: https://docs.gitlab.com/ee/development/backend/ruby_style_guide.html +[48]: https://github.com/airbnb/ruby +[49]: https://www.w3resource.com/ruby/ruby-style-guide.php +[50]: https://github.com/ruby/irb +[51]: https://github.com/pry/pry +[52]: https://github.com/ruby/rake +[53]: https://ruby.github.io/rdoc/RI_md.html +[54]: https://github.com/ruby/rbs +[55]: https://github.com/ruby/typeprof +[56]: https://github.com/soutaro/steep +[codecademy]: https://www.codecademy.com/learn/learn-ruby +[docs-rlo]: https://docs.ruby-lang.org/en +[docs-rlo-4.0]: https://docs.ruby-lang.org/en/4.0 +[docs-rlo-master]: https://docs.ruby-lang.org/en/master +[docs-rlo-extension]: https://docs.ruby-lang.org/en/master/extension_rdoc.html +[enh-ruby-mode]: https://github.com/zenspider/enhanced-ruby-mode/ +[exercism]: https://exercism.org/tracks/ruby +[grounded]: https://www.manning.com/books/the-well-grounded-rubyist-third-edition +[meta]: https://pragprog.com/titles/ppmetr2/metaprogramming-ruby-2/ +[microscope]: https://patshaughnessy.net/ruby-under-a-microscope +[neovim]: https://neovim.io/ +[odin]: https://www.theodinproject.com/paths/full-stack-ruby-on-rails/courses/ruby +[pickaxe]: https://pragprog.com/titles/ruby5/programming-ruby-3-3-5th-edition/ +[poodr]: https://www.poodr.com/ +[ruby-lsp]: https://github.com/Shopify/ruby-lsp +[ruby-lsp-supported-editors]: https://shopify.github.io/ruby-lsp/editors.html +[rubyapi-org]: https://rubyapi.org/ +[rubyin20]: /tok/documentation/quickstart/ +[vscode]: https://code.visualstudio.com/docs/languages/ruby +[zed]: https://zed.dev/ diff --git a/tok/documentation/installation/index.md b/tok/documentation/installation/index.md new file mode 100644 index 0000000000..c6d84dee41 --- /dev/null +++ b/tok/documentation/installation/index.md @@ -0,0 +1,421 @@ +--- +layout: page +title: "kama jo e Ruby" +lang: tok +--- + +kepeken ilo lawa namako anu ilo jan ante, sina jo e nasin mute tawa +kama jo e Ruby en lawa e ona. +{: .summary} + +sina ken jo e Ruby lon ilo sona sina lon tenpo ni. o lukin lon [ilo +toki][terminal], o sitelen e: + +{% highlight sh %} +ruby -v +{% endhighlight %} + +ni li wile pana e sona pi nanpa Ruby li lon. + +## o wile e nasin kama jo sina + +nasin mute li lon tawa kama jo e Ruby: + +* lon ilo sona sama UNIX, kepeken **ilo lawa namako** pi ilo sona sina + li nasin pona lili. taso, nanpa Ruby ona li ken jo ala e nanpa sin + nanpa wan. +* **ilo kama jo** (Installers) li ken pana e nanpa wan anu nanpa mute + pi Ruby. ilo kama jo li lon tawa Windows sin. +* **ilo lawa** (Managers) li pona e ken ante lon nanpa Ruby mute lon + ilo sona sina. +* sina ken pali sin, **pali e Ruby tan sitelen open**. + +lon Windows 10, sina ken kepeken [Windows Subsystem for Linux][wsl] +tawa kama jo e ilo sona Linux, la sina ken kepeken nasin kama jo ale +pi ilo sona ni. + +nasin kama jo li lon: + +* [ilo lawa namako](#package-management-systems) + * [Debian, Ubuntu](#apt) + * [CentOS, Fedora, RHEL](#yum) + * [Snap](#snap) + * [Gentoo](#portage) + * [Arch Linux](#pacman) + * [macOS](#homebrew) + * [FreeBSD](#freebsd) + * [OpenBSD](#openbsd) + * [OpenIndiana](#openindiana) + * [Windows Package Manager](#winget) + * [Chocolatey pi Windows](#chocolatey) + * [ilo sona ante](#other-systems) +* [ilo kama jo](#installers) + * [ruby-build](#ruby-build) + * [ruby-install](#ruby-install) + * [RubyInstaller](#rubyinstaller) (Windows) + * [Ruby Stack](#rubystack) +* [ilo lawa](#managers) + * [asdf-vm](#asdf-vm) + * [chruby](#chruby) + * [mise-en-place](#mise-en-place) + * [rbenv](#rbenv) + * [rbenv tawa Windows](#rbenv-for-windows) + * [RVM](#rvm) + * [uru](#uru) +* [pali tan sitelen open](#building-from-source) + + +## ilo lawa namako +{: #package-management-systems} + +sina ken ala pali e Ruby sina, sina wile ala e ilo jan ante la, sina +ken kepeken ilo lawa namako pi ilo sona sina. + +jan lon kulupu Ruby li pilin e ni: sina wile ala kepeken ilo lawa namako +tawa kama jo e Ruby, sina wile kepeken ilo namako taso. + +ilo lawa namako suli li ken kama jo e nanpa Ruby pini, ala nanpa sin. +sina wile e nanpa sin la, o lukin e nimi poki li sama nanpa ona. anu o +kepeken [ilo kama jo][installers] namako. + + +### apt (Debian anu Ubuntu) +{: #apt} + +Debian GNU/Linux en Ubuntu li kepeken ilo lawa apt. sina ken kepeken e +ona sama ni: + +{% highlight sh %} +$ sudo apt-get install ruby-full +{% endhighlight %} + + +### yum (CentOS, Fedora, anu RHEL) +{: #yum} + +CentOS, Fedora, en RHEL li kepeken ilo lawa yum. sina ken kepeken e ona +sama ni: + +{% highlight sh %} +$ sudo yum install ruby +{% endhighlight %} + +nanpa li kama jo li nanpa Ruby sin nanpa wan pi tenpo pana pi ilo sona +ni. + + +### snap (Ubuntu anu ilo sona Linux ante) +{: #snap} + +Snap li ilo lawa namako tan Canonical. ona li lon Ubuntu lon open, taso +ona li ken pali lon ilo sona Linux ante mute. sina ken kepeken e ona +sama ni: + +{% highlight sh %} +$ sudo snap install ruby --classic +{% endhighlight %} + +mi jo e nasin mute tawa lipu Ruby lili ale. sama ni, nasin ni li ante e +Ruby tawa 2.3: + +{% highlight sh %} +$ sudo snap switch ruby --channel=2.3/stable +$ sudo snap refresh +{% endhighlight %} + + +### portage (Gentoo) +{: #portage} + +Gentoo li kepeken ilo lawa portage. + +{% highlight sh %} +$ sudo emerge dev-lang/ruby +{% endhighlight %} + +sina wile e nanpa wan taso la, o ante e `RUBY_TARGETS` lon `make.conf` +sina. o lukin e [lipu Gentoo Ruby Project][gentoo-ruby] tawa sona mute. + + +### pacman (Arch Linux) +{: #pacman} + +Arch Linux li kepeken ilo lawa li nimi pacman. tawa kama jo e Ruby, o +pali e ni: + +{% highlight sh %} +$ sudo pacman -S ruby +{% endhighlight %} + + +### Homebrew (macOS) +{: #homebrew} + +Ruby nanpa 2.0 en nanpa sewi li lon insa pi macOS tan El Capitan (10.11) +kama. + +[Homebrew][homebrew] li ilo lawa namako li jan macOS li kepeken mute. +kama jo e Ruby kepeken Homebrew li pona lili: + +{% highlight sh %} +$ brew install ruby +{% endhighlight %} + +ni li kama jo e nanpa Ruby sin nanpa wan. + + +### FreeBSD +{: #freebsd} + +FreeBSD li pana e nasin tu: poki kama jo pona, anu sitelen open. sina +ken kama jo e poki pona kepeken ilo pkg: + +{% highlight sh %} +$ pkg install ruby +{% endhighlight %} + +sina ken pali tan sitelen open kepeken [Ports Collection][freebsd-ports-collection]. +ni li pona sina wile ante e nasin pali. + +sona mute pi Ruby lon FreeBSD li lon [lipu FreeBSD Ruby Project][freebsd-ruby]. + + +### OpenBSD +{: #openbsd} + +OpenBSD, en lipu adJ ona, li jo e poki tawa nanpa suli Ruby mute (tu +wan). nasin ni li pana e lukin nanpa lon lon en kama jo e wan: + +{% highlight sh %} +$ doas pkg_add ruby +{% endhighlight %} + +sina ken kama jo e nanpa suli mute lon poki wan, tan ni nimi ilo ona li +ante (sama `ruby27`, `ruby26`). + +lipu `HEAD` pi OpenBSD ports collection li ken jo e nanpa Ruby sin lili +tenpo lon tenpo suno lili poka pana ona. o lukin e +[lipu lang/ruby lon ports collection sin][openbsd-current-ruby-ports]. + + +### Ruby lon OpenIndiana +{: #openindiana} + +tawa kama jo e Ruby lon [OpenIndiana][openindiana], o kepeken ilo Image +Packaging System (IPS). ni li kama jo e ilo Ruby en RubyGems tan poki +sitelen OpenIndiana. ona li pona lili: + +{% highlight sh %} +$ pkg install runtime/ruby +{% endhighlight %} + +taso, ilo jan ante li ken pona lili tawa kama jo e nanpa Ruby sin nanpa +wan. + +### Windows Package Manager +{: #winget} + +lon Windows, sina ken kepeken [Windows Package Manager CLI](https://github.com/microsoft/winget-cli) +tawa kama jo e Ruby: + +{% highlight powershell %} +> winget install RubyInstallerTeam.Ruby.{MAJOR}.{MINOR} +# lipu: +> winget install RubyInstallerTeam.Ruby.3.2 +# tawa lukin e nanpa ale li lon: +> winget search RubyInstallerTeam.Ruby +# sona: sina kama jo Ruby tawa pali sina la, sina ken wile kama jo RubyWithDevKit +> winget install RubyInstallerTeam.RubyWithDevKit.3.2 +{% endhighlight %} + +### Chocolatey pi Windows +{: #chocolatey} + +lon Windows sin, sina ken kepeken [Chocolatey Package Manager](https://chocolatey.org/install) +tawa kama jo e Ruby: + +{% highlight sh %} +> choco install ruby +{% endhighlight %} + +ona li kepeken `msys2` sina jo, anu li kama jo e ona sin, tawa ma pali +Ruby li jo e ale. + +### ilo sona ante +{: #other-systems} + +lon ilo sona ante, o alasa e poki namako pi ilo lawa pi ilo sona Linux +sina tawa Ruby. anu, sina ken kepeken [ilo kama jo namako][installers]. + + +## ilo kama jo +{: #installers} + +nanpa Ruby pi ilo sona sina anu ilo lawa namako sina li tenpo pini la, +sina ken kama jo e nanpa sin kepeken ilo kama jo namako. + +ilo kama jo ante li ken pana e nanpa mute lon ilo sona sama; ilo lawa +poka ona li pona e ken ante lon insa Ruby mute. + +sina wile kepeken [RVM](#rvm) sama ilo lawa nanpa, sina wile ala e ilo +kama jo ante; RVM li jo e ilo pi ona taso. + + +### ruby-build +{: #ruby-build} + +[ruby-build][ruby-build] li poki namako pi [rbenv](#rbenv) li ken pali +en kama jo e nanpa Ruby ante mute. ruby-build li ken kepeken lon ken +ala rbenv. ona li lon macOS, Linux, en ilo sona sama UNIX ante. + + +### ruby-install +{: #ruby-install} + +[ruby-install][ruby-install] li ken pali en kama jo e nanpa Ruby ante +mute lon lipu ale sina wile. [chruby](#chruby) li ilo poka li ken ante +lon nanpa Ruby. ona li lon macOS, Linux, en ilo sona sama UNIX ante. + + +### RubyInstaller +{: #rubyinstaller} + +lon Windows, [RubyInstaller][rubyinstaller] li pana e ale sina wile, +tawa ma pali Ruby li jo e ale. + +o kama jo taso, o pali e ona, pini! + + +### Ruby Stack +{: #rubystack} + +sina kama jo Ruby tawa kepeken Ruby on Rails la, sina ken kepeken ilo +kama jo ni: + +* [Bitnami Ruby Stack][rubystack] li pana e ma pali ale tawa Rails. ona + li pona lon macOS, Linux, Windows, ilo sona sona (virtual machines), + en sitelen lipu awawa (cloud images). + + +## ilo lawa +{: #managers} + +jan Ruby mute li kepeken ilo lawa Ruby tawa lawa e nanpa Ruby mute. ona +li pana e ken ante lili, anu ken ante sama-sama, lon nanpa Ruby, kepeken +pali sina. taso kulupu Ruby li lawa ala e ilo ni; sina ken alasa pona +lon kulupu pi ilo ona taso. + + +### asdf-vm +{: #asdf-vm} + +[asdf-vm][asdf-vm] li ilo lawa nanpa li ken lawa e nanpa toki ilo mute +lon pali wan wan. sina wile e poki namako [asdf-ruby][asdf-ruby] (ona li +kepeken [ruby-build](#ruby-build)) tawa kama jo e Ruby. + + +### chruby +{: #chruby} + +[chruby][chruby] li pona e ken ante lon insa Ruby mute. ona li ken lawa +e Ruby li kama jo tan [ruby-install](#ruby-install) anu tan sitelen +open. + + +### mise-en-place +{: #mise-en-place} + +[mise-en-place][mise-en-place] li pona e ken ante lon insa Ruby mute, +sina wile ala e ilo namako. ona li lawa e kama jo lon ken ona taso, li +jo e [gem backend](https://mise.jdx.dev/dev-tools/backends/gem.html) +tawa lawa e nanpa ilo CLI li sitelen lon Ruby. ona li pona lon ilo sona +sama UNIX en lon Windows. + + +### rbenv +{: #rbenv} + +[rbenv][rbenv] li pona e lawa lon insa Ruby mute. ona taso li ken ala +kama jo e Ruby, taso poki namako ona [ruby-build](#ruby-build) li ken. +ilo tu ni li lon macOS, Linux, anu ilo sona sama UNIX ante. + + +### rbenv tawa Windows +{: #rbenv-for-windows} + +[rbenv tawa Windows][rbenv-for-windows] li pona e kama jo en lawa lon +insa Ruby mute lon Windows. ona li sitelen lon PowerShell, tan ni ona +li nasin lon pona tawa jan Windows. poka ona, nasin toki ilo li sama +[rbenv][rbenv] lon ilo sona sama UNIX. + + +### RVM ("Ruby Version Manager") +{: #rvm} + +[RVM][rvm] li pona e kama jo en lawa lon insa Ruby mute lon ilo sona +sina. ona li ken lawa e gemsets ante sin. ona li lon macOS, Linux, anu +ilo sona sama UNIX ante. + + +### RVM 4 Windows +{: #rvm-windows} + +[RVM 4 Windows][rvm-windows] li pona e kama jo en lawa lon insa Ruby +mute lon Windows. ona li sama RVM open, li pona lon linja toki open en +lon Powershell, kepeken nasin toki ilo sama RVM open. + + +### uru +{: #uru} + +[Uru][uru] li ilo linja toki lili li pali lon ma ilo mute, li pona e +kepeken Ruby mute lon macOS, Linux, anu Windows. + + +## pali tan sitelen open +{: #building-from-source} + +sina ken pali sin, kama jo e Ruby tan sitelen open. o [kama jo][download] +e poki, o open e ona, la o pali e ni: + +{% highlight sh %} +$ ./configure +$ make +$ sudo make install +{% endhighlight %} + +lon open, ni li kama jo e Ruby lon `/usr/local`. sina wile ante e ma +ni, o pana e `--prefix=DIR` tawa `./configure`. + +sona mute pi pali tan sitelen open li lon +[lawa pi pali Ruby][building-ruby]. + +taso, kepeken ilo jan ante anu ilo lawa namako li ken pona lili, tan ni +Ruby li kama jo lon nasin ni li lawa ala kepeken ilo. + + +[rvm]: http://rvm.io/ +[rvm-windows]: https://github.com/magynhard/rvm-windows#readme +[rbenv]: https://github.com/rbenv/rbenv#readme +[rbenv-for-windows]: https://github.com/RubyMetric/rbenv-for-windows#readme +[ruby-build]: https://github.com/rbenv/ruby-build#readme +[ruby-install]: https://github.com/postmodern/ruby-install#readme +[chruby]: https://github.com/postmodern/chruby#readme +[uru]: https://bitbucket.org/jonforums/uru +[rubyinstaller]: https://rubyinstaller.org/ +[rubystack]: http://bitnami.com/stack/ruby/installer +[openindiana]: http://openindiana.org/ +[gentoo-ruby]: http://www.gentoo.org/proj/en/prog_lang/ruby/ +[freebsd-ruby]: https://wiki.freebsd.org/Ruby +[freebsd-ports-collection]: https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports-using.html +[homebrew]: http://brew.sh/ +[terminal]: https://en.wikipedia.org/wiki/List_of_terminal_emulators +[download]: /tok/downloads/ +[installers]: /tok/documentation/installation/#installers +[building-ruby]: https://docs.ruby-lang.org/en/master/contributing/building_ruby_md.html +[wsl]: https://docs.microsoft.com/en-us/windows/wsl/about +[asdf-vm]: https://asdf-vm.com/ +[asdf-ruby]: https://github.com/asdf-vm/asdf-ruby +[mise-en-place]: https://mise.jdx.dev +[mise-en-place-ruby]: https://mise.jdx.dev/lang/ruby.html +[openbsd-current-ruby-ports]: https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/lang/ruby/?only_with_tag=HEAD diff --git a/tok/documentation/quickstart/index.md b/tok/documentation/quickstart/index.md new file mode 100644 index 0000000000..cf2fa7bb0a --- /dev/null +++ b/tok/documentation/quickstart/index.md @@ -0,0 +1,130 @@ +--- +layout: page +title: "Ruby lon tenpo lili" +lang: tok +--- + +## o open + +lipu sona lili ni li Ruby, li wile tenpo lili taso (mun tenpo 20). mi +pilin e ni: Ruby li lon insa ilo sona sina. (Ruby li lon ala la, o +[kama jo][installation] e ona lon open.) + +## Ruby pi toki-pana-toki + +Ruby li jo e ilo li ken pana e nanpa pi toki Ruby sina pana. o musi +kepeken sitelen Ruby lon ilo ni — nasin ni li pona mute tawa kama sona +e toki ilo. + +o open e IRB (Interactive Ruby). + +* sina kepeken **macOS** la, o open e `Terminal`, o sitelen e `irb`, o + luka e Enter. +* sina kepeken **Linux** la, o open e ilo toki, o sitelen e `irb`, o + luka e Enter. +* sina kepeken **Windows** la, o open e `Interactive Ruby` tan lipu + Ruby lon Start Menu sina. + +{% highlight irb %} +irb(main):001:0> +{% endhighlight %} + +pona, ona li open. tenpo ni la seme? + +o sitelen e ni: `"Hello World"` + +{% highlight irb %} +irb(main):001:0> "Hello World" +=> "Hello World" +{% endhighlight %} + +## Ruby li kute e sina! + +ijo seme li kama? mi sitelen ala e toki ilo "Hello World" lili nanpa +wan pi ma ale, la seme? linja tu li nasin pi IRB taso, li toki e nanpa +pi toki open pini. mi wile sitelen e "Hello World" lon lukin la, mi +wile e ijo namako: + +{% highlight irb %} +irb(main):002:0> puts "Hello World" +Hello World +=> nil +{% endhighlight %} + +`puts` li nasin pali suli tawa sitelen lon lukin, lon Ruby. taso `=> +nil` li seme? ona li nanpa pi toki. `puts` li pana nanpa `nil` lon +tenpo ale — `nil` li nanpa Ruby pi "ijo ala" mute. + +## ilo nanpa sina, li ken ala esun! + +mi jo e mute tawa kepeken IRB sama ilo nanpa (calculator): + +{% highlight irb %} +irb(main):003:0> 3+2 +=> 5 +{% endhighlight %} + +nanpa 3 en nanpa 2. pona lili. nanpa 3 kepeken nanpa 2 lon nasin pi +pana-mute (times) la, seme? sina ken sitelen e ona sin, taso sina ken +luka e **linja sewi** lon leko sina tawa lukin e linja `3+2` sina +sitelen pini. sina lukin e ona la, o luka e linja poka tawa lon poka pi +`+`, o weka e ona, o sitelen e `*`. + +{% highlight irb %} +irb(main):004:0> 3*2 +=> 6 +{% endhighlight %} + +kepeken sin, o alasa e nanpa 3 li pana-mute e ona taso (squared): + +{% highlight irb %} +irb(main):005:0> 3**2 +=> 9 +{% endhighlight %} + +lon Ruby, `**` li nasin toki pi "wawa tawa". taso sina wile e nasin +ante, sina wile alasa e "square root" pi nanpa la, seme? + +{% highlight irb %} +irb(main):006:0> Math.sqrt(9) +=> 3.0 +{% endhighlight %} + +pona, o awen — ijo pini seme li lon? sina toki e "ona li alasa e square +root pi nanpa 9," sina pona. taso o lukin insa e ijo. lon open, `Math` +li seme? + +## poki pali li kama poki e sitelen lon nimi + +`Math` li poki pali (module) li lon Ruby lon open, li jo e nasin pali +pi nanpa. poki pali li jo e nasin tu lon Ruby. ni li nasin wan: ona li +kama poki e nasin pali sama lon nimi wan. `Math` li jo sin e nasin pali +sama `sin()` en `tan()`. + +lon kama la, sitelen `.` li lon. `.` li seme? `.` li nasin pona tawa +toki e jan li kama jo e toki sina. toki seme? lon ni, toki li +`sqrt(9)`, li toki e ni: o kepeken nasin pali `sqrt` (nimi lili pi +"square root") kepeken nanpa `9`. + +nanpa li kama tan nasin pali ni li `3.0`. sina ken lukin e ni: ona li +`3` taso ala. tan ni: mute pi tenpo la, square root pi nanpa li nanpa +lipu ala, tan ni nasin pali li pana nanpa "floating-point" lon tenpo +ale. + +mi wile awen e nanpa pi pali ni la, seme? o pana e nanpa tawa poki +nimi: + +{% highlight irb %} +irb(main):007:0> a = 3 ** 2 +=> 9 +irb(main):008:0> b = 4 ** 2 +=> 16 +irb(main):009:0> Math.sqrt(a+b) +=> 5.0 +{% endhighlight %} + +ilo nanpa ni li pona mute, taso mi weka lili tan toki "Hello World" li +lipu sona sin ale li wile toki e ona. taso ni li open taso — Ruby li +lon insa poki, li lon insa lipu sona, li ken ale sina wile pali! + +[installation]: /tok/documentation/installation/ diff --git a/tok/downloads/index.md b/tok/downloads/index.md new file mode 100644 index 0000000000..b0cdfe1a24 --- /dev/null +++ b/tok/downloads/index.md @@ -0,0 +1,86 @@ +--- +layout: page +title: "kama jo e Ruby" +lang: tok +--- + +lon ni sina ken kama jo e Ruby sin nanpa lon nasin sina olin. nanpa +awen pi tenpo ni li {{ site.data.downloads.stable[0] }}. o lukin e +[lawa kepeken Ruby][license]. +{: .summary} + +### nasin kama jo e Ruby + +mi jo e ilo mute tawa ma ilo suli ale, tawa kama jo e Ruby: + +* lon Linux/UNIX, sina ken kepeken ilo lawa namako pi ilo sona sina, + anu ilo jan ante ([rbenv][rbenv] en [RVM][rvm]). +* lon macOS, sina ken kepeken ilo jan ante ([rbenv][rbenv] en + [RVM][rvm]). +* lon Windows, sina ken kepeken [RubyInstaller][rubyinstaller]. + +o lukin e lipu [kama jo][installation] tawa sona mute pi kepeken ilo +lawa namako anu ilo jan ante. + +sina ken pana sin, kama jo e Ruby tan sitelen open (source code) lon ma +ilo ale. + +### pali e Ruby tan sitelen open + +kama jo tan sitelen open li pona la sina sona mute e ilo sona sina, +anu sina wile e nasin namako tawa ma sina. ona li pona sin lon tenpo +ilo sina jo ala e poki kama jo pona. + +o lukin e lipu [kama jo][installation] tawa sona mute pi pali Ruby tan +sitelen open. sina jo e pakala lon pali Ruby la, o alasa kepeken ilo +jan ante li toki lon sewi. ona li ken pana pona. + +* **nanpa awen (stable):**{% for version in site.data.downloads.stable %}{% assign release = site.data.releases | where: "version", version | first %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} + +{% if site.data.downloads.preview %} +* **nanpa lukin-open (preview):**{% for version in site.data.downloads.preview %}{% assign release = site.data.releases | where: "version", version | first %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} + +{% if site.data.downloads.security_maintenance %} +* **lon tenpo awen pona taso (kama pini lon tenpo lili!):**{% for version in site.data.downloads.security_maintenance %}{% assign release = site.data.releases | where: "version", version | first %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} + +{% if site.data.downloads.eol %} +* **kama pini pona (EOL):**{% for version in site.data.downloads.eol %}{% assign release = site.data.releases | where: "version", version | first %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} + +* **sitelen open pi tenpo ni (Snapshots):**{% for snapshot in site.data.downloads.stable_snapshots %} + * [Stable Snapshot pi lipu {{ snapshot.branch }}]({{ snapshot.url.gz }}): + ni li poki sitelen pi tenpo pini nanpa wan, tan lipu `{{ snapshot.branch }}` pi tenpo ni.{% endfor %} + * [Nightly Snapshot]({{ site.data.downloads.nightly_snapshot.url.gz }}): + ni li poki sitelen tan Git, li kama sin lon tenpo pimeja ale. + ona li ken jo e pakala, o kepeken kepeken lawa sina! + +tawa sona mute pi nanpa sin, e nanpa pini, e nanpa lukin-open, o lukin +e [lipu Releases][releases] (toki Inglisi). sona pi tenpo awen pi lipu +Ruby mute li lon [lipu Branches][branches] (toki Inglisi). + +tawa sona pi poki sitelen Ruby (Subversion en Git), o lukin e lipu +[Ruby Core](/en/community/ruby-core/) (toki Inglisi). + +sitelen open pi Ruby li lon [ma Mirror Sites][mirrors] (toki Inglisi) +pi ma ale. o alasa kepeken mirror li lon poka sina. + + + +[license]: {{ site.license.url }} +[installation]: /tok/documentation/installation/ +[releases]: /en/downloads/releases/ +[branches]: /en/downloads/branches/ +[mirrors]: /en/downloads/mirrors/ +[rvm]: http://rvm.io/ +[rbenv]: https://github.com/rbenv/rbenv +[rubyinstaller]: https://rubyinstaller.org/ diff --git a/tok/examples/cities.md b/tok/examples/cities.md new file mode 100644 index 0000000000..773965b257 --- /dev/null +++ b/tok/examples/cities.md @@ -0,0 +1,20 @@ +--- +layout: null +--- + +{% highlight ruby %} +# Ruby li sona e wile sina, +# taso sina wile pali nanpa +# lon Array ale +cities = %w[ London + Oslo + Paris + Amsterdam + Berlin ] +visited = %w[Berlin Oslo] + +puts "mi wile awen " + + "tawa lukin e ma " + + "ni:", + cities - visited +{% endhighlight %} diff --git a/tok/examples/greeter.md b/tok/examples/greeter.md new file mode 100644 index 0000000000..68e00b7546 --- /dev/null +++ b/tok/examples/greeter.md @@ -0,0 +1,22 @@ +--- +layout: null +--- + +{% highlight ruby %} +# poki Greeter (jan toki) +class Greeter + def initialize(name) + @name = name.capitalize + end + + def salute + puts "toki #{@name}!" + end +end + +# o pali e ijo sin +g = Greeter.new("ma") + +# ona li sitelen e "toki Ma!" +g.salute +{% endhighlight %} diff --git a/tok/examples/hello_world.md b/tok/examples/hello_world.md new file mode 100644 index 0000000000..fc5ff2226f --- /dev/null +++ b/tok/examples/hello_world.md @@ -0,0 +1,18 @@ +--- +layout: null +--- + +{% highlight ruby %} +# toki ilo "Hello World" li +# suli mute, taso lon Ruby +# ona li pona lili. sina +# wile ala e: +# +# * nasin pali "main" +# * linja sin +# * sitelen ";" +# +# sitelen ni li lon: + +puts "Hello World!" +{% endhighlight %} diff --git a/tok/examples/i_love_ruby.md b/tok/examples/i_love_ruby.md new file mode 100644 index 0000000000..4a2f58c050 --- /dev/null +++ b/tok/examples/i_love_ruby.md @@ -0,0 +1,17 @@ +--- +layout: null +--- + +{% highlight ruby %} +# ona li sitelen e "mi olin e Ruby" +say = "mi olin e Ruby" +puts say + +# ona li sitelen e "mi *OLIN* E RUBY" +say = say.sub("olin", "*olin*") +puts say.upcase + +# ona li sitelen e "mi *olin* e Ruby" +# nanpa luka +5.times { puts say } +{% endhighlight %} diff --git a/tok/feeds/news.rss b/tok/feeds/news.rss new file mode 100644 index 0000000000..dfbf2c001f --- /dev/null +++ b/tok/feeds/news.rss @@ -0,0 +1,4 @@ +--- +layout: news_feed +lang: tok +--- diff --git a/tok/index.html b/tok/index.html new file mode 100644 index 0000000000..2f6f058b08 --- /dev/null +++ b/tok/index.html @@ -0,0 +1,15 @@ +--- +layout: homepage +title: "Ruby Programming Language" +lang: tok +--- + +{% include home/hero.html %} + + +{% include home/why_ruby.html %} + + +{% include home/community.html %} + +{% include home/news_security.html %} diff --git a/tok/libraries/index.md b/tok/libraries/index.md new file mode 100644 index 0000000000..55927f1695 --- /dev/null +++ b/tok/libraries/index.md @@ -0,0 +1,127 @@ +--- +layout: page +title: "namako" +lang: tok +--- + +sama toki ilo mute, Ruby li kepeken namako mute tan jan ante. +{: .summary} + +namako ale (li sama ale) li kama lon nasin **gem** (mi toki e ona +"namako"), poki namako wan anu ilo wan li ken kama jo kepeken ilo li +nimi [**RubyGems**][1]. + +RubyGems li ilo lawa namako pi Ruby, li pona e pali, e pana tawa jan +ante, en kama jo pi namako (lon nasin ante, ona li sama ilo lawa namako +`apt-get`, taso ona li tawa Ruby taso). Ruby li jo e RubyGems lon open +tan nanpa 1.9 kama; nanpa Ruby pi tenpo pini li wile e sina [kama jo +kepeken luka][2]. + +namako ante li kama lon poki sitelen (.zip anu .tar.gz) pi **sitelen +open**. nasin kama jo li ken ante ante; poki `README` anu `INSTALL` li +lon mute, li jo e nasin toki. + +o lukin e nasin alasa e namako en kama jo e ona tawa kepeken sina. + +### alasa e namako + +ma suli tawa namako li [**RubyGems.org**][1], poki namako pi jan ale li +ken alasa en kama jo lon ilo sona sina. sina ken alasa e namako lon +lipu RubyGems, anu kepeken nasin pali `gem`. + +kepeken `gem search -r`, sina ken alasa lon poki RubyGems. sama ni, +`gem search -r rails` li pana e lipu namako li poka Rails. kepeken +`--local` (`-l`), sina alasa lon namako sina jo pini. tawa kama jo e +namako, o kepeken `gem install [namako]`. tawa lukin e namako sina jo, +o kepeken `gem list`. tawa sona mute pi nasin pali `gem`, o lukin lon +anpa anu o tawa [lipu sona RubyGems][3]. + +ma ante li lon tawa namako. [**GitHub**][5] li ma suli nanpa wan tawa +sitelen Ruby. mute pi tenpo la, sitelen open pi namako li lon GitHub, +taso ona li kama namako sin lon RubyGems.org. + +[**The Ruby Toolbox**][6] li pali li pona e alasa e pali Ruby pi ken ala +esun. ona li jo e poki mute tawa pali suli mute, li jo e sona mute pi +pali (pana sin, pali sitelen) anu poki poka ona, li lukin e pali kepeken +nasin jan li kepeken ona lon RubyGems.org en GitHub. ni li pona e alasa +e namako li pona tawa pakala wan (sama poki ilo lipu, ilo lipu sona, +namako pi pona sitelen). + +### toki lili sin pi RubyGems + +o lukin e toki lili pi nasin pali `gem`, tawa kepeken sina lon tenpo +suno ale. [lipu sona mute][7] li lon, li toki e ale pi ilo namako ni. + +#### alasa e namako lon insa namako ale + +nasin pali **search** li ken alasa e namako, kepeken nimi lili. namako +li open kepeken nimi lili sina pana li kama lon lipu. sama ni, tawa +alasa e namako li poka "html": + +{% highlight sh %} +$ gem search -r html + +*** REMOTE GEMS *** + +html-sample (1.0, 1.1) +{% endhighlight %} + +sitelen `--remote` / `-r` li toki e ni: mi wile lukin e poki lawa +RubyGems.org (nasin lon open). kepeken `--local` / `-l`, sina alasa lon +namako sina jo pini. + +#### kama jo e namako + +sina sona e namako sina wile **kama jo**, sama poki pali suli Ruby on +Rails: + +{% highlight sh %} +$ gem install rails +{% endhighlight %} + +sina ken kama jo e nanpa wan taso, kepeken `--version` / `-v`: + +{% highlight sh %} +$ gem install rails --version 5.0 +{% endhighlight %} + +#### lipu pi namako ale + +tawa **lipu** pi namako ale sina jo pini: + +{% highlight sh %} +$ gem list +{% endhighlight %} + +tawa lipu suli (suli mute!) pi namako ale lon RubyGems.org: + +{% highlight sh %} +$ gem list -r +{% endhighlight %} + +#### pana pona! + +lipu sona li lon insa ilo toki sina: + +{% highlight sh %} +$ gem help +{% endhighlight %} + +sama ni, `gem help commands` li pona mute, tan ni ona li pana e lipu pi +nasin pali `gem` ale. + +#### pali e namako sina + +RubyGems.org li jo e [lipu sona mute][3] pi ijo ni. sina ken lukin sin e +[Bundler][9], ilo li pona e lawa e namako sina wile tawa pali wan, li +ken kepeken poka RubyGems. + + + +[1]: https://rubygems.org/ +[2]: https://rubygems.org/pages/download/ +[3]: http://guides.rubygems.org/ +[5]: https://github.com/ +[6]: https://www.ruby-toolbox.com/ +[7]: http://guides.rubygems.org/command-reference/ +[9]: http://bundler.io/ diff --git a/tok/news/_posts/2026-09-10-toki-pona-lon-lipu-Ruby.md b/tok/news/_posts/2026-09-10-toki-pona-lon-lipu-Ruby.md new file mode 100644 index 0000000000..974c883451 --- /dev/null +++ b/tok/news/_posts/2026-09-10-toki-pona-lon-lipu-Ruby.md @@ -0,0 +1,25 @@ +--- +layout: news_post +title: "toki pona li lon lipu Ruby!" +author: "Toki Pona Translators" +translator: +date: 2026-09-10 12:00:00 +0000 +lang: tok +--- + +tenpo ni la, mi pana e [lipu Ruby lon toki pona][1] tawa jan ale! + +lipu sin ni li toki e Ruby li seme, li toki e nasin kama jo, li toki e +lipu sona pi open, e kulupu, e awen pona, e namako, e ijo mute ante — +ale lon toki pona. + +sina wile pana pali tawa kulupu Ruby la, sina ken pona e lipu ni! o +tawa [ruby-lang.org lon GitHub][2], o open e issue anu pull request +lon tenpo ni! + +toki pona li ale li pona. + + + +[1]: {{ site.url }}/tok/ +[2]: https://github.com/ruby/www.ruby-lang.org/ diff --git a/tok/security/index.md b/tok/security/index.md new file mode 100644 index 0000000000..fc4e6d9cc5 --- /dev/null +++ b/tok/security/index.md @@ -0,0 +1,43 @@ +--- +layout: page +title: "awen pona" +lang: tok +--- + +lon ni sina ken kama jo e sona pi awen pona Ruby. +{: .summary} + +## o toki e pakala awen + +sina lukin e pakala awen lon toki ilo Ruby la, o toki e ona lon +[lipu HackerOne](https://hackerone.com/ruby) mi, anu kepeken sitelen +lipu tawa security@ruby-lang.org +([nasin PGP](/security.asc)), lipu toki pi ken ala jan ale lukin. o +lukin e sona pi ken lipu mi lon open, o toki pini. pakala ale li lon, +li lon toki mi la, mi pana e sona pi pakala ni lon lipu ale, tenpo pona +li pana pini. + +sina lukin e pakala lon lipu mi (website) wan la, o toki e ona +[kepeken GitHub](https://github.com/ruby/www.ruby-lang.org/issues/new). + +sina lukin e pakala lon namako pi kulupu Ruby taso la, o kepeken +[nasin lon RubyGems.org](http://guides.rubygems.org/security/#reporting-security-vulnerabilities). + +## lipu toki pi awen pona + +jan lon lipu toki security@ruby-lang.org li jan li pana e Ruby (jan +committer pi Ruby, jan pi nasin pali Ruby ante, jan pana namako, jan +PaaS). + +jan lon lipu toki li wile jan wan taso; lipu toki ante li ken ala jan +lon insa. sina lawa e kulupu ni la, o toki tawa mi tawa kama insa. + +## pakala li sona pini + +_o lukin e [lipu Inglisi](/en/security/) tawa lipu pi pakala awen ale +li sin lon tenpo ni. lipu ni li jo e sona sin taso mi ante toki pini, +tan ni ona li ken jo ala e ale, anu li ken tenpo pini._ + +pakala sin li lon ni: + +{% include security_posts.html %}