Maple GNU/Linux 作業系統

1 年 9 個月 ago

Maple GNU/Linux 作業系統架構圖

Maple GNU/Linux作業系統(簡稱Maple作業系統),為一功能完整且針對楓葉板單板電腦應用需求所設計的作業系統,能連結、整合和管理楓葉板單板電腦的軟、硬體資源。 Maple 作業系統衍生自 Debian GNU/Linux 作業系統,故其操作及使用方法和 Debian GNU/Linux 相同。

Maple 作業系統提供標準的文字模式 Linux Shell ,可藉由輸入 Shell 命令,進行系統管理、使用者設定、安全設定、啓動應用程式執行等等。 Maple 作業系統同時提供 MapleWebDE網頁桌面環境,可由此進行系統管理設定,啓動應用程式執行,及開發相關應用程式等等。

Maple 作業系統提供完整的網路連線能力,從實體層的相關驅動程式,到資料鏈接層、網路層、傳輸層,以及更高層等。 Maple 作業系統支援各種常用的通訊協定、網路管理和公用程式,可隨着不同的應用場合,選擇使用。

Maple 作業系統提供完整的 GNU 程式開發工具鏈、 GNU Build 系統、 GNU 除錯系統,可用來開發 C/C++ 以及其他程式語言應用程式。 Maple作業系統也支援 Python Java Perl PHP Javascript 等直譯式程式語言開發應用程式。 Maple 作業系統還提供豐富的公用程式庫和中介軟體,可供應用程式呼叫使用。

Maple 作業系統採用Debian套件管理系統,提供三萬多個套件軟體,隨需要可從Maple 套件管理和發行管理伺服器下載安裝。

contact

在最初的梦想里,做最顽固的自己

1 年 9 個月 ago

坚持梦想

《顽固》——五月天

我身在 當時妳 幻想的 未來裏

這個狂熱和沖動 早已冷卻的如今

妳頑固 的神情 消失在 鏡子裏

只留下 時光消逝的痕跡

 

每顆心 的相信 每個人 的際遇

每個故事的自己 反復地問著自己

這些年 讓步的 妳是否 會嘆息

有什麽 是妳永遠不放棄

 

壹次壹次妳 吞下了淚滴

壹次壹次 拼回破碎自己

壹天壹天妳 是否還相信

活在妳心深處 那頑固自己

 

妳追逐 妳呼吸 妳囂張 的任性

鼻青臉腫的哭過 若無其事的忘記

如果妳 能預知 這條路 的陷阱

我想妳 依然錯得很過癮

 

走過的 叫足跡 走不到 叫憧景

學會收拾起叛逆 學會隱藏了表情

卸下了 這面具 我想說 謝謝妳

謝謝妳 壹路陪我到這裏

 

壹次壹次妳 吞下了淚滴

壹次壹次 拼回破碎自己

壹天壹天妳 是否還相信

活在妳心深處 那頑固的自己

 

妳當時相信 的那些事情

會在如今 變成美麗風景

每當我遲疑 從不曾忘記

活在我心深處 那頑固的自己

 

五月天,顽固

 

五月天的這首歌,也許並不是他們最膾炙人口、傳唱度最高的壹首歌,但是如果妳看過這首歌的MV,再細細品味它的歌詞,相信心有戚戚的妳定會被它演繹的故事,傳遞的精神所打動,甚至能在壹幕幕感人的畫面裏看到自己的人生片段,走過的路,曾經的自己。

 

每個人都有過類似的故事吧,在幼時我們天真懵懂,對世界充滿幻想,對未來充滿希冀,那時候我們都曾經擁有過夢想,雖然有些幼稚,甚至不著邊際,但幼小心靈裏埋下的夢想的種子,在長大的日子裏,有的被持續澆灌,隨我們壹同長大,當然,也有的在現實的風霜雨雪摧殘下,不幸夭折了,或者被遗忘在心底最深的角落。

 

儿时梦想

 

在不同的際遇下,我們走上了各自不同的人生道路,有的輝煌閃耀,有的平凡暗淡,我們成為了不同的人。後來某壹天突然發現,長大的自己和幼時相比,竟然已面目全非,變得連自己都不認識自己。

 

是什麽將我們與人群區分開來,成為不壹樣的自己?在壹張張看似千篇壹律的面孔之下,又將如何保有獨壹無二的靈魂,讓妳依然認得自己?那個活在妳心深處的頑固的自己?

 

做独一无二的你

 

在寫下以上文字時,我剛好看完紀錄片Genius的其中壹集,是關於六十年代美蘇太空競賽的。1961年4月12日,蘇聯宇航員加加林成為全世界第壹個進入太空的人。1969年7月20日,美國宇航員阿姆斯特朗成為全世界第壹個登上月球的人。在冷戰時期這場影響全人類的美蘇太空爭霸戰中,背後有兩位偉大的天才科學家——馮•布勞恩和科羅廖夫。他們之間的競爭使得人類對於太空的探索取得了歷史性的突破。這不只是國家與國家之間的博弈,更重要的是夢想的推動力,無論是加加林和阿姆斯特朗,還是馮•布勞恩和科羅廖夫,他們肩上所承載的,都是全人類的夢想,是我們向未知領域不斷探索的動力。

 

 

儿时梦想

 

而我們這些與天才無法相提並論的普通人,也是因為擁有夢想,才不至於被現實磨礪得失去自己,成為庸碌無為的nobody。“沒有夢想的人,和鹹魚有什麽兩樣?”是夢想使平凡的我們閃耀出光芒。就像《頑固》的MV裏的主人公梁家輝壹樣,即使做著毫不起眼的工作,私底下卻仍未放棄他成為宇航員的夢想,誰又能說他的夢想比不上加加林或科羅廖夫們呢?

 

儿时梦想

 

楓葉板的締造者是我敬爱的老师,他是五月天的粉絲,是他向我推薦了《頑固》這首歌。他的心裏也有壹個夢想,他的夢想就是,希望楓葉板能成為壹艘載著人類共同的夢想飛往外太空的宇宙飛船,也載著妳我各自不同的夢想,飛向曾經幻想的未來,讓妳當時相信的那些事情變成如今的美麗風景!

 

顽固的自己

 

無論世界如何改變,妳經歷了什麽,請記得不要丟棄夢想,要始終相信,那個活在妳心深處,最頑固的自己。

Michelle

Change Menu My Account to Current User Name

1 年 9 個月 ago

Drupal 預設的account menu有兩個:my account 跟 login/logout
如何改掉my account顯示登入者的名字呢?
hook 的 function 名字要怎麼叫他才會呼叫到呢?

一開始在twig裏面動手,
把 text = 'my account' 換掉,結果行不通...
最後沒有解決是哪裡出了問題

然後查了很多決定在 .module 裏面做

/*change route user.page title to current user name, but link is always cached*/ function blog_user_manager_menu_links_discovered_alter(&$links) {   $uid = \Drupal::currentUser()->id();   $user = \Drupal\user\Entity\User::load($uid);   $name = $user->getUsername();   $links['user.page']['title'] = $name; }

 

以上可以改掉my account的title沒錯,但是link 是在 page render之前做好的?
所以一定會被cache起來,即使我們page cache都關關掉也沒用的。
清掉所有cache後第一次登入是我sean,
之後不論是誰登入還是顯示sean...

為了解決cache的問題和Mark弄了一整天,沒有辦法成功,
大部份是在處理動態route的問題。
最後決定回到render page的層面處理。

/*make account_menu do not cache with user changed*/ function mapleblog2_preprocess_page(&$variables) {   $variables['page']['navigation_collapsible']['mapleblog2_account_menu']['#cache']['contexts'][] =      'user'; }

 

以上使得account menu的render不會cache,
但是$link在這之前已經固定了...

在kint($variables[page])找不到$link title有關的東西,
最後的最後還是得在theme做啊~

讓我們把剛剛那些通通刪掉!

 

答案

找到render menu account的twig然後在custom theme裏面編輯,

  • ...
  • 之間找到印出menu item的地方,

    {% if item.title == 'My account' %}           {{ link(user.displayname, item.url) }}         {% else %}           {{ link(item.title, item.url) }}         {% endif %}

     

    drupal8 預設有提供$user給twig用,因此可以使用user裏面的displayname,
    不過我們的theme用了macro 這個function來處理menu item,
    macro有自己的scope,twig doc
    因此我們需要解決如何讓macro裏面也叫到 $user,
    Issues with passing a variable to a macro

    所以補上user參數傳進去

    {{ menus.menu_links(items, attributes, 0, user) }} {% macro menu_links(items, attributes, menu_level, user) %}

     

    成功!

    ----------------------------------

    後記:
    cache context加 $user 是必要的,不然該menu block可能會顯示出其他人的名字(cached)

    sean

    Multi-user Blog: Make User Own Page

    1 年 10 個月 ago

    website building

    接續Content Node: Make a Page
    來談談我的blog建立吧!

    最麻煩的是blog multi-user...
    每個user如何擁有自己的頁面呢?
    因為不是basic page而且要是動態的,
    所以架構上要考慮的其實很多很多啊!

    利用node與view(filter)的想法做出來後,
    在添加各種功能上遇到了不直覺操作的困難...
    由於該頁是fliter撈出來的,
    所以無法像固定頁面那樣給他固定的圖片、工具,
    畢竟每個人的頁面要長得不同呀!

    目前困惑的點:
    以view去做,
    需要想出如何新建account時,
    給他自動建好那些content(空的封面照片、自我介紹、0篇文章),
    然後還需要讓使用者直接在該頁面點連結(contextual link)去編輯頁或是in-place修改。

    對了!
    像是封面照片如果讓他建立account時,
    建一個custom block給他並且自動assign到固定位置,
    這樣好像會GG呢!因為整個網站的Block會又臭又長,
    而且這樣就破壞了view的觀念了。
    所以想法還是建一個block放在那邊,
    該block會自動認識路徑從database撈出我要的照片出來才對。

    用傳統的想法應該是每個人的部落格空間都是獨立的,
    content應該是獨立儲存,而不是像我們用CMS大雜燴。
    應該在建立account時給他sub-domain,
    自動建好一個超微型網站,擁有後台與主頁,
    這樣他就可以自由建立自己的page,還有自由控制版面,
    此外也可以free的在cover photo這個block上編輯他。

    上一個想法應該是商業發行的部落格應該採取的作法,
    我有一個stupid的想法是,
    既然所有使用者都只能在我們這 "一個" 網站存在,
    那是不是可以在建account時,
    自動建立好一個以他命名的page,
    然後這個page裡我們必須手把手的code好各種功能,
    切div做好板型,用api做好widget,view,按鈕等...
    還有像是對content的管理存取等介面...

    這個想法很蠢,
    因為這不就是古老開發網頁的方法嗎?
    已經很接近一個html檔案一個page的原始人模式了,
    不過還是用到了content管理、view、user等系統啦!
    重點是這樣從白紙架起也需要一組優秀的人力...
    這是我一個人做不到的~
    而且這樣也浪費了使用CMS的投入,
    正解可能是組一個team用framework從頭規劃起這個網站吧?

    講到這裡,又想到,
    Drupal還有麻州官網和那些大學官網,
    也是用drupal架起來的,不也有各個會員自己page的複雜功能嗎?
    也就是說利用好drupal是可行的,
    不過上述例子好像沒有客制頁面的需求...只是固定表格帶入不同使用者的資料。

    這樣其實又回到了最初,
    建立block,辨識路徑或使用者,從database叫出資料,
    這其實也只是現代網站最基本也最好維護的應用吧。
    (所以前面幾段想法都是廢話)

    很多人認為Drupal是介於framework和CMS之間,
    也就是說我應該利用這些drupal的API去和資料庫溝通,
    並用control讓我的block有叫想要的資料的能力!

    最完整的版本或許要做出drupal的multi-user blog distribution,
    像其他開發drupal distribution一樣,只是這個distribution主要給自己公司用啦!
    以drupal core為基礎,分好CMS三大team還有其他UX, Art, Marketing...

    嗯!
    夢做到這裡該醒了。

    sean

    Content Node: Make a Page

    1 年 10 個月 ago

    今天肚子痛的時候想到一件事。

    之前在看webwash上build a blog的時候,
    做homepage的方法是在content type選basic page,
    然後該篇文章(node)成為一個page(drupal預設的view node page),
    因此就可以將他成為一個頁面來操作,
    給予他路徑,誰可以看到等等。

    結合上一篇對view的理解 < View "the Magic" >,
    基本上我們要建立各個頁面都可以用node來完成,
    頁面裡的樣子完全可以用文章編輯去完成。

    有了這樣的想法後,
    要給出幾個page就幾個page呢!

    sean

    View "the Magic"

    1 年 10 個月 ago

    經過這個月對drupal的摸索,
    現在終於可以建起一個基本功能的blog了。

    今天在學習如何export configuration與寫進custom module裡面,
    同時我理解到view真的是一個強大的工具,
    難怪會被寫進core裡面,
    而且聽說view在D7以前就成為人人必備的模組了。

    基本上view進入core以後,
    對我們使用者來說他就是一堆configuration了,
    透過config可以設定好一堆bundle(例如content type)出來,
    因此也可以再drupal的config manager裡面匯入匯出(.yml)。

    View的重點在於如何顯示我的內容(node, content),
    所以我把他所有的設定都看做filter的概念,
    包括要叫出哪些field,或是以view mode來決定。

    View的厲害在D8被完全嵌入進網站整體了,
    我們maintainer的管理畫面,
    admin下content(管理所有content的地方)這個頁面,
    點選文章標體進去的node page,
    這些其實都是用view做出來的呢!

    可以說view不再是一個模組或工具,
    他已經是建立網站內各種頁面或是區塊的基本概念!

    此外,
    用各種條件撈出我要的資料是他最好用的地方,
    我認為這根本地掌握了CMS(內容管理),
    還有網頁以view(MVC)顯示資料的精神;

    很大程度上這也幫助確立了D8的大躍進,
    更好實現了物件導向與類MVC,
    也把content與config的切割組合完美地應用。

    熟悉了view的設定後,
    基本上網頁上資料的各種呈現就沒什麼問題了,
    剩下就是美工、排版等css, twig的工作了。

    sean