첫 번째 vue-electron으로 간단한 Markdown 편집기를 만들었습니다.
소개
vue-electron을 사용하여보고 싶었기 때문에 사용해 본 메모입니다.
Vue.js 공식 예제 Markdown 편집기를 vue-electron으로 만들고 분위기를 이해하려고합니다.
프로젝트 만들기
2017년도판 electron-vue로 시작하는 Vue.js 를 참고로 프로젝트를 만듭니다.
$ vue init simulatedgreg/electron-vue vue-markdown
※프로젝트의 설정은 할애
생성된 프로젝트의 디렉토리 구조
.
├── README.md
├── appveyor.yml
├── build # ビルドされたアプリの格納場所
│ └── icons
│ ├── 256x256.png
│ ├── icon.icns
│ └── icon.ico
├── dist # web用buildの格納先(?)
│ ├── electron
│ └── web
├── package.json
├── src
│ ├── index.ejs
│ ├── main
│ │ ├── index.dev.js
│ │ └── index.js
│ └── renderer
│ ├── App.vue
│ ├── assets
│ │ └── logo.png
│ ├── components # 基本ここでアプリの中身を作る
│ │ ├── LandingPage
│ │ │ └── SystemInformation.vue
│ │ └── LandingPage.vue
│ ├── main.js
│ ├── router # vue-router
│ │ └── index.js
│ └── store # Vuex
│ ├── index.js
│ └── modules
│ ├── Counter.js
│ └── index.js
├── static
└── test
├── e2e # E2Eテスト
│ ├── index.js
│ ├── specs
│ │ └── Launch.spec.js
│ └── utils.js
└── unit # ユニットテスト
├── index.js
├── karma.conf.js
└── specs
└── LandingPage.spec.js
20 directories, 24 files
마이치, dist
의 존재 의의를 모르겠습니다.
개발 모드로 시작
개발 모드로 부팅하려면 다음 명령을 실행합니다.
$ npm run dev
핫 리로드가 붙어 있으므로 편집 내용에 따라 실시간으로 변경이 적응됩니다.
빌드
프로덕션용으로 애플리케이션을 빌드하려면 다음 명령을 실행하십시오.
$ npm run build
다음과 같이 데스크톱 응용 프로그램으로 build
폴더 아래에 출력됩니다.
build
├── electron-builder.yaml
├── icons
├── mac
├── vue-markdown-0.0.0-mac.zip
├── vue-markdown-0.0.0.dmg
└── vue-markdown-0.0.0.dmg.blockmap
2 directories, 4 files
공식 예제를 기반으로 Markdown 에디터 만들기
Vue.js Markdown 편집기의 예 을 바탕으로 vue-electron 으로 바퀴를 재발명합니다.
MarkdownPage.vue 만들기
components
다음 파일을 모두 삭제하여 MarkdownPage.vue
를 만듭니다.
components
└── MarkdownPage.vue
0 directories, 1 file
marked를 도입하여 MarkdownPage.vue에 작성
Markdown 파서 라이브러리 marked을 소개합니다.
$ npm install marked --save
그런 다음 공식 예제를 참조하여 MarkdownPage.vue를 편집합니다.
MarkdownPage.vue<template>
<div id="editor">
<textarea :value="input" @input="update"></textarea>
<div v-html="compiledMarkdown"></div>
</div>
</template>
<script>
import marked from 'marked';
export default {
data() {
return {
input: '# hello',
};
},
computed: {
compiledMarkdown() {
return marked(this.input, { sanitize: true });
},
},
methods: {
update(e) {
this.input = e.target.value;
},
},
};
</script>
<style>
html, body, #editor {
margin: 0;
font-family: 'Helvetica Neue', Arial, sans-serif;
color: #333;
}
textarea, #editor div {
display: inline-block;
width: 49%;
height: 100vh; // 公式では % ですが、うまく表示されないので vh にします
vertical-align: top;
box-sizing: border-box;
padding: 0 20px;
}
textarea {
border: none;
border-right: 1px solid #ccc;
resize: none;
outline: none;
background-color: #f6f6f6;
font-size: 14px;
font-family: 'Monaco', courier, monospace;
padding: 20px;
}
code {
color: #f66;
}
</style>
vue-router 편집
마지막으로 router를 편집합니다.
router/index.jsimport Vue from 'vue';
import Router from 'vue-router';
Vue.use(Router);
export default new Router({
routes: [
{
path: '/',
name: 'markdown-page',
component: require('@/components/MarkdownPage').default,
},
{
path: '*',
redirect: '/',
},
],
});
완성
결론
메모 쓰기 정도입니다만, vue-electron 로 markdown 에디터를 만드는 곳까지 해 보았습니다. vue-electron 은 도입이 간단하기 때문에, 곧바로 어플리케이션의 개발을 스타트 할 수 있어 좋은 인상이었습니다. Vue.js 를 사용한 적이 있으면, src
이하는 Vue.js 의 템플릿의 디렉토리 구조와 같기 때문에, 특히 위화감 없이 시작된다고 생각합니다.
Reference
이 문제에 관하여(첫 번째 vue-electron으로 간단한 Markdown 편집기를 만들었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/c-su/items/0eca92aa05b2f3d9aa1e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
2017년도판 electron-vue로 시작하는 Vue.js 를 참고로 프로젝트를 만듭니다.
$ vue init simulatedgreg/electron-vue vue-markdown
※프로젝트의 설정은 할애
생성된 프로젝트의 디렉토리 구조
.
├── README.md
├── appveyor.yml
├── build # ビルドされたアプリの格納場所
│ └── icons
│ ├── 256x256.png
│ ├── icon.icns
│ └── icon.ico
├── dist # web用buildの格納先(?)
│ ├── electron
│ └── web
├── package.json
├── src
│ ├── index.ejs
│ ├── main
│ │ ├── index.dev.js
│ │ └── index.js
│ └── renderer
│ ├── App.vue
│ ├── assets
│ │ └── logo.png
│ ├── components # 基本ここでアプリの中身を作る
│ │ ├── LandingPage
│ │ │ └── SystemInformation.vue
│ │ └── LandingPage.vue
│ ├── main.js
│ ├── router # vue-router
│ │ └── index.js
│ └── store # Vuex
│ ├── index.js
│ └── modules
│ ├── Counter.js
│ └── index.js
├── static
└── test
├── e2e # E2Eテスト
│ ├── index.js
│ ├── specs
│ │ └── Launch.spec.js
│ └── utils.js
└── unit # ユニットテスト
├── index.js
├── karma.conf.js
└── specs
└── LandingPage.spec.js
20 directories, 24 files
마이치,
dist
의 존재 의의를 모르겠습니다.개발 모드로 시작
개발 모드로 부팅하려면 다음 명령을 실행합니다.
$ npm run dev
핫 리로드가 붙어 있으므로 편집 내용에 따라 실시간으로 변경이 적응됩니다.
빌드
프로덕션용으로 애플리케이션을 빌드하려면 다음 명령을 실행하십시오.
$ npm run build
다음과 같이 데스크톱 응용 프로그램으로 build
폴더 아래에 출력됩니다.
build
├── electron-builder.yaml
├── icons
├── mac
├── vue-markdown-0.0.0-mac.zip
├── vue-markdown-0.0.0.dmg
└── vue-markdown-0.0.0.dmg.blockmap
2 directories, 4 files
공식 예제를 기반으로 Markdown 에디터 만들기
Vue.js Markdown 편집기의 예 을 바탕으로 vue-electron 으로 바퀴를 재발명합니다.
MarkdownPage.vue 만들기
components
다음 파일을 모두 삭제하여 MarkdownPage.vue
를 만듭니다.
components
└── MarkdownPage.vue
0 directories, 1 file
marked를 도입하여 MarkdownPage.vue에 작성
Markdown 파서 라이브러리 marked을 소개합니다.
$ npm install marked --save
그런 다음 공식 예제를 참조하여 MarkdownPage.vue를 편집합니다.
MarkdownPage.vue<template>
<div id="editor">
<textarea :value="input" @input="update"></textarea>
<div v-html="compiledMarkdown"></div>
</div>
</template>
<script>
import marked from 'marked';
export default {
data() {
return {
input: '# hello',
};
},
computed: {
compiledMarkdown() {
return marked(this.input, { sanitize: true });
},
},
methods: {
update(e) {
this.input = e.target.value;
},
},
};
</script>
<style>
html, body, #editor {
margin: 0;
font-family: 'Helvetica Neue', Arial, sans-serif;
color: #333;
}
textarea, #editor div {
display: inline-block;
width: 49%;
height: 100vh; // 公式では % ですが、うまく表示されないので vh にします
vertical-align: top;
box-sizing: border-box;
padding: 0 20px;
}
textarea {
border: none;
border-right: 1px solid #ccc;
resize: none;
outline: none;
background-color: #f6f6f6;
font-size: 14px;
font-family: 'Monaco', courier, monospace;
padding: 20px;
}
code {
color: #f66;
}
</style>
vue-router 편집
마지막으로 router를 편집합니다.
router/index.jsimport Vue from 'vue';
import Router from 'vue-router';
Vue.use(Router);
export default new Router({
routes: [
{
path: '/',
name: 'markdown-page',
component: require('@/components/MarkdownPage').default,
},
{
path: '*',
redirect: '/',
},
],
});
완성
결론
메모 쓰기 정도입니다만, vue-electron 로 markdown 에디터를 만드는 곳까지 해 보았습니다. vue-electron 은 도입이 간단하기 때문에, 곧바로 어플리케이션의 개발을 스타트 할 수 있어 좋은 인상이었습니다. Vue.js 를 사용한 적이 있으면, src
이하는 Vue.js 의 템플릿의 디렉토리 구조와 같기 때문에, 특히 위화감 없이 시작된다고 생각합니다.
Reference
이 문제에 관하여(첫 번째 vue-electron으로 간단한 Markdown 편집기를 만들었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/c-su/items/0eca92aa05b2f3d9aa1e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ npm run dev
프로덕션용으로 애플리케이션을 빌드하려면 다음 명령을 실행하십시오.
$ npm run build
다음과 같이 데스크톱 응용 프로그램으로
build
폴더 아래에 출력됩니다.build
├── electron-builder.yaml
├── icons
├── mac
├── vue-markdown-0.0.0-mac.zip
├── vue-markdown-0.0.0.dmg
└── vue-markdown-0.0.0.dmg.blockmap
2 directories, 4 files
공식 예제를 기반으로 Markdown 에디터 만들기
Vue.js Markdown 편집기의 예 을 바탕으로 vue-electron 으로 바퀴를 재발명합니다.
MarkdownPage.vue 만들기
components
다음 파일을 모두 삭제하여 MarkdownPage.vue
를 만듭니다.
components
└── MarkdownPage.vue
0 directories, 1 file
marked를 도입하여 MarkdownPage.vue에 작성
Markdown 파서 라이브러리 marked을 소개합니다.
$ npm install marked --save
그런 다음 공식 예제를 참조하여 MarkdownPage.vue를 편집합니다.
MarkdownPage.vue<template>
<div id="editor">
<textarea :value="input" @input="update"></textarea>
<div v-html="compiledMarkdown"></div>
</div>
</template>
<script>
import marked from 'marked';
export default {
data() {
return {
input: '# hello',
};
},
computed: {
compiledMarkdown() {
return marked(this.input, { sanitize: true });
},
},
methods: {
update(e) {
this.input = e.target.value;
},
},
};
</script>
<style>
html, body, #editor {
margin: 0;
font-family: 'Helvetica Neue', Arial, sans-serif;
color: #333;
}
textarea, #editor div {
display: inline-block;
width: 49%;
height: 100vh; // 公式では % ですが、うまく表示されないので vh にします
vertical-align: top;
box-sizing: border-box;
padding: 0 20px;
}
textarea {
border: none;
border-right: 1px solid #ccc;
resize: none;
outline: none;
background-color: #f6f6f6;
font-size: 14px;
font-family: 'Monaco', courier, monospace;
padding: 20px;
}
code {
color: #f66;
}
</style>
vue-router 편집
마지막으로 router를 편집합니다.
router/index.jsimport Vue from 'vue';
import Router from 'vue-router';
Vue.use(Router);
export default new Router({
routes: [
{
path: '/',
name: 'markdown-page',
component: require('@/components/MarkdownPage').default,
},
{
path: '*',
redirect: '/',
},
],
});
완성
결론
메모 쓰기 정도입니다만, vue-electron 로 markdown 에디터를 만드는 곳까지 해 보았습니다. vue-electron 은 도입이 간단하기 때문에, 곧바로 어플리케이션의 개발을 스타트 할 수 있어 좋은 인상이었습니다. Vue.js 를 사용한 적이 있으면, src
이하는 Vue.js 의 템플릿의 디렉토리 구조와 같기 때문에, 특히 위화감 없이 시작된다고 생각합니다.
Reference
이 문제에 관하여(첫 번째 vue-electron으로 간단한 Markdown 편집기를 만들었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/c-su/items/0eca92aa05b2f3d9aa1e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
components
└── MarkdownPage.vue
0 directories, 1 file
$ npm install marked --save
<template>
<div id="editor">
<textarea :value="input" @input="update"></textarea>
<div v-html="compiledMarkdown"></div>
</div>
</template>
<script>
import marked from 'marked';
export default {
data() {
return {
input: '# hello',
};
},
computed: {
compiledMarkdown() {
return marked(this.input, { sanitize: true });
},
},
methods: {
update(e) {
this.input = e.target.value;
},
},
};
</script>
<style>
html, body, #editor {
margin: 0;
font-family: 'Helvetica Neue', Arial, sans-serif;
color: #333;
}
textarea, #editor div {
display: inline-block;
width: 49%;
height: 100vh; // 公式では % ですが、うまく表示されないので vh にします
vertical-align: top;
box-sizing: border-box;
padding: 0 20px;
}
textarea {
border: none;
border-right: 1px solid #ccc;
resize: none;
outline: none;
background-color: #f6f6f6;
font-size: 14px;
font-family: 'Monaco', courier, monospace;
padding: 20px;
}
code {
color: #f66;
}
</style>
import Vue from 'vue';
import Router from 'vue-router';
Vue.use(Router);
export default new Router({
routes: [
{
path: '/',
name: 'markdown-page',
component: require('@/components/MarkdownPage').default,
},
{
path: '*',
redirect: '/',
},
],
});
결론
메모 쓰기 정도입니다만, vue-electron 로 markdown 에디터를 만드는 곳까지 해 보았습니다. vue-electron 은 도입이 간단하기 때문에, 곧바로 어플리케이션의 개발을 스타트 할 수 있어 좋은 인상이었습니다. Vue.js 를 사용한 적이 있으면, src
이하는 Vue.js 의 템플릿의 디렉토리 구조와 같기 때문에, 특히 위화감 없이 시작된다고 생각합니다.
Reference
이 문제에 관하여(첫 번째 vue-electron으로 간단한 Markdown 편집기를 만들었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/c-su/items/0eca92aa05b2f3d9aa1e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(첫 번째 vue-electron으로 간단한 Markdown 편집기를 만들었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/c-su/items/0eca92aa05b2f3d9aa1e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)