Frontend for subject search against the vocabularies Realfagstermer (Bokmål, Nynorsk, English) and Humord (Bokmål).
The frontend uses a Skosmos instance to query for subjects, and the Primo Search API through LSM to query for catalogue records.
After cloning the repository, run npm install
to fetch dependencies.
To make a development build in the build
folder and start a
development server, run npm run dev
.
To make a production build, run npm run build
.
The application is translated on Transifex, and the translation workflow is supported by angular-gettext, angular-gettext-cli and transifex-api-es6.
-
After source strings have been added or modified, run
npm run update-pot
to extract translatable strings from the application into the PO template filepo/emnesok.pot
and push it to Transifex. For this to work, your Transifex credentials must be stored in the.env
file. -
npm run compile-po
fetches the latest translations from Transifex into thepo
folder and compiles these intosrc/app/services/translations.json
. -
npm run trans
combines the two commands above for a full sync.
This project tries to adher to:
- Y033: Controllers: Place bindable members at the top of the controller, alphabetized
- Y052: Factories: Expose the callable members of the service (its interface) at the top (Revealing Module Pattern)
Atm. we have two .htaccess
files, one in htdocs
:
RewriteEngine on
RewriteBase /ub/emnesok/
# Serve data from some folders directly
RewriteCond %{REQUEST_URI} ^/ub/emnesok/(data|legacy|program|skosmos)
RewriteRule ^.+$ - [NC,L]
# Redirect from old URLs
RewriteCond "%{QUERY_STRING}" "^id=UHS$"
RewriteRule "^.*$" "humord?" [R,L]
RewriteCond "%{QUERY_STRING}" "^id=UREAL$"
RewriteRule "^.*$" "realfagstermer?" [R,L]
RewriteCond "%{QUERY_STRING}" "^id=TEK$"
RewriteRule "^.*$" "tekord?" [R,L]
RewriteCond "%{QUERY_STRING}" "^id=MR$"
RewriteRule "^.*$" "mrtermer?" [R,L]
RewriteRule "^test/oria/(.*)$" "$1" [R,L]
# Alias / to /2/build/
RewriteRule ^(.*) 2/build/$1 [NC,L]
and one in /htdocs/2/
RewriteEngine on
RewriteBase /ub/emnesok/2/
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) build/index.html [NC,L]
TODO: Simplify and merge into one file.