Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Scully: Angular SSG
Search
puku0x
August 19, 2020
Technology
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Scully: Angular SSG
puku0x
August 19, 2020
More Decks by puku0x
See All by puku0x
え?フロントエンドエンジニアの ワイがインフラも!?
puku0x
1
1.3k
新メンバーのために、シニアエンジニアが環境を作る時代
puku0x
0
1.6k
Agent Skills 入門
puku0x
0
2.2k
ファインディにおけるフロントエンド技術選定の歴史
puku0x
2
2.2k
生成AIではじめるテスト駆動開発
puku0x
0
1.5k
実践!カスタムインストラクション&スラッシュコマンド
puku0x
2
3.4k
Nx × AI によるモノレポ活用 〜コードジェネレーター編〜
puku0x
0
1.7k
ファインディにおけるフロントエンド技術選定の歴史
puku0x
2
320
ファインディでのGitHub Actions活用事例
puku0x
9
4k
Other Decks in Technology
See All in Technology
少人数データチームのDevin活用実践事例
runandy16
3
460
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
3
400
2026-09-04 SRE Tech Talk #15 怠惰なTerraform / Lazy Terraform
masasuzu
0
230
Azure Cost Management の FOCUS コストデータを迷わず読むための“3つの軸”
tetsuyaooooo
0
160
Bet AI Day 2026丨Agentは、「金融」という巨大産業の何を変えられるのか
layerx
PRO
0
1.2k
Where Is JetBrains AI Heading- — Central CLI, Air Alpha, and the Agentic Development Stack
x5gtrn
PRO
0
150
コスト最適化の「めんどくさい」を AWS FinOps Agent でチョット楽にする
classmethod_kaz
0
280
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
220
AIとペアプロを始める。人とのペアプロをやめる。ペアプロの良さを改めて知る。もっと好きになった。 / Rediscovering Pair Programming
honyanya
1
300
Benchmarking Vector Databases: pgvector vs. LanceDB
tsho
0
150
KPIだけでは評価できないプロダクトが考えるべき Evalsという第二の評価系 / Beyond KPIs: Evals as a Second Evaluation Framework for Products #PdEConf
aki_iinuma
4
3.8k
PfEingのアプローチで働こう
rindrics
0
200
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
Statistics for Hackers
jakevdp
799
230k
Building the Perfect Custom Keyboard
takai
2
870
Producing Creativity
orderedlist
PRO
348
41k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
340
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
310
Game over? The fight for quality and originality in the time of robots
wayneb77
1
270
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
730
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
From π to Pie charts
rasagy
0
360
Transcript
Scully: Angular SSG ng-japan OnAir #23
Noriyuki Shinpuku ng-fukuoka organizer VEGA corporation Co., Ltd. @puku0x 2
@puku0x SSG流行ってる 3 Gridsome VuePress Nuxt.js Next.js Gatsby
@puku0x (Angularで)SSGやりたみ... 4 Gridsome VuePress Nuxt.js Next.js Gatsby
@puku0x 5 https://scully.io/
@puku0x Scully • Angular用のSSG(静的サイトジェネレータ) • ところで何て発音するの? ◦ スクーリー、スクリー、スカリー (聞く限りではいろいろ) 6
@puku0x 仕組み • Angularアプリケーションを Puppeteer で実行 ◦ HttpClientなどの通信の完了を確認して出力 ◦ PLATFORM_IDは常にブラウザー
• 実行時はプリレンダされたHTML → 読み込み完了で Angularアプリケーションに置き換わる 7
$ ng new my-app --routing $ cd my-app $ ng
add @scullyio/init インストール 8
$ ng generate @scullyio/init:blog ブログ追加 9
$ ng build --prod $ npm run scully $ npm
run scully:serve Angular distribution server started on “http://localhost:1864/” Scully static server started on “http://localhost:1668/” 実行 10
$ npm run build -- --watch 開発 11 $ npm
run scully -- --watch
import { setPluginConfig } from '@scullyio/scully'; setPluginConfig('md', { enableSyntaxHighlighting: true
}); シンタックスハイライト 12
import { ScullyConfig } from '@scullyio/scully'; export const config: ScullyConfig
= { … defaultPostRenderers: ['seoHrefOptimise'], }; リンクに末尾スラッシュ追加 13
$ npm i -D scully-plugin-disable-angular $ ng build --prod --statsJson
Angular無効化 14 import { ScullyConfig, setPluginConfig } from '@scullyio/scully'; import { DisableAngular } from 'scully-plugin-disable-angular'; setPluginConfig(DisableAngular, 'render', { removeState: true }); export const config: ScullyConfig = { defaultPostRenderers: [DisableAngular], };
@puku0x PWA化 • @angular/service-workerとの組み合わせに課題 ◦ https://github.com/scullyio/scully/issues/529 ◦ https://github.com/angular/angular/issues/16051 • 他の方法(Workbox等)での実装を推奨
15
@puku0x 16 https://github.com/puku0x/puku0x.net
@puku0x Scullyの今後 • ドキュメント更新 • 公式プラグイン拡充 ◦ Google Analytics、LogRocket、Sentry ◦
scully-plugin-disable-angularと似たプラグインも? • Angular以外も対応予定 17
@puku0x まとめ • Scullyを使うと簡単にSSG導入できる ◦ Angular対応なので既存の資産が活かせる ◦ エコシステムはまだ改善の余地あり ◦ ベータ版なので貢献のチャンス!
◦ https://scully.io/ 18
@puku0x 19 https://www.vega-c.com/recruit/ 採用のお知らせ
@puku0x Thank you! @puku0x Noriyuki Shinpuku