Next.js ã§ããŒã¯ããŠã³ããèšäºãçæããéçšæ¹æ³ãæ¹åããŠãã話
æ ªåŒäŒç€Ÿ IVRy ïŒã¢ã€ããªãŒïŒ 瀟å¡çªå· 7 çª ãšã³ãžãã¢ã®ãã«ããŒã§ãã
ä»åã¯åŒç€Ÿãå ¬éããŠãã ã³ã©ã èšäº ã®ç®¡çæ¹æ³ã«ã€ããŠãçŸç¶ã®èª²é¡ãšå·¥å€«ããŠããç¹çã亀ããªãã玹ä»ããããšæããŸãã
èšäºç®¡çã®çŸç¶
ä»ã®æ å ¥çš¿ããŒã«ã®ãããªãã®ã¯çšæã§ããŠããªãããã以äžã®ãããªæµãã§ç®¡çããŠããŸãã
- ã©ã€ã¿ãŒãããŒã¯ããŠã³åœ¢åŒã§å·çããŠãšã³ãžãã¢ãžå
±æ
- ð ã«ã¹ã¿ã ã¿ã°ãã¡ã¿ããŒã¿ã远å ãããªã¬ãªã¬ããŒã¯ããŠã³åœ¢åŒãšãªã£ãŠãããã®ã® å ¥çš¿ããŒã«ããªãããã«ã¹ã¿ã ã¿ã°ã®ãã¬ãã¥ãŒãã§ããªãç¹ã課é¡
- ãšã³ãžãã¢ã GitHub ã®å¯Ÿè±¡ãªããžããªã«è©²åœãã¡ã€ã«ã远å ããŠæ€èšŒç°å¢ãžåæ
- ð 现ããä¿®æ£ãéãªããããã©ã€ã¿ãŒãšãšã³ãžãã¢ã®ã³ãã¥ãã±ãŒã·ã§ã³ã³ã¹ãããšã³ãžãã¢ã®å·¥æ°ã課é¡
- ð ã©ã€ã¿ãŒãšãšã³ãžãã¢ããããããã¡ã€ã«ã管çããŠããäºé管çã«ãªã£ãŠããŸã£ãŠããç¹ã課é¡
- æ€èšŒç°å¢ã«ãŠç¢ºèªãåãããæ¬çªç°å¢ãžãªãªãŒã¹
- èšäºã¯ Next.js ã® Static HTML Export ãå©çšããreact-markdown ã«ãŠããŒã¯ããŠã³ã倿ããŠçæããŠããŸã
çæ³ãšããŠã¯å ¥çš¿ããŒã«ã§ã©ã€ã¿ãŒãå ¥çš¿ããã¬ãã¥ãŒãå ¬éãŸã§è¡ããããã«ãªãããš ãªã®ã§ãããéçºããŒã ãšããŠããããããšãå±±ã®ããã«ãããããå ¥çš¿ããŒã«ã®éçºã¯åªå é äœãäžãããå®çŸã§ããŠããŸããã
ãããªäžã§ãã«ã¹ã¿ã ã¿ã°ã®èšæ³ã«é¢ãã誀ãã¯äžè¬çãªããŒã¯ããŠã³ãšãã£ã¿ã§ã¯ãã¬ãã¥ãŒãã§ããªããããèšäºãšããŠäžé©åãªç¶æ
ã§å
¬éãããŠããŸãããšãçšã«ããåé¡ã«ãªã£ãŠããŸããã
誀ãã«æ°ä»ãã¿ã€ãã³ã°ãšããŠã¯ 2 ã®ãšã³ãžãã¢ã GitHub ã®ãªããžããªã«è¿œå ããéã® PR ïŒPull RequestïŒ ãæ€èšŒç°å¢ã§ã®é¢ä¿è
ã«ãã確èªã®ã©ã¡ããã«ãªãã®ã§ãããè€æ°äººã«ãã確èªãè¡ã£ãŠãèŠèœãšãããŠããŸãããšã¯ãããŸãã
çŸå®çãªå¯Ÿç
äžè¿°ã®éããå ¥çš¿ããŒã«ãéçºããŠèšäºã®äžå 管çãã«ã¹ã¿ã ã¿ã°ãå«ãããã¬ãã¥ãŒçãã§ããããã«ãªãããšãçæ³ãªã®ã§ããããããåŸ ã£ãŠããããã®ãã¡éçšå·¥æ°ãéçºå·¥æ°ãäžåã£ãŠããŸããããŸããã
ããã§éçšå·¥æ°ãæžããçŸå®çãªå¯Ÿçãšã㊠2 ã® PR æç¹ã§æäœéã®èªåãã§ãã¯ãè¡ãããšã«ããŸãã[1][2]ã
ã«ã¹ã¿ã ã¿ã°ã®èªåãã§ãã¯
ã«ã¹ã¿ã ã¿ã°ã®èšæ³ãã¹ãæå°å·¥æ°ã§é²æ¢ããããã«å°å ¥ããã®ã textlint ã§ã[3]ã
ãã®ã©ã€ãã©ãªãå©çšããããšã§ç¬èªã® textlint ã«ãŒã«ãäœæããããä»ã®æ¹ãäœæããŠããè€æ°ã®ã«ãŒã«ã容æã«æ±ããããã«ãªããŸããã .textlintrc.json ãšããèšå®ãã¡ã€ã«ã«ãŠåã«ãŒã«ã®çްãããã¥ãŒãã³ã°ãè¡ãããšãã§ããŸããããŒã¯ããŠã³åœ¢åŒãæšæºãµããŒãããŠããç¹ãé
åçã§ãã
å°æ¥çã«å ¥çš¿ããŒã«ãéçºããããšã«ãªã£ãéã«ããã®ãŸãŸç§»æ€ã§ãããã§ãã
䜿çšäŸ
textlint ã«ç¬èªã«ãŒã«ã远å ããæ¹æ³ã«ã€ããŠã¯ textlint/docs/rule.md ã«èšèŒãããŠããŸãã
/**
* @param {RuleContext} context
*/
export default function (context) {
// rule object
return {
[context.Syntax.Document](node) {},
[context.Syntax.Paragraph](node) {},
[context.Syntax.Str](node) {
const text = context.getSource(node);
if (/found wrong use-case/.test(text)) {
// report error
context.report(node, new context.RuleError("Found wrong"));
}
}
};
}
Syntax ã¯ãã¡ãã«å®çŸ©ãããŠãããã®ãå©çšå¯èœ ãªããã§ãã
ã©ã®ãããªæååã åSyntax ã«ã©ããããã³ã°ãããã®ãã«ã€ããŠã¯ https://textlint.github.io/astexplorer/ ã«ãŠç¢ºèªã§ããŸãã

https://textlint.github.io/astexplorer/ å©çšã®æ§å
ãã®ãããæ€ç¥ãããæ¡ä»¶ãçŸ åããŠããã ãã§ç°¡åã«å°å ¥ããããšãã§ããŸããã
ãã®ä»ãã¯ã©ã¹ã¡ãœããããã®èšäºïŒ ãGitHub ActionsãMarkdown å·çã« textlintã®èªåæ ¡æ£ãåãå ¥ãã ïŒã倧ãã«åèã«ãããŠããã ããŸããã
GitHub Actions ã«ãŠè¿œå ã»å€æŽã®ãã£ããã¡ã€ã«ã« textlint ãåœãŠã
ãããã¯ã©ã¹ã¡ãœããããã®èšäºïŒ ãGitHub Actions å°ãã¿ããã«ãªã¯ãšã¹ãæã«å·®åãã¡ã€ã«ã®äžèЧãååŸãã ïŒãåèã«ãããŠããã ãã GitHub Actions ã«ãŠ PR ãããªã¬ãŒãšããŠå·®åãã¡ã€ã«ã®äžèЧã«å¯Ÿã㊠textlint ãåœãŠãããã«ããŸããã
ãã®ãŸãŸè»¢çšãããŠããã ããã ããªã®ã§æ¬èšäºã§ã¯ç¹ã«è§Šããªãã§ãããPR æã«ããŒã¯ããŠã³ãã¡ã€ã«ã®ã¿ããªã¬ãŒããããã«ä»¥äžã®ããã«èšè¿°ããŠããŸãã
on:
pull_request:
paths:
- "**/*.md"
çµæ
éãªæ£èŠè¡šçŸã«åŒã£æããŠããã ããªã®ã§ãšã©ãŒæèšç æ¹è¯ã®äœå°ããããŸããããã®ãããªåœ¢ã§èªåãã§ãã¯ããŠãããããã«ãªããŸããð



ã³ã©ã èšäºã®ç®¡çæ¹æ³ã®ç޹ä»ã¯ä»¥äžãšãªããŸãã
ã芧ããã ãããããšãããããŸããã
We are hiring!!
æåŸã«ãIVRy ã§ã¯äžç·ã«åã仲éãçµ¶è³åéäžã§ãã
ä»ã®æ é èª¿ã«æé·ããŠããŠããŸãããä»åŸã®æŽãªãæé·ã®ããã«ã¯å§åçã«ä»²éãäžè¶³ããŠããŸããçããŸã®ãå¿åãåŸ
ã¡ããŠãããŸãïŒ
ã«ãžã¥ã¢ã«ã«è©±ãèããããšããæ¹ã¯ç§ã® Meety ããé¢è«ãç³ã蟌ãã§ããã ããã°è²ã ã話ããŸãã
代衚ã®å¥¥è¥¿ãšã話ããŸãïŒ
-
幎æ«ã®æ¥æå€§å·¥ãšã㊠1æ¥ã§ã§ããç¯å²ã®å¯Ÿå¿ãªã®ã§å€§ãããã§ãã¯ã¯ã§ããŠããªãã§ããããä»çµã¿ããããã°é©å®ãã¥ãŒãã³ã°ããŠããã°è¯ãã ããªã®ã§ä»åŸæ©æµãå¢ããŠããã¯ãã§ãã â©ïž
-
ä»åŸã¯æ€èšŒç°å¢ãžã®èªååæ çãè¡ããããã«ããŠãããããšèããŠããŸãã â©ïž
-
GPTïŒGenerative Pretrained TransformerïŒã«ç¢ºèªããŠãããæ¹ãææµãªã®ãããããŸããã... â©ïž
Discussion