SlideShare a Scribd company logo
LINE developers site the tech behind the docs
LINE Developers Site:
The Tech Behind the Docs
Mark Serrano

Technical Consulting Team
- Goals for the Redesign
- Moving from Wordpress to a
Static Site
- Implementing the New
Document Site in Middleman
Agenda
Goals for the Design
Improve Developer Experience
Goals for the Redesign
Do this by improving the authoring process so that we
can focus on writing higher quality documentation
Lower barriers for writing docs
Improvements to the Authoring Process
Transparent Documentation
Encourage collaboration
Plain Text Format Version Control Built like source
code
Docs as Code
Documents are written in Markdown
Docs as Code at LINE
All documents are managed on GitHub
Documents are built using an automated process
Moving from Wordpress to a
Static Site
Not as flexible as we needed
Wordpress Pains
Maintenance and security patches required
Collaboration and reviews were difficult
Version control system is not ideal
What is a Static Site Generator?
Templates
Content
Data
Static Site Generator
HTML
Pages
HTML
Pages
Static
HTML
Pages
Flexibility
Advantages of going Static
GitHub Workflow
Low maintenance
Load speed
Static site generator built in Ruby
High level of customization
Markdown renderer support
ERB Templates
Enter the Middleman
Implementing the Site in
Middleman
Created ERB templates from static page designs
Implementing the Site
Custom middleman extension used to apply style
Content written in Markdown, menus in YAML files
Document authors only edit markdown and YAML files
Custom Middleman Plugin
Custom Middleman
Extension
Style
Converter
Custom

Markdown
Helper
Methods
Markdown
Content
---
title: "Social API overview"
source_language: "en"
---
The Social API is an HTTP-based API that provides access to
data on the LINE Platform such as LINE user IDs, display
names, profile images, and status messages.
## Getting a user token
Sending Social API requests requires the use of an access
token to access data on a user's behalf. To get an access
token, integrate [LINE Login][line-login] into your app. For
more information on using LINE Login with different types of
apps, see the following articles.
- [Integrate LINE Login for iOS][integrate-login-ios]
- [Integrate LINE Login for Android][integrate-login-
android]
- [Integrate LINE Login for web][integrate-login-web]
## Guides
See the following pages for more information on using the
Social API.
- [Getting user profiles][get-profile-social]
- [Logging out users][logout-social]
- [Managing access tokens][tokens-social]
Document Content in Markdown
sidebar_title: "Social API"
menu_items:
- title: "Guides"
url:
subpages:
- title: "Overview"
url: "/docs/social-api/overview"
subpages: []
- title: "Getting user profiles"
url: "/docs/social-api/getting-user-
profiles"
subpages: []
- title: "Logging out users"
url: "/docs/social-api/logging-out-
users"
subpages: []
- title: "Managing access tokens"
url: "/docs/social-api/managing-
access-tokens"
subpages: []
- title: "Reference"
url:
subpages:
- title: "Social API Reference"
url: "/docs/social-api/reference"
subpages: []
Menus in YAML
Inherited from Redcarpet markdown renderer
Custom Markdown
Used to render elements that standard markdown
cannot
Normal Markdown Table
#### Request headers
Request header | Description
-------------- | ---
Content-Type | application/json
Authorization | Bearer `{Channel Access Token}`
Headerless Table
|>|
|| **Superclass** | `NSObject` |
|| **Declared in** | LineSDKAPI.h |
|>|
Helper Method: Glossary Entry
## Friends
<%= display_glossary_definition "beacon-banner" %>
## Friends 2
<%= display_glossary_definition "add-friend-button" %>
Document Build Process
Doc Author
Pull
Request
Master
Branch
Middleman

Build
Deploy
Automated

Testing
We focused on improving the authoring process in our
developer site redesign
In Conclusion
We moved from Wordpress to a static site
generator called Middleman
We created a custom middleman extension that helps
our document writers focus on writing content
A better authoring process allows our writers to focus
on writing higher quality docs for you
Thank you

More Related Content

PDF
Local development environment for micro services with docker
PDF
アプリで簡単にスタンプを販売するためのAPI開発
PPTX
Building a mobile application for dot netnuke
PDF
Introduction to azure web applications for office and share point developers
PDF
Android Development...Using Web Technologies
PDF
[API the Docs Paris 2018] Architecting DX
PPTX
Quality sdk for your apis in minutes!
PPTX
TypeScript and SharePoint Framework
Local development environment for micro services with docker
アプリで簡単にスタンプを販売するためのAPI開発
Building a mobile application for dot netnuke
Introduction to azure web applications for office and share point developers
Android Development...Using Web Technologies
[API the Docs Paris 2018] Architecting DX
Quality sdk for your apis in minutes!
TypeScript and SharePoint Framework

What's hot (20)

PPTX
Visual Studio ❤ JavaScript
PPTX
Rest With Raml
PPTX
Developing an aspnet web application
PDF
Designing an effective hybrid apps automation framework
PDF
Wso2 product release webinar introducing jaggery
PDF
Why Would A Programmer Fall In Love With SPA?
PDF
Anatomy of a Progressive Web App
PDF
Progressive Web Application by Citytech
PPTX
Lightning web components
PPTX
PPT
Restful services with ColdFusion
PPT
ASP.NET OVERVIEW
PPTX
Using WordPress as a web application platform
PDF
Building Desktop RIAs with PHP, HTML & Javascript in AIR
PPTX
Software components design for poc and mvp, keep it simple but be ready to sc...
PPTX
40行で書ける! Serverless LINE BOT
PDF
API for Beginners
PPT
Developing an ASP.NET Web Application
PPT
Intro To Asp Net And Web Forms
PPTX
Selenium webcrawler
Visual Studio ❤ JavaScript
Rest With Raml
Developing an aspnet web application
Designing an effective hybrid apps automation framework
Wso2 product release webinar introducing jaggery
Why Would A Programmer Fall In Love With SPA?
Anatomy of a Progressive Web App
Progressive Web Application by Citytech
Lightning web components
Restful services with ColdFusion
ASP.NET OVERVIEW
Using WordPress as a web application platform
Building Desktop RIAs with PHP, HTML & Javascript in AIR
Software components design for poc and mvp, keep it simple but be ready to sc...
40行で書ける! Serverless LINE BOT
API for Beginners
Developing an ASP.NET Web Application
Intro To Asp Net And Web Forms
Selenium webcrawler
Ad

Similar to LINE developers site the tech behind the docs (20)

PDF
OpenSocial and Mixi platform
PDF
SeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWeb
PPTX
Development of Twitter Application #1 - Overview
PDF
Integrating LINE Login with Firebase
PDF
Open Social Summit Korea Overview
KEY
Opensocial
PPTX
Oct. 4, 2011 webcast top 5 tips for building viral social web applications an...
PDF
Introduction To Open Web Protocols
PPTX
Building Social Business Applications with OpenSocial
ODP
Barcamphanoi Opensocial Application Development
PDF
Server-side Java Programming
PPTX
The Year Ahead in Social Media - Rafi Jacoby
ODP
IBM Connections Activity Stream 3rd Party Integration - Social Connect VI - P...
PPT
Open Standards For Social Business Apps
PDF
Open social & cmis oasistc-20100712
PDF
GSP East 2008: Open Social: Open For Business
PDF
Jeff Siarto: Party Like It’s 1984, An introduction to social APIs
PDF
Building Social Networks
PDF
Building Social Networks
PDF
A 4 line login - line platform
OpenSocial and Mixi platform
SeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWeb
Development of Twitter Application #1 - Overview
Integrating LINE Login with Firebase
Open Social Summit Korea Overview
Opensocial
Oct. 4, 2011 webcast top 5 tips for building viral social web applications an...
Introduction To Open Web Protocols
Building Social Business Applications with OpenSocial
Barcamphanoi Opensocial Application Development
Server-side Java Programming
The Year Ahead in Social Media - Rafi Jacoby
IBM Connections Activity Stream 3rd Party Integration - Social Connect VI - P...
Open Standards For Social Business Apps
Open social & cmis oasistc-20100712
GSP East 2008: Open Social: Open For Business
Jeff Siarto: Party Like It’s 1984, An introduction to social APIs
Building Social Networks
Building Social Networks
A 4 line login - line platform
Ad

More from LINE Corporation (20)

PDF
JJUG CCC 2018 Fall 懇親会LT
PDF
Reduce dependency on Rx with Kotlin Coroutines
PDF
Kotlin/NativeでAndroidのNativeメソッドを実装してみた
PDF
Use Kotlin scripts and Clova SDK to build your Clova extension
PDF
The Magic of LINE 購物 Testing
PPTX
GA Test Automation
PDF
UI Automation Test with JUnit5
PDF
Feature Detection for UI Testing
PDF
LINE 新星計劃介紹與新創團隊分享
PDF
​LINE 技術合作夥伴與應用分享
PDF
LINE 開發者社群經營與技術推廣
PDF
日本開發者大會短講分享
PDF
LINE Chatbot - 活動報名報到設計分享
PDF
在 LINE 私有雲中使用 Managed Kubernetes
PDF
LINE TODAY高效率的敏捷測試開發技巧
PDF
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹
PDF
LINE Things - LINE IoT平台新技術分享
PDF
LINE Pay - 一卡通支付新體驗
PDF
LINE Platform API Update - 打造一個更好的Chatbot服務
PDF
Keynote - ​LINE 的技術策略佈局與跨國產品開發
JJUG CCC 2018 Fall 懇親会LT
Reduce dependency on Rx with Kotlin Coroutines
Kotlin/NativeでAndroidのNativeメソッドを実装してみた
Use Kotlin scripts and Clova SDK to build your Clova extension
The Magic of LINE 購物 Testing
GA Test Automation
UI Automation Test with JUnit5
Feature Detection for UI Testing
LINE 新星計劃介紹與新創團隊分享
​LINE 技術合作夥伴與應用分享
LINE 開發者社群經營與技術推廣
日本開發者大會短講分享
LINE Chatbot - 活動報名報到設計分享
在 LINE 私有雲中使用 Managed Kubernetes
LINE TODAY高效率的敏捷測試開發技巧
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹
LINE Things - LINE IoT平台新技術分享
LINE Pay - 一卡通支付新體驗
LINE Platform API Update - 打造一個更好的Chatbot服務
Keynote - ​LINE 的技術策略佈局與跨國產品開發

Recently uploaded (20)

PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Approach and Philosophy of On baking technology
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
KodekX | Application Modernization Development
PPTX
sap open course for s4hana steps from ECC to s4
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
MYSQL Presentation for SQL database connectivity
Advanced methodologies resolving dimensionality complications for autism neur...
Spectroscopy.pptx food analysis technology
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Network Security Unit 5.pdf for BCA BBA.
Digital-Transformation-Roadmap-for-Companies.pptx
Approach and Philosophy of On baking technology
Review of recent advances in non-invasive hemoglobin estimation
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Unlocking AI with Model Context Protocol (MCP)
Understanding_Digital_Forensics_Presentation.pptx
Big Data Technologies - Introduction.pptx
cuic standard and advanced reporting.pdf
Chapter 3 Spatial Domain Image Processing.pdf
KodekX | Application Modernization Development
sap open course for s4hana steps from ECC to s4

LINE developers site the tech behind the docs

  • 2. LINE Developers Site: The Tech Behind the Docs Mark Serrano
 Technical Consulting Team
  • 3. - Goals for the Redesign - Moving from Wordpress to a Static Site - Implementing the New Document Site in Middleman Agenda
  • 4. Goals for the Design
  • 5. Improve Developer Experience Goals for the Redesign Do this by improving the authoring process so that we can focus on writing higher quality documentation
  • 6. Lower barriers for writing docs Improvements to the Authoring Process Transparent Documentation Encourage collaboration
  • 7. Plain Text Format Version Control Built like source code Docs as Code
  • 8. Documents are written in Markdown Docs as Code at LINE All documents are managed on GitHub Documents are built using an automated process
  • 9. Moving from Wordpress to a Static Site
  • 10. Not as flexible as we needed Wordpress Pains Maintenance and security patches required Collaboration and reviews were difficult Version control system is not ideal
  • 11. What is a Static Site Generator? Templates Content Data Static Site Generator HTML Pages HTML Pages Static HTML Pages
  • 12. Flexibility Advantages of going Static GitHub Workflow Low maintenance Load speed
  • 13. Static site generator built in Ruby High level of customization Markdown renderer support ERB Templates Enter the Middleman
  • 14. Implementing the Site in Middleman
  • 15. Created ERB templates from static page designs Implementing the Site Custom middleman extension used to apply style Content written in Markdown, menus in YAML files Document authors only edit markdown and YAML files
  • 16. Custom Middleman Plugin Custom Middleman Extension Style Converter Custom
 Markdown Helper Methods Markdown Content
  • 17. --- title: "Social API overview" source_language: "en" --- The Social API is an HTTP-based API that provides access to data on the LINE Platform such as LINE user IDs, display names, profile images, and status messages. ## Getting a user token Sending Social API requests requires the use of an access token to access data on a user's behalf. To get an access token, integrate [LINE Login][line-login] into your app. For more information on using LINE Login with different types of apps, see the following articles. - [Integrate LINE Login for iOS][integrate-login-ios] - [Integrate LINE Login for Android][integrate-login- android] - [Integrate LINE Login for web][integrate-login-web] ## Guides See the following pages for more information on using the Social API. - [Getting user profiles][get-profile-social] - [Logging out users][logout-social] - [Managing access tokens][tokens-social] Document Content in Markdown
  • 18. sidebar_title: "Social API" menu_items: - title: "Guides" url: subpages: - title: "Overview" url: "/docs/social-api/overview" subpages: [] - title: "Getting user profiles" url: "/docs/social-api/getting-user- profiles" subpages: [] - title: "Logging out users" url: "/docs/social-api/logging-out- users" subpages: [] - title: "Managing access tokens" url: "/docs/social-api/managing- access-tokens" subpages: [] - title: "Reference" url: subpages: - title: "Social API Reference" url: "/docs/social-api/reference" subpages: [] Menus in YAML
  • 19. Inherited from Redcarpet markdown renderer Custom Markdown Used to render elements that standard markdown cannot
  • 20. Normal Markdown Table #### Request headers Request header | Description -------------- | --- Content-Type | application/json Authorization | Bearer `{Channel Access Token}`
  • 21. Headerless Table |>| || **Superclass** | `NSObject` | || **Declared in** | LineSDKAPI.h | |>|
  • 22. Helper Method: Glossary Entry ## Friends <%= display_glossary_definition "beacon-banner" %> ## Friends 2 <%= display_glossary_definition "add-friend-button" %>
  • 23. Document Build Process Doc Author Pull Request Master Branch Middleman
 Build Deploy Automated
 Testing
  • 24. We focused on improving the authoring process in our developer site redesign In Conclusion We moved from Wordpress to a static site generator called Middleman We created a custom middleman extension that helps our document writers focus on writing content A better authoring process allows our writers to focus on writing higher quality docs for you