Gulp 的 sass-image 使用簡單範例

前言

gulp 用來幫助/簡化我們完成很多前端程式所需的工作
今天簡單來說一下 gulp-sass-image 這個用途

整個範例可以在 Github 上看到
https://github.com/Seachaos/gulp-sass-image-example

安裝

其實有用 yarn 的話,直接下 yarn add gulp-sass-image 就搞定

使用

先說明一下,此範例專案的配置是

app/     原始 SCSS 與 圖檔資料
build/  最後要上線的資料夾 ( 編譯完成,下稱”目地資料夾” )

在 gulpfile.js 中加入

gulp.task('sass-image', () => {
  return gulp.src('app/images/*.+(jpg|png)') // 接受 jpg, png
    .pipe(sassImage({
        targetFile: 'image_data.scss',       // 處理完的 SCSS 檔名
        css_path: './app/css',               // CSS 檔案位置
        images_path: './app/images',         // image 檔案位置
        includeData: false,                  // 是否將 image 加入到 SCSS 中
    }))
    .pipe(gulp.dest('app/cache'));           // 處理後的 SCSS 檔放位置
});

includeData 特別說明:
其中如果  includeData 設成 true, 那麼圖檔就會被加入 SCSS 中
原本 image-url 改用  inline-image 的話,就不用再另外放置 image 資料夾到”目地資料夾了”
( 會變成將圖檔夾帶到 css 檔中 )

Continue reading “Gulp 的 sass-image 使用簡單範例”

Mac install gstreamer plugins by Homebrew

Gstreamer 有許多的 plugins , 但如果直接在 home brew 中安裝,會遇到很多 pipeline 缺少的問題

以下這幾個指令可以簡單的安裝 gstreamer 的 good, base, bad, ugly plugin
( 透過 brew install 簡單安裝 )

Good :

brew install gst-plugins-good `brew options gst-plugins-good | grep 'with-'`

Continue reading “Mac install gstreamer plugins by Homebrew”

Sklearn 的 OneHotEncoder 說明與簡單範例

Sklearn 是 Python 機器學習 ( Machine Learning ) 或資料分析中一個好用的工具,其中 OneHotEncoder 是可以將特徵扁平化的工具,配合  LabelEncoder 使用效果更好,這邊做一個簡單的用法說明教學

例如有以下資料 :

data = [ ['cat', 1], ['cat', 2], ['dog', 3], ['cat', 2], ['fish', 0] ]

第一步就是先用 LabelEncoder 將 cat,dog,fish 變成 0,1,2 來方便後續資料處理

( 別忘記先轉成 numpy array 比較好處理,   ndata = np.array(data) )

# 將 cat, dog, fish 分類, 成 0, 1, 2
ndata[:, 0] = LabelEncoder().fit_transform(ndata[:, 0])
"""
        type
array([['0', '1'],
       ['0', '2'],
       ['1', '3'],
       ['0', '2'],
       ['2', '3']],
      dtype='<U4')
"""

 

接下來用 enc = OneHotEncoder().fit(ndata) 來取得一個 OneHotEncoder 編碼器 ( enc )

 

Continue reading “Sklearn 的 OneHotEncoder 說明與簡單範例”

Python Matplotlib 簡單繪制圖表教學 ( 折線圖 )

Python 的 Matplotlib 的可用來繪製簡單的折線圖,例如 N 路線圖 或是 數據圖

只要使用 plt.plot ,給 X, Y 值就可以畫出圖表例,例如

這邊說明一下, plt.plot 有不同的參數可以做出不同的線或是點

plt.plot(x, y, 'o') # 只有點
plt.plot(x, y) # 只有線( 預設 )
plt.plot(x, y, '-o') # 點和線
plt.plot(x, y, '--o') # 點和虛線

Continue reading “Python Matplotlib 簡單繪制圖表教學 ( 折線圖 )”

VueJS 簡單教學: v-for 與選單產生

VueJS 中的 v-for 的 List Rendering 是一個強大的功能,可以方便將 JSON 資料轉換成 html 內容。

例如以下資料是由 API 或其他 JS 產生的,要用來製作選單 ( 用 Javascript 來動態產生選單 )

items: [
  {name: "選單1", href: "https://tree.rocks/"},
  {name: "選單2", href: "https://www.apple.com/"},
  {name: "選單3", href: "https://github.com/"}
]

 

那麼可以放入 Vue JS 中

new Vue( {
  el: '#tree',
  data: {
  	items: [
    	{name: "選單1", href: "https://tree.rocks/"},
      {name: "選單2", href: "https://www.apple.com/"},
      {name: "選單3", href: "https://github.com/"}
    ]
  }
} );

在加點 html

<div id="tree">
  <div class="menu_item" v-for="item in items" >
    <a v-bind:href="item.href" >{{ item.name }}</a>
  </div>
</div>

 

就可以生成網頁了 ( 如下圖 )

 

範例網頁:
https://jsfiddle.net/Seachaos/w8ygx1dy/