diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 241c38dea4822408865ebb4e3a268885872b2904..813335410c94b1de823e8ed02b5dc2c52ad5945c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -22,10 +22,10 @@ build-dev: when: manual - when: on_success script: - - |- + - |- if [[ $CI_PIPELINE_SOURCE == "merge_request_event" ]]; then echo "VUE_APP_RELEASE=MERGE $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME ($CI_COMMIT_SHORT_SHA)" >> .env.dev_server - else + else echo "VUE_APP_RELEASE=BRANCH $CI_COMMIT_BRANCH ($CI_COMMIT_SHORT_SHA)" >> .env.dev_server fi - npm install --progress=false @@ -47,7 +47,8 @@ build-prod: - echo "VUE_APP_RELEASE=$CI_COMMIT_REF_NAME" >> .env.production - npm install --progress=false - npm run build -- --mode production - - 'echo -e "\nAllow: /" >> dist/robots.txt' + - 'echo -e "\nDisallow: /" >> dist/robots.txt' + - 'echo -e "\nAllow: /index.html" >> dist/robots.txt' artifacts: expire_in: 1 week paths: diff --git a/api_static/api/guide.html b/api_static/api/guide.html deleted file mode 100644 index ec2619b650de688554e999069a2401a99aae6eed..0000000000000000000000000000000000000000 --- a/api_static/api/guide.html +++ /dev/null @@ -1,297 +0,0 @@ -<!DOCTYPE html> - -<html lang="en"> - -<head> - <meta charset="utf-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> - <meta name="apple-mobile-web-app-capable" content="yes"> - <meta name="apple-mobile-web-app-status-bar-style" content="black"> - <meta name="mobile-web-app-capable" content="yes"> - <title> - API for ordbok.uib.no (beta) - CodiMD - </title> - <link rel="icon" type="image/png" href="https://pad.app.uib.no/favicon.png"> - <link rel="apple-touch-icon" href="https://pad.app.uib.no/apple-touch-icon.png"> - - <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.0/css/bootstrap.min.css" integrity="sha256-H0KfTigpUV+0/5tn2HXC0CPwhhDhWgSawJdnFd0CGCo=" crossorigin="anonymous" /> - <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fork-awesome/1.1.3/css/fork-awesome.min.css" integrity="sha256-ZhApazu+kejqTYhMF+1DzNKjIzP7KXu6AzyXcC1gMus=" crossorigin="anonymous" /> - <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ionicons/2.0.1/css/ionicons.min.css" integrity="sha256-3iu9jgsy9TpTwXKb7bNQzqWekRX7pPK+2OLj3R922fo=" crossorigin="anonymous" /> - <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.5.1/themes/prism.min.css" integrity="sha256-vtR0hSWRc3Tb26iuN2oZHt3KRUomwTufNIf5/4oeCyg=" crossorigin="anonymous" /> - <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github-gist.min.css" integrity="sha256-tAflq+ymku3Khs+I/WcAneIlafYgDiOQ9stIHH985Wo=" crossorigin="anonymous" /> - <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/emojify.js/1.1.0/css/basic/emojify.min.css" integrity="sha256-UOrvMOsSDSrW6szVLe8ZDZezBxh5IoIfgTwdNDgTjiU=" crossorigin="anonymous" /> - <style> - @import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400italic,600,600italic,300italic,300|Source+Serif+Pro|Source+Code+Pro:400,300,500&subset=latin,latin-ext);.markdown-body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body:after,.markdown-body:before{display:table;content:""}.markdown-body:after{clear:both}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#c00}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:#e7e7e7;border:0}.markdown-body blockquote{padding:0 1em;color:#777;border-left:.25em solid #ddd}.night .markdown-body blockquote{color:#bcbcbc}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body .loweralpha{list-style-type:lower-alpha}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.night .markdown-body h1,.night .markdown-body h2,.night .markdown-body h3,.night .markdown-body h4,.night .markdown-body h5,.night .markdown-body h6{color:#ddd}.markdown-body h1 .fa-link,.markdown-body h2 .fa-link,.markdown-body h3 .fa-link,.markdown-body h4 .fa-link,.markdown-body h5 .fa-link,.markdown-body h6 .fa-link{color:#000;vertical-align:middle;visibility:hidden;font-size:16px}.night .markdown-body h1 .fa-link,.night .markdown-body h2 .fa-link,.night .markdown-body h3 .fa-link,.night .markdown-body h4 .fa-link,.night .markdown-body h5 .fa-link,.night .markdown-body h6 .fa-link{color:#fff}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .fa-link,.markdown-body h2:hover .anchor .fa-link,.markdown-body h3:hover .anchor .fa-link,.markdown-body h4:hover .anchor .fa-link,.markdown-body h5:hover .anchor .fa-link,.markdown-body h6:hover .anchor .fa-link{visibility:visible}.markdown-body h1 code,.markdown-body h1 tt,.markdown-body h2 code,.markdown-body h2 tt,.markdown-body h3 code,.markdown-body h3 tt,.markdown-body h4 code,.markdown-body h4 tt,.markdown-body h5 code,.markdown-body h5 tt,.markdown-body h6 code,.markdown-body h6 tt{font-size:inherit}.markdown-body h1{font-size:2em}.markdown-body h1,.markdown-body h2{padding-bottom:.3em;border-bottom:1px solid #eee}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{font-size:.85em;color:#777}.markdown-body ol,.markdown-body ul{padding-left:2em}.markdown-body ol.no-list,.markdown-body ul.no-list{padding:0;list-style-type:none}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:700}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table{display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}.markdown-body table th{font-weight:700}.markdown-body table td,.markdown-body table th{padding:6px 13px;border:1px solid #ddd}.markdown-body table tr{background-color:#fff;border-top:1px solid #ccc}.night .markdown-body table tr{background-color:#5f5f5f}.markdown-body table tr:nth-child(2n){background-color:#f8f8f8}.night .markdown-body table tr:nth-child(2n){background-color:#4f4f4f}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #ddd}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#333}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em 0;margin:0;font-size:85%;background-color:rgba(0,0,0,.04);border-radius:3px}.night .markdown-body code,.night .markdown-body tt{color:#eee;background-color:hsla(0,0%,90.2%,.36)}.markdown-body code:after,.markdown-body code:before,.markdown-body tt:after,.markdown-body tt:before{letter-spacing:-.2em;content:"\00a0"}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f7f7f7;border-radius:3px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body pre code:after,.markdown-body pre code:before,.markdown-body pre tt:after,.markdown-body pre tt:before{content:normal}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-line-num{padding:10px 8px 9px;text-align:right;background:#fff;border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:700;background:#f8f8f8;border-top:0}.markdown-body kbd{display:inline-block;padding:3px 5px;font-size:11px;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:1px solid;border-color:#ccc #ccc #bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}.news .alert .markdown-body blockquote{padding:0 0 0 40px;border:0}.activity-tab .news .alert .commits,.activity-tab .news .markdown-body blockquote{padding-left:0}.task-list-item{list-style-type:none}.task-list-item label{font-weight:400}.task-list-item.enabled label{cursor:pointer}.task-list-item+.task-list-item{margin-top:3px}.task-list-item-checkbox{float:left;margin:.31em 0 .2em -1.3em!important;vertical-align:middle;cursor:default!important}.markdown-body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;padding-top:40px;padding-bottom:40px;max-width:758px;overflow:visible!important}.markdown-body pre{border:inherit!important}.night .markdown-body pre{filter:invert(100%)}.markdown-body code{color:inherit!important}.markdown-body pre code .wrapper{display:-webkit-inline-flex;display:-moz-inline-flex;display:-ms-inline-flex;display:-o-inline-flex;display:inline-flex}.markdown-body pre code .gutter{float:left;overflow:hidden;-webkit-user-select:none;user-select:none}.markdown-body pre code .gutter.linenumber{text-align:right;position:relative;display:inline-block;cursor:default;z-index:4;padding:0 8px 0 0;min-width:20px;box-sizing:content-box;color:#afafaf!important;border-right:3px solid #6ce26c!important}.markdown-body pre code .gutter.linenumber>span:before{content:attr(data-linenumber)}.markdown-body pre code .code{float:left;margin:0 0 0 16px}.markdown-body .gist .line-numbers{border-left:none;border-top:none;border-bottom:none}.markdown-body .gist .line-data{border:none}.markdown-body .gist table{border-spacing:0;border-collapse:inherit!important}.night .markdown-body .gist table tr:nth-child(2n){background-color:#ddd}.markdown-body code[data-gist-id]{background:none;padding:0;filter:invert(100%)}.markdown-body code[data-gist-id]:after,.markdown-body code[data-gist-id]:before{content:""}.markdown-body code[data-gist-id] .blob-num{border:unset}.markdown-body code[data-gist-id] table{overflow:unset;margin-bottom:unset}.markdown-body code[data-gist-id] table tr{background:unset}.markdown-body[dir=rtl] pre{direction:ltr}.markdown-body[dir=rtl] code{direction:ltr;unicode-bidi:embed}.markdown-body .alert>p{margin-bottom:0}.markdown-body pre.abc,.markdown-body pre.flow-chart,.markdown-body pre.graphviz,.markdown-body pre.mermaid,.markdown-body pre.sequence-diagram{text-align:center;background-color:inherit;border-radius:0;white-space:inherit}.night .markdown-body pre.graphviz .graph>polygon{fill:#333}.night .markdown-body pre.mermaid .sectionTitle,.night .markdown-body pre.mermaid .titleText,.night .markdown-body pre.mermaid text{fill:#fff}.markdown-body pre.abc>code,.markdown-body pre.flow-chart>code,.markdown-body pre.graphviz>code,.markdown-body pre.mermaid>code,.markdown-body pre.sequence-diagram>code{text-align:left}.markdown-body pre.abc>svg,.markdown-body pre.flow-chart>svg,.markdown-body pre.graphviz>svg,.markdown-body pre.mermaid>svg,.markdown-body pre.sequence-diagram>svg{max-width:100%;height:100%}.night .markdown-body .abc path{fill:#eee}.night .markdown-body .abc path.note_selected{fill:##4DD0E1}.night tspan{fill:#fefefe}.night pre rect{fill:transparent}.night pre.flow-chart path,.night pre.flow-chart rect{stroke:#fff}.markdown-body pre>code.wrap{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.markdown-body .alert>p,.markdown-body .alert>ul{margin-bottom:0}.markdown-body summary{display:list-item}.markdown-body summary:focus{outline:none}.markdown-body details summary{cursor:pointer}.markdown-body details:not([open])>:not(summary){display:none}.markdown-body figure{margin:1em 40px}.markdown-body img{background-color:transparent}.vimeo,.youtube{cursor:pointer;display:table;text-align:center;background-position:50%;background-repeat:no-repeat;background-size:contain;background-color:#000;overflow:hidden}.vimeo,.youtube{position:relative;width:100%}.youtube{padding-bottom:56.25%}.vimeo img{width:100%;object-fit:contain;z-index:0}.youtube img{object-fit:cover;z-index:0}.vimeo iframe,.youtube iframe,.youtube img{width:100%;height:100%;position:absolute;top:0;left:0}.vimeo iframe,.youtube iframe{vertical-align:middle;z-index:1}.vimeo .icon,.youtube .icon{position:absolute;height:auto;width:auto;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;opacity:.3;-webkit-transition:opacity .2s;transition:opacity .2s;z-index:0}.vimeo:hover .icon,.youtube:hover .icon{opacity:.6;-webkit-transition:opacity .2s;transition:opacity .2s}.slideshare .inner,.speakerdeck .inner{position:relative;width:100%}.slideshare .inner iframe,.speakerdeck .inner iframe{position:absolute;top:0;bottom:0;left:0;right:0;width:100%;height:100%}.MJX_Assistive_MathML{display:none}.ui-infobar{position:relative;z-index:2;max-width:758px;margin-top:25px;margin-bottom:-25px;color:#777}.toc .invisable-node{list-style-type:none}.ui-toc{position:fixed;bottom:20px;z-index:10000}.ui-toc-label{opacity:.3;background-color:#ccc;border:none}.ui-toc-label,.ui-toc .open .ui-toc-label{-webkit-transition:opacity .2s;transition:opacity .2s}.ui-toc .open .ui-toc-label{opacity:1;color:#fff}.ui-toc-label:focus{opacity:.3;background-color:#ccc;color:#000}.ui-toc-label:hover{opacity:1;background-color:#ccc;-webkit-transition:opacity .2s;transition:opacity .2s}.ui-toc-dropdown{margin-top:23px;margin-bottom:20px;padding-left:10px;padding-right:10px;max-width:45vw;width:25vw;max-height:70vh;overflow:auto;text-align:inherit}.ui-toc-dropdown>.toc{max-height:calc(70vh - 100px);overflow:auto}.ui-toc-dropdown[dir=rtl] .nav{padding-right:0;letter-spacing:.0029em}.ui-toc-dropdown a{overflow:hidden;text-overflow:ellipsis;white-space:pre}.ui-toc-dropdown .nav>li>a{display:block;padding:4px 20px;font-size:13px;font-weight:500;color:#767676}.ui-toc-dropdown .nav>li:first-child:last-child>ul,.ui-toc-dropdown .toc.expand ul{display:block}.ui-toc-dropdown .nav>li>a:focus,.ui-toc-dropdown .nav>li>a:hover{padding-left:19px;color:#000;text-decoration:none;background-color:transparent;border-left:1px solid #000}.night .ui-toc-dropdown .nav>li>a:focus,.night .ui-toc-dropdown .nav>li>a:hover{color:#fff;border-left-color:#fff}.ui-toc-dropdown[dir=rtl] .nav>li>a:focus,.ui-toc-dropdown[dir=rtl] .nav>li>a:hover{padding-right:19px;border-left:none;border-right:1px solid #000}.ui-toc-dropdown .nav>.active:focus>a,.ui-toc-dropdown .nav>.active:hover>a,.ui-toc-dropdown .nav>.active>a{padding-left:18px;font-weight:700;color:#000;background-color:transparent;border-left:2px solid #000}.night .ui-toc-dropdown .nav>.active:focus>a,.night .ui-toc-dropdown .nav>.active:hover>a,.night .ui-toc-dropdown .nav>.active>a{color:#fff;border-left:2px solid #fff}.ui-toc-dropdown[dir=rtl] .nav>.active:focus>a,.ui-toc-dropdown[dir=rtl] .nav>.active:hover>a,.ui-toc-dropdown[dir=rtl] .nav>.active>a{padding-right:18px;border-left:none;border-right:2px solid #000}.ui-toc-dropdown .nav .nav{display:none;padding-bottom:10px}.ui-toc-dropdown .nav>.active>ul{display:block}.ui-toc-dropdown .nav .nav>li>a{padding-top:1px;padding-bottom:1px;padding-left:30px;font-size:12px;font-weight:400}.night .ui-toc-dropdown .nav>li>a{color:#aaa}.ui-toc-dropdown[dir=rtl] .nav .nav>li>a{padding-right:30px}.ui-toc-dropdown .nav .nav>li>ul>li>a{padding-top:1px;padding-bottom:1px;padding-left:40px;font-size:12px;font-weight:400}.ui-toc-dropdown[dir=rtl] .nav .nav>li>ul>li>a{padding-right:40px}.ui-toc-dropdown .nav .nav>li>a:focus,.ui-toc-dropdown .nav .nav>li>a:hover{padding-left:29px}.ui-toc-dropdown[dir=rtl] .nav .nav>li>a:focus,.ui-toc-dropdown[dir=rtl] .nav .nav>li>a:hover{padding-right:29px}.ui-toc-dropdown .nav .nav>li>ul>li>a:focus,.ui-toc-dropdown .nav .nav>li>ul>li>a:hover{padding-left:39px}.ui-toc-dropdown[dir=rtl] .nav .nav>li>ul>li>a:focus,.ui-toc-dropdown[dir=rtl] .nav .nav>li>ul>li>a:hover{padding-right:39px}.ui-toc-dropdown .nav .nav>.active:focus>a,.ui-toc-dropdown .nav .nav>.active:hover>a,.ui-toc-dropdown .nav .nav>.active>a{padding-left:28px;font-weight:500}.ui-toc-dropdown[dir=rtl] .nav .nav>.active:focus>a,.ui-toc-dropdown[dir=rtl] .nav .nav>.active:hover>a,.ui-toc-dropdown[dir=rtl] .nav .nav>.active>a{padding-right:28px}.ui-toc-dropdown .nav .nav>.active>.nav>.active:focus>a,.ui-toc-dropdown .nav .nav>.active>.nav>.active:hover>a,.ui-toc-dropdown .nav .nav>.active>.nav>.active>a{padding-left:38px;font-weight:500}.ui-toc-dropdown[dir=rtl] .nav .nav>.active>.nav>.active:focus>a,.ui-toc-dropdown[dir=rtl] .nav .nav>.active>.nav>.active:hover>a,.ui-toc-dropdown[dir=rtl] .nav .nav>.active>.nav>.active>a{padding-right:38px}.markdown-body[lang^=ja]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,Arial,Hiragino Kaku Gothic Pro,ヒラギノ角ゴ Pro W3,Osaka,Meiryo,メイリオ,MS Gothic,ï¼ï¼³ ゴシック,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}.ui-toc-dropdown[lang^=ja]{font-family:Source Sans Pro,Helvetica,Arial,Meiryo UI,MS PGothic,ï¼ï¼³ Pゴシック,sans-serif}.markdown-body[lang=zh-tw]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,Arial,PingFang TC,Microsoft JhengHei,微軟æ£é»‘,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}.ui-toc-dropdown[lang=zh-tw]{font-family:Source Sans Pro,Helvetica,Arial,Microsoft JhengHei UI,微軟æ£é»‘UI,sans-serif}.markdown-body[lang=zh-cn]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,Arial,PingFang SC,Microsoft YaHei,微软雅黑,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}.ui-toc-dropdown[lang=zh-cn]{font-family:Source Sans Pro,Helvetica,Arial,Microsoft YaHei UI,微软雅黑UI,sans-serif}.ui-affix-toc{position:fixed;top:0;max-width:15vw;max-height:70vh;overflow:auto}.back-to-top,.expand-toggle,.go-to-bottom{display:block;padding:4px 10px;margin-top:10px;margin-left:10px;font-size:12px;font-weight:500;color:#999}.back-to-top:focus,.back-to-top:hover,.expand-toggle:focus,.expand-toggle:hover,.go-to-bottom:focus,.go-to-bottom:hover{color:#563d7c;text-decoration:none}.back-to-top,.go-to-bottom{margin-top:0}.ui-user-icon{width:20px;height:20px;display:block;border-radius:3px;margin-top:2px;margin-bottom:2px;margin-right:5px;background-position:50%;background-repeat:no-repeat;background-size:contain}.ui-user-icon.small{width:18px;height:18px;display:inline-block;vertical-align:middle;margin:0 0 .2em}small span{line-height:22px}small .dropdown{display:inline-block}small .dropdown a:focus,small .dropdown a:hover{text-decoration:none}.unselectable{-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.night .navbar{background:#333;border-bottom-color:#333;color:#eee}.night .navbar a{color:#eee}.markdown-body h1[id]:before,.markdown-body h2[id]:before,.markdown-body h3[id]:before,.markdown-body h4[id]:before,.markdown-body h5[id]:before,.markdown-body h6[id]:before{display:block;content:" ";margin-top:-55px;height:55px;visibility:hidden}@media print{blockquote,div,img,pre,table{page-break-inside:avoid!important}a[href]:after{font-size:12px!important}}.markdown-body.slides{position:relative;z-index:1;color:#222}.markdown-body.slides:before{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;background-color:currentColor;box-shadow:0 0 0 50vw}.markdown-body.slides section[data-markdown]{position:relative;margin-bottom:1.5em;background-color:#fff;text-align:center}.markdown-body.slides section[data-markdown] code{text-align:left}.markdown-body.slides section[data-markdown]:before{content:"";display:block;padding-bottom:56.23%}.markdown-body.slides section[data-markdown]>div:first-child{position:absolute;top:50%;left:1em;right:1em;transform:translateY(-50%);max-height:100%;overflow:hidden}.markdown-body.slides section[data-markdown]>ul{display:inline-block}.markdown-body.slides>section>section+section:after{content:"";position:absolute;top:-1.5em;right:1em;height:1.5em;border:3px solid #777}.markdown-body.slides aside.notes{display:none}.markdown-body.slides ol,.markdown-body.slides ul{display:inline-block;text-align:left;margin:0 0 0 1em;padding:0}.markdown-body.slides table{width:50%;margin:0 auto;border-collapse:collapse;border-spacing:0;display:table}.markdown-body.slides table td,.markdown-body.slides table th{text-align:left;padding:.2em .5em;border:none;border-bottom:1px solid}.markdown-body.slides table tr{border-top:0;background-color:#fff}.markdown-body.slides table tr:nth-child(2n){background-color:inherit}.markdown-body.slides table tbody tr:last-child td,.markdown-body.slides table tbody tr:last-child th{border-bottom:none}.markdown-body.slides h1,.markdown-body.slides h2{border-bottom:0}.night .markdown-body.slides h1,.night .markdown-body.slides h2,.night .markdown-body.slides h3,.night .markdown-body.slides h4,.night .markdown-body.slides h5,.night .markdown-body.slides h6{color:#000}.markdown-body section>section:last-child{margin-bottom:1.5em!important}.ui-view-area.black{background-color:#000!important}body{font-smoothing:subpixel-antialiased!important;-webkit-font-smoothing:subpixel-antialiased!important;-moz-osx-font-smoothing:auto!important;text-shadow:0 0 1em transparent,1px 1px 1.2px rgba(0,0,0,.004);-webkit-overflow-scrolling:touch;font-family:Source Sans Pro,Helvetica,Arial,sans-serif;letter-spacing:.025em}.focus,:focus{outline:none!important}::-moz-focus-inner{border:0!important}body.modal-open{overflow-y:auto;padding-right:0!important} - </style> - <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> - <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> - <!--[if lt IE 9]> - <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js" integrity="sha256-3Jy/GbSLrg0o9y5Z5n1uw0qxZECH7C6OQpVBgNFYa0g=" crossorigin="anonymous"></script> - <script src="https://cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js" integrity="sha256-g6iAfvZp+nDQ2TdTR/VVKJf3bGro4ub5fvWSWVRi2NE=" crossorigin="anonymous"></script> - <script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.9/es5-shim.min.js" integrity="sha256-8E4Is26QH0bD52WoQpcB+R/tcWQtpzlCojrybUd7Mxo=" crossorigin="anonymous"></script> - <![endif]--> -</head> - -<body> - <div id="doc" class="markdown-body container-fluid"><h1 id="API-for-ordbokuibno-beta"><a class="anchor hidden-xs" href="#API-for-ordbokuibno-beta" title="API-for-ordbokuibno-beta"><i class="fa fa-link"></i></a>API for <a href="http://ordbok.uib.no" target="_blank" rel="noopener">ordbok.uib.no</a> (beta)</h1><h2 id="Innledning"><a class="anchor hidden-xs" href="#Innledning" title="Innledning"><i class="fa fa-link"></i></a>Innledning</h2><p>Denne REST-APIen gir tilgang til JSON-representasjon av alle oppslag (artikler) i ordbøkene for bokmÃ¥l og nynorsk fra SprÃ¥krÃ¥det og UiB. Det er fire endepunkt i APIen: <a href="#Direkte-oppslag">direkte oppslag</a>, <a href="#Teksts%C3%B8k">tekstsøk</a>, <a href="#Forslag">forslag</a> og <a href="#Metadata">ordbok-metadata</a></p><p>Alle API-kall er pÃ¥ formen:<br> -<code>/api/dict/{dict_id}[/article/{article_id}|(search|suggest)?q={query}]</code></p><p>Variabler:</p><ul> -<li><code>dict_id</code>: -<ul> -<li><code>bob</code> for bokmÃ¥l</li> -<li><code>nob</code> for nynorsk</li> -<li><code>bob,no</code> for begge sprÃ¥k (bare for søk/forslag)</li> -</ul> -</li> -<li><code>article_id</code>: numerisk id for en ordboksartikkel</li> -<li><code>query</code>: Søkeuttrykk</li> -</ul><h2 id="Direkte-oppslag"><a class="anchor hidden-xs" href="#Direkte-oppslag" title="Direkte-oppslag"><i class="fa fa-link"></i></a>Direkte oppslag</h2><p>Dersom man kjenner den numeriske IDen til en artikkel kan man slÃ¥ den opp vha. dette endepunktet.</p><h3 id="Eksempel-pÃ¥-direkte-oppslag"><a class="anchor hidden-xs" href="#Eksempel-pÃ¥-direkte-oppslag" title="Eksempel-pÃ¥-direkte-oppslag"><i class="fa fa-link"></i></a>Eksempel pÃ¥ direkte oppslag</h3><p>Spesifikasjonen til denne operasjonen finner du <a href="https://beta.ordbok.uib.no/api/swagger-ui.html#/default/get_dict__dict_id__article__art_id_" target="_blank" rel="noopener">her</a></p><pre><code class="http hljs"><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/dict/bob/article/69947</span> HTTP/1.1 -<span class="hljs-attribute">Accept</span>: application/json -<span class="hljs-attribute">x-api-key</span>: <API-nøkkel> -</code></pre><p>…resulterer i</p><pre><code class="http hljs">HTTP/1.1 <span class="hljs-number">200</span> Ok -<span class="hljs-attribute">Content-Type</span>: application/json - -<span class="json">{ - <span class="hljs-attr">"lemmas"</span>: [ - { - <span class="hljs-attr">"lemma"</span>: <span class="hljs-string">"tja"</span>, - <span class="hljs-attr">"id"</span>: <span class="hljs-number">69947</span> - } - ], - <span class="hljs-attr">"article_id"</span>: <span class="hljs-number">61167</span>, - <span class="hljs-attr">"body"</span>: { - } -} -</span></code></pre><ul> -<li><code>lemmas</code>: Ett eller flere oppslagsord som artikkelen beskriver. Elementene i denne listen er pÃ¥ et format som er beskrevet <a href="https://ordbank.uib.no/api/guide.html" target="_blank" rel="noopener">her</a></li> -<li><code>article_id</code>: Artikkelens ID, som i forespørselen</li> -<li><code>body</code>: Selve innholdet i artikkelen, formatet er beskrevet <a href="#Artikkelkroppen">her</a></li> -</ul><h2 id="Tekstsøk"><a class="anchor hidden-xs" href="#Tekstsøk" title="Tekstsøk"><i class="fa fa-link"></i></a>Tekstsøk</h2><p>Denne formen for søk leter etter søketeksten i alle bøyningsformer i oppslagsord, samt i artikkelelementer av typen <code>usage</code> som beskrives senere.</p><h3 id="Eksempel-pÃ¥-søk"><a class="anchor hidden-xs" href="#Eksempel-pÃ¥-søk" title="Eksempel-pÃ¥-søk"><i class="fa fa-link"></i></a>Eksempel pÃ¥ søk</h3><pre><code class="http hljs"><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/dict/bob/search?q=katt</span> HTTP/1.1 -<span class="hljs-attribute">Accept</span>: application/json -<span class="hljs-attribute">x-api-key</span>: <API-nøkkel> -</code></pre><p>…resulterer i</p><pre><code class="http hljs">HTTP/1.1 <span class="hljs-number">200</span> Ok -<span class="hljs-attribute">Content-Type</span>: application/json - -<span class="json">[ - { - <span class="hljs-attr">"lemmas"</span>: [ - { - <span class="hljs-attr">"lemma"</span>: <span class="hljs-string">"katt"</span>, - <span class="hljs-attr">"id"</span>: <span class="hljs-number">34290</span> - } - ], - <span class="hljs-attr">"article_id"</span>: <span class="hljs-number">29022</span>, - <span class="hljs-attr">"score"</span>: <span class="hljs-number">31.717403</span>, - <span class="hljs-attr">"dict_id"</span>: <span class="hljs-string">"bob"</span>, - <span class="hljs-attr">"body"</span>: {} - }, - {}, - {} -] -</span></code></pre><p>Resultatet er en liste av objekter (som det man fÃ¥r ved direkte oppslag), men med to ekstra elementer:</p><ul> -<li><code>score</code>: Et mÃ¥l pÃ¥ hvor god match denne artikkelen er ift. søket, treffene er sortert synkende etter dette mÃ¥ltallet</li> -<li><code>dict_id</code>: ID pÃ¥ ordboken artikkelen kommer fra (for tosprÃ¥klig søk)</li> -</ul><h2 id="Forslag"><a class="anchor hidden-xs" href="#Forslag" title="Forslag"><i class="fa fa-link"></i></a>Forslag</h2><p>Fungerer som <a href="#Teksts%C3%B8k">tekstsøk</a>, men returnerer bare artikler for ord som begynner med søkeuttrykket. Her er heller ingen <code>score</code> inkludert. Kan brukes til <em>autocomplete.</em></p><h3 id="Eksempel-pÃ¥-spørring"><a class="anchor hidden-xs" href="#Eksempel-pÃ¥-spørring" title="Eksempel-pÃ¥-spørring"><i class="fa fa-link"></i></a>Eksempel pÃ¥ spørring</h3><pre><code class="http hljs"><span class="hljs-keyword">GET</span> <span class="hljs-string">/api/dict/bob/suggest?q=katt</span> HTTP/1.1 -<span class="hljs-attribute">Accept</span>: application/json -<span class="hljs-attribute">x-api-key</span>: <API-nøkkel> -</code></pre><h2 id="Artikkelkroppen"><a class="anchor hidden-xs" href="#Artikkelkroppen" title="Artikkelkroppen"><i class="fa fa-link"></i></a>Artikkelkroppen</h2><p>Artikkelkroppen samsvarer med <a href="https://git.app.uib.no/spraksamlingane/ordbok-json-schema/raw/article_body/v0.5.1/article_body.json" target="_blank" rel="noopener">dette JSON-skjemaet</a></p></div> - <div class="ui-toc dropup unselectable hidden-print" style="display:none;"> - <div class="pull-right dropdown"> - <a id="tocLabel" class="ui-toc-label btn btn-default" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false" title="Table of content"> - <i class="fa fa-bars"></i> - </a> - <ul id="ui-toc" class="ui-toc-dropdown dropdown-menu" aria-labelledby="tocLabel"> - <div class="toc"><ul class="nav"> -<li class=""><a href="#API-for-ordbokuibno-beta" title="API for ordbok.uib.no (beta)">API for ordbok.uib.no (beta)</a><ul class="nav"> -<li><a href="#Innledning" title="Innledning">Innledning</a></li> -<li class=""><a href="#Direkte-oppslag" title="Direkte oppslag">Direkte oppslag</a><ul class="nav"> -<li class=""><a href="#Eksempel-pÃ¥-direkte-oppslag" title="Eksempel pÃ¥ direkte oppslag">Eksempel pÃ¥ direkte oppslag</a></li> -</ul> -</li> -<li class=""><a href="#Tekstsøk" title="Tekstsøk">Tekstsøk</a><ul class="nav"> -<li class=""><a href="#Eksempel-pÃ¥-søk" title="Eksempel pÃ¥ søk">Eksempel pÃ¥ søk</a></li> -</ul> -</li> -<li><a href="#Forslag" title="Forslag">Forslag</a><ul class="nav"> -<li><a href="#Eksempel-pÃ¥-spørring" title="Eksempel pÃ¥ spørring">Eksempel pÃ¥ spørring</a></li> -</ul> -</li> -<li class=""><a href="#Artikkelkroppen" title="Artikkelkroppen">Artikkelkroppen</a></li> -</ul> -</li> -</ul> -</div><div class="toc-menu"><a class="expand-toggle" href="#">Expand all</a><a class="back-to-top" href="#">Back to top</a><a class="go-to-bottom" href="#">Go to bottom</a></div> - </ul> - </div> - </div> - <div id="ui-toc-affix" class="ui-affix-toc ui-toc-dropdown unselectable hidden-print" data-spy="affix" style="top:17px;display:none;" > - <div class="toc"><ul class="nav"> -<li class=""><a href="#API-for-ordbokuibno-beta" title="API for ordbok.uib.no (beta)">API for ordbok.uib.no (beta)</a><ul class="nav"> -<li><a href="#Innledning" title="Innledning">Innledning</a></li> -<li class=""><a href="#Direkte-oppslag" title="Direkte oppslag">Direkte oppslag</a><ul class="nav"> -<li class=""><a href="#Eksempel-pÃ¥-direkte-oppslag" title="Eksempel pÃ¥ direkte oppslag">Eksempel pÃ¥ direkte oppslag</a></li> -</ul> -</li> -<li class=""><a href="#Tekstsøk" title="Tekstsøk">Tekstsøk</a><ul class="nav"> -<li class=""><a href="#Eksempel-pÃ¥-søk" title="Eksempel pÃ¥ søk">Eksempel pÃ¥ søk</a></li> -</ul> -</li> -<li><a href="#Forslag" title="Forslag">Forslag</a><ul class="nav"> -<li><a href="#Eksempel-pÃ¥-spørring" title="Eksempel pÃ¥ spørring">Eksempel pÃ¥ spørring</a></li> -</ul> -</li> -<li class=""><a href="#Artikkelkroppen" title="Artikkelkroppen">Artikkelkroppen</a></li> -</ul> -</li> -</ul> -</div><div class="toc-menu"><a class="expand-toggle" href="#">Expand all</a><a class="back-to-top" href="#">Back to top</a><a class="go-to-bottom" href="#">Go to bottom</a></div> - </div> - <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script> - <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.0/js/bootstrap.min.js" integrity="sha256-kJrlY+s09+QoWjpkOrXXwhxeaoDz9FW5SaxF8I0DibQ=" crossorigin="anonymous" defer></script> - <script src="https://cdnjs.cloudflare.com/ajax/libs/gist-embed/2.6.0/gist-embed.min.js" integrity="sha256-KyF2D6xPIJUW5sUDSs93vWyZm+1RzIpKCexxElmxl8g=" crossorigin="anonymous" defer></script> - <script> - var markdown = $(".markdown-body"); - //smooth all hash trigger scrolling - function smoothHashScroll() { - var hashElements = $("a[href^='#']").toArray(); - for (var i = 0; i < hashElements.length; i++) { - var element = hashElements[i]; - var $element = $(element); - var hash = element.hash; - if (hash) { - $element.on('click', function (e) { - // store hash - var hash = this.hash; - if ($(hash).length <= 0) return; - // prevent default anchor click behavior - e.preventDefault(); - // animate - $('body, html').stop(true, true).animate({ - scrollTop: $(hash).offset().top - }, 100, "linear", function () { - // when done, add hash to url - // (default click behaviour) - window.location.hash = hash; - }); - }); - } - } - } - - smoothHashScroll(); - var toc = $('.ui-toc'); - var tocAffix = $('.ui-affix-toc'); - var tocDropdown = $('.ui-toc-dropdown'); - //toc - tocDropdown.click(function (e) { - e.stopPropagation(); - }); - - var enoughForAffixToc = true; - - function generateScrollspy() { - $(document.body).scrollspy({ - target: '' - }); - $(document.body).scrollspy('refresh'); - if (enoughForAffixToc) { - toc.hide(); - tocAffix.show(); - } else { - tocAffix.hide(); - toc.show(); - } - $(document.body).scroll(); - } - - function windowResize() { - //toc right - var paddingRight = parseFloat(markdown.css('padding-right')); - var right = ($(window).width() - (markdown.offset().left + markdown.outerWidth() - paddingRight)); - toc.css('right', right + 'px'); - //affix toc left - var newbool; - var rightMargin = (markdown.parent().outerWidth() - markdown.outerWidth()) / 2; - //for ipad or wider device - if (rightMargin >= 133) { - newbool = true; - var affixLeftMargin = (tocAffix.outerWidth() - tocAffix.width()) / 2; - var left = markdown.offset().left + markdown.outerWidth() - affixLeftMargin; - tocAffix.css('left', left + 'px'); - } else { - newbool = false; - } - if (newbool != enoughForAffixToc) { - enoughForAffixToc = newbool; - generateScrollspy(); - } - } - $(window).resize(function () { - windowResize(); - }); - $(document).ready(function () { - windowResize(); - generateScrollspy(); - }); - - //remove hash - function removeHash() { - window.location.hash = ''; - } - - var backtotop = $('.back-to-top'); - var gotobottom = $('.go-to-bottom'); - - backtotop.click(function (e) { - e.preventDefault(); - e.stopPropagation(); - if (scrollToTop) - scrollToTop(); - removeHash(); - }); - gotobottom.click(function (e) { - e.preventDefault(); - e.stopPropagation(); - if (scrollToBottom) - scrollToBottom(); - removeHash(); - }); - - var toggle = $('.expand-toggle'); - var tocExpand = false; - - checkExpandToggle(); - toggle.click(function (e) { - e.preventDefault(); - e.stopPropagation(); - tocExpand = !tocExpand; - checkExpandToggle(); - }) - - function checkExpandToggle () { - var toc = $('.ui-toc-dropdown .toc'); - var toggle = $('.expand-toggle'); - if (!tocExpand) { - toc.removeClass('expand'); - toggle.text('Expand all'); - } else { - toc.addClass('expand'); - toggle.text('Collapse all'); - } - } - - function scrollToTop() { - $('body, html').stop(true, true).animate({ - scrollTop: 0 - }, 100, "linear"); - } - - function scrollToBottom() { - $('body, html').stop(true, true).animate({ - scrollTop: $(document.body)[0].scrollHeight - }, 100, "linear"); - } - </script> -</body> - -</html> diff --git a/api_static/api/index.html b/api_static/api/index.html index ac47d82b75b1bfac2abdebb305f050f450f3be1e..3ab6ad16f6a5d64df1b16b8bdd5fdd48852b8a2c 100644 --- a/api_static/api/index.html +++ b/api_static/api/index.html @@ -1,7 +1,6 @@ <!DOCTYPE html> <html> <head><meta charset="utf-8"> - <meta http-equiv="refresh" content="0; URL=https://ord.uib.no/" /> <style> div { @@ -49,18 +48,11 @@ p { <div id="main"> <h1>Ordbok-API</h1> <h3>Hva er dette?</h3> - <p>Gjennom denne tjenesten kan man gjøre oppslag i alle ord registrert i BokmÃ¥ls- og Nynorskordboka. Man trenger en API-nøkkel for Ã¥ bruke tjenesten. Denne sendes ut - etter avtale, kontakt <a href="mailto:ordbokene@uib.no">ordbokene@uib.no</a> for mer informasjon. API-et er todelt, en Ã¥pen del som kan brukes av alle som har en API-nøkkel, - og en lukket del for redigering som kun er tilgjengelig for godkjente redaktører. + <p>Gjennom denne ord.uib.no kan man gjøre oppslag i alle ord registrert i BokmÃ¥ls- og Nynorskordboka. Vi tilbyr foreløpig interaktiv dokumentasjon pÃ¥ engelsk og en mer omfattende brukerveiledning pÃ¥ norsk. </p> - <h3>Hva kan du forvente av denne tjenesten?</h3> - <p>Tjenesten er foreløpig i Beta. Selv om vi etterstreber Ã¥ gjøre alle endringer inkrementelle vil det kunne forekomme strukturelle endringer i denne fasen.</p> - <p>Tjenesten er overvÃ¥ket innenfor vanlig arbeidstid, og vil normalt være tilgjengelig hele døgnet. Dersom tjenesten skulle bli utilgjengelig pÃ¥ ettermiddag eller kveld - vil dette blir løst sÃ¥ fort som mulig neste arbeidsdag.</p> <div id="link-container"> - <div class="link"><a target="_blank" href ="/api/swagger-ui.html"><img src="https://unpkg.com/swagger-ui-dist@3.23.5/favicon-32x32.png"> Utforsk REST-API-en</a></div> - <div class="link"> <a href="/api/guide.html">Brukerveiledning</a> </div> - <div class="link"><a href="https://git.app.uib.no/spraksamlingane/api.ordbok.uib.no/-/blob/master/resources/swagger.json">Intern API</a> (velg den absolutte URLen fra menyen "servers")</div> + <div class="link"> <a href="https://ord.uib.no/">Brukerveiledning</a> </div> + <div class="link"><a target="_blank" href ="/api/swagger-ui.html"><img src="https://unpkg.com/swagger-ui-dist@3.23.5/favicon-32x32.png"> Explore the REST-API</a></div> </div> </div> <div> </div> diff --git a/api_static/api/swagger-ui.html b/api_static/api/swagger-ui.html index 6b7417fbd130b721a7a752866deeeaa89fcd8345..12340ffeffff8a6d0bb3fb2c03ffd91c02511a5b 100644 --- a/api_static/api/swagger-ui.html +++ b/api_static/api/swagger-ui.html @@ -38,7 +38,7 @@ window.onload = function() { // Begin Swagger UI call region const ui = SwaggerUIBundle({ - url: "./swagger.json", + url: "./swagger.yml", dom_id: '#swagger-ui', deepLinking: true, presets: [ diff --git a/api_static/api/swagger.json b/api_static/api/swagger.json deleted file mode 100644 index ae162757377fea58818a3628136a789f60c44bd7..0000000000000000000000000000000000000000 --- a/api_static/api/swagger.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "Ordbok API", - "description": "This API is developed by the University of Bergen. Its purpose is to serve the new national dictionary website wich is under development. API keys are available upon request. No warranty.", - "version": "beta" - }, - "servers": [ - { - "url": "/api" - } - ], - "paths": { - "/dict/{dict_id}": { - "get": { - "summary": "Dictionary metadata", - "description": "Returns metadata for a dictionary, including all entities used in article text", - "parameters": [ - { - "name": "dict_id", - "in": "path", - "required": true, - "description": "Dictionary code, 'bob' for bokmÃ¥l, 'nob' for nynorsk", - "schema": { - "type": "string" - }, - "example": "bob" - } - ], - "security": [ - { - "api_key": [] - } - ], - "responses": { - "200": { - "description": "bla bla", - "content": { - "application/json": { - "schema": { - "type": "object" - } - } - } - } - } - } - }, - "/dict/{dict_id}/article/{art_id}": { - "get": { - "summary": "Article lookup", - "description": "Returns an article with a specific numeric ID", - "parameters": [ - { - "name": "dict_id", - "in": "path", - "required": true, - "description": "Dictionary code, 'bob' for bokmÃ¥l, 'nob' for nynorsk", - "schema": { - "type": "string" - }, - "example": "bob" - }, - { - "name": "art_id", - "in": "path", - "required": true, - "description": "The numeric ID of an article", - "schema": { - "type": "integer" - }, - "example": 15544 - } - ], - "security": [ - { - "api_key": [] - } - ], - "responses": { - "200": { - "description": "bla bla", - "content": { - "application/json": { - "schema": { - "type": "object" - } - } - } - } - } - } - }, - "/dict/{dict_id}/article/search": { - "get": { - "summary": "Search for a word", - "description": "Search for words as an article lemmas, or words occurring in certain article elements. For instance, old norse _fljúga_ will match the article for modern Norwegian verb _fly_ (meaning to fly)", - "parameters": [ - { - "name": "dict_id", - "description": "Dictionary to search, 'bob' for bokmÃ¥l, 'nob' for nynorsk, 'bob,nob' for both", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "q", - "description": "Query string", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - } - ], - "security": [ - { - "api_key": [] - } - ], - "responses": { - "200": { - "description": "bla bla", - "content": { - "application/json": { - "schema": { - "type": "object" - } - } - } - } - } - } - }, - "/dict/{dict_id}/article/suggest": { - "get": { - "summary": "Get autocomplete suggestions for a prefix", - "description": "Returns articles for words that begin with the prefix specified in query string 'q'", - "parameters": [ - { - "name": "dict_id", - "description": "Dictionary to search, 'bob' for bokmÃ¥l, 'nob' for nynorsk, 'bob,bob' for both", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "q", - "description": "Query string: prefix for autocomplete", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - } - ], - "security": [ - { - "api_key": [] - } - ], - "responses": { - "200": { - "description": "bla bla", - "content": { - "application/json": { - "schema": { - "type": "object" - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - }, - "securitySchemes": { - "api_key": { - "type": "apiKey", - "name": "x-api-key", - "in": "header" - } - } - } -} diff --git a/api_static/api/swagger.yml b/api_static/api/swagger.yml new file mode 100644 index 0000000000000000000000000000000000000000..660ee8ef19c32d3c66b97113e15ad6e23021290c --- /dev/null +++ b/api_static/api/swagger.yml @@ -0,0 +1,125 @@ +openapi: 3.0.1 +info: + title: Ordbok API + description: This API is developed by the University of Bergen. Its purpose is to serve the new national dictionary website wich is under development. No warranty. + version: 1.0.0 +servers: + - url: https://ord.uib.no +paths: + /api/suggest: + get: + summary: Autocomplete + description: Suggests search keywords. + parameters: + - name: q + in: query + required: true + description: The search string + schema: + type: string + example: test + - name: dict + in: query + required: true + description: Dictionary code, 'bm' for bokmÃ¥l, 'nn' for nynorsk, 'bm,nn' for both + schema: + type: string + example: bm,nn + - name: wc + in: query + description: "Filter by word class (part of speech tags: https://universaldependencies.org/u/pos/index.html). " + schema: + type: string + example: NOUN + - name: n + in: query + description: Number of results to return + schema: + type: integer + example: 4 + - name: include + in: query + description: "Choose what types of suggestions you want to be included in the response. The parameter should be a concatenation of any of the following characters: e (exact lemma), f (full-text search), i (inflected forms), s (similar - fuzzy search)" + schema: + type: string + example: eis + - name: dform + in: query + description: "dfomr=int turns dictionary codes in the response into integers: 1 = bm, 2 = nn and 3 = bm,nn" + schema: + type: string + example: int + + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + /api/articles: + get: + summary: Article search + description: Search for articles. Returns lists of article IDs. + parameters: + - name: w + in: query + required: true + description: Word (Query string) + schema: + type: string + example: test + - name: dict + in: query + required: true + description: Dictionary code, 'bm' for bokmÃ¥l, 'nn' for nynorsk, 'bm,nn' for both + schema: + type: string + example: bm,nn + - name: wc + in: query + description: "Filter by word class (part of speech tags: https://universaldependencies.org/u/pos/index.html). " + schema: + type: string + example: NOUN + - name: scope + in: query + description: "Define the scope of your query. The parameter should be a concatenation of any of the following characters: e (exact lemma), f (full-text search), i (inflected forms)" + schema: + type: string + example: eif + + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + /{dict}/article/{article_id}.json: + get: + summary: Article lookup + description: Returns an article with a specific numeric ID + parameters: + - name: dict + in: path + required: true + description: Dictionary code, 'bm' for bokmÃ¥l, 'nn' for nynorsk, 'bm,nn' for both + schema: + type: string + example: bm,nn + - name: article_id + in: path + required: true + description: The numeric ID of an article + schema: + type: integer + example: 15544 + + responses: + '200': + description: OK + content: + application/json: + schema: + type: object \ No newline at end of file diff --git a/src/components/DictionaryView.vue b/src/components/DictionaryView.vue index 407b93d9cdf5e2c77127d2d7a771838f98ee27f3..108cff8deccc9d6403f260cd301c0ba091c4f47f 100644 --- a/src/components/DictionaryView.vue +++ b/src/components/DictionaryView.vue @@ -277,7 +277,7 @@ function navigate_to_query(self, word, keep_page) { } // Get article IDs - let params = {w: query.match, dict: self.lang, scope: self.scope, meta: 'y'} + let params = {w: query.match, dict: self.lang, scope: self.scope} let offset = 0 if (self.page) { offset = self.perPage * (self.page -1)