ስክሪንሾቶች
ስክሪንሾቶችን በስክሪፕት በእንግሊዝኛና በአማርኛ ያንሱ፣ እንዲሁም ወቅታዊ ያድርጓቸው።
በዚህ ጣቢያ ላይ ያለው እያንዳንዱ ስክሪንሾት በእጅ የተለጠፈ ሳይሆን በስክሪፕት የተነሳ ነው። ይህም በሁሉም ቦታ ተመሳሳይ መጠንና ገጽታ እንዲኖራቸው ያደርጋል፣ ለእያንዳንዳቸው የእንግሊዝኛና የአማርኛ ስሪት ይሰጣል፣ ሚስጥራዊ መረጃ እንዳይገባ ይከላከላል፣ ጊዜ ያለፈበት ምስል ሲኖርም ለማወቅ ያስችላል።
እንዴት እንደሚገጣጠም#
- በ
smarterp_docs/shots/ውስጥ ያለ የሾት ዝርዝር (shot list) ምን እንደሚነሳ ይነግራል፦ ገጹን፣ ደረጃዎቹን፣ ቋንቋዎቹን፣ አማራጭ ጽሑፉን (alt) እና መግለጫውን። smarterp_docs/tools/shots.pyእውነተኛ አሳሽ ይከፍታል፣ ደረጃዎቹን ይከተላል፣ የPNG ፋይሎችን ወደstatic/img/ይጽፋል፣ የእያንዳንዱንም መዝገብ ወደstatic/img/manifest.jsonያስገባል።- አንድ ገጽ ምስልን በአሴት መለያው (asset id) ያሳያል፤ በራሱ መስመር ላይ።

ጣቢያው ለአንባቢው ቋንቋ የሚሆነውን ምስል ይመርጣል፣ የጨለማ ስሪት ካለም ያሳያል። አማራጭ ጽሑፉ (alt) እና መግለጫው ከማኒፌስቱ (manifest) በሁለቱም ቋንቋዎች ይመጣሉ።
አንድ ጊዜ ያዋቅሩ#
Python 3 እና Playwright ሊነዳው የሚችል አሳሽ ያስፈልግዎታል፦
pip install playwright
playwright install chromium
ስክሪንሾቶቹን ያንሱ#
python3 smarterp_docs/tools/shots.py
ስክሪፕቱ የመመሪያውን ቅድመ እይታ ራሱ ያስጀምራል፤ ስለዚህ ሌላ ምንም ነገር መሄድ የለበትም። የጻፈውን እያንዳንዱን ፋይል፣ መጠኑን እና ማንኛውንም ችግር ያትማል። ማንኛውም ነገር ካልተሳካ በስህተት ይወጣል፤ ስለዚህ በራስ-ሰር ፍተሻ ውስጥ ለመጠቀም ደህንነቱ የተጠበቀ ነው።
| አማራጭ | የሚያደርገው |
|---|---|
--only ID | ይህን አሴት ብቻ ያነሳል። ለብዙ አሴቶች ይድገሙት። |
--lang am | ይህን ቋንቋ ብቻ ያነሳል። |
--check | ምንም አይጽፍም። ጊዜ ያለፈባቸውን ምስሎች ያሳውቃል። |
--list | ሾቶቹን ዘርዝሮ ይቆማል። |
--base-url URL | የሾት ዝርዝሮቹን ወደ ሌላ ጣቢያ፣ ለምሳሌ ወደ SmartERP የማሳያ ዳታቤዝ ያመላክታል። |
--optimise | እያንዳንዱን PNG ያለ ጥራት መቀነስ እንደገና ይጨመቃል። Pillow ያስፈልገዋል። |
--prune | ማኒፌስቱ ከእንግዲህ የማይዘረዝራቸውን የምስል ፋይሎች ይሰርዛል። |
የሾት ዝርዝር ይጻፉ#
የሾት ዝርዝር በsmarterp_docs/shots/ ውስጥ ያለ JSON ፋይል ነው። ይህኛው የመነሻ ገጹን ሁለት ምስሎች፣ አንዱን በእንግሊዝኛ አንዱን በአማርኛ ያነሳል፦
{
"base": "preview",
"defaults": {"viewport": [1280, 760], "languages": ["en", "am"], "themes": ["light"]},
"shots": [
{
"id": "docs-home",
"url": "/docs/{lang}",
"steps": [{"wait_for": ".card"}],
"annotate": [
{"target": ".search", "text": {"en": "Search box.", "am": "የፍለጋ ሳጥን።"}}
],
"alt": {"en": "The documentation home page.", "am": "የመመሪያው መነሻ ገጽ።"},
"caption": {"en": "The home page.", "am": "መነሻ ገጽ።"}
}
]
}
| መስክ | ትርጉም |
|---|---|
id | የአሴቱ መለያ፦ ትናንሽ ፊደላት፣ አኃዞችና ነጠላ ሰረዞች። |
url | የሚከፈተው ገጽ። {lang} ወደ en ወይም am ይቀየራል። |
steps | መጀመሪያ የሚደረጉ ነገሮች፣ እያንዳንዳቸው አንድ ቁልፍ ያላቸው፦ goto፣ click፣ hover፣ fill፣ press፣ wait_for፣ wait፣ scroll_to። |
capture | "viewport" (ነባሪው)፣ "full_page"፣ ወይም ለአንድ ንጥረ ነገር {"selector": ".callout"}። |
mask | ምስሉ ከመነሳቱ በፊት የሚደበዝዙ ሴሌክተሮች። |
annotate | ተከበው ቁጥር የሚሰጣቸው ንጥረ ነገሮች። የእያንዳንዳቸው ጽሑፍ ከምስሉ ስር ቁጥር ያለው ዝርዝር ይሆናል። |
themes | ["light"]፣ ወይም የጨለማ ስሪትም ለማንሳት ["light", "dark"]። |
alt, caption | በእያንዳንዱ ቋንቋ የግድ ያስፈልጋሉ። |
በአንድ ደረጃ ውስጥ ያለ እሴት በቋንቋ ሊለያይ ይችላል፤ ለምሳሌ {"fill": [".search input", {"en": "approval", "am": "ማጽደቅ"}]}። እንዲሁም እንደ $ENV:ODOO_PASSWORD የአካባቢ ተለዋዋጭ (environment variable) ማንበብ ይችላል፤ ስለዚህ የይለፍ ቃል በፋይል ውስጥ አይቀመጥም።
ስክሪፕቱ የሚጠብቅዎት ከምንድን ነው#
- ቃላት የሌለው ምስል የለም። በሁለቱም ቋንቋዎች አማራጭ ጽሑፍ (alt) ወይም መግለጫ የሌለው ሾት አሳሽ ከመጀመሩ በፊት ውድቅ ይደረጋል፤ አንድ ገጽ እነዚህ የሌሉትን ምስል ከተጠቀመም የይዘት ፍተሻዎቹ ይወድቃሉ።
- ሚስጥር የለም። ከእያንዳንዱ ምስል በፊት ስክሪፕቱ የሚታየውን ጽሑፍ ያነባል። ከተፈቀዱት ጎራዎች ውጭ ያለ የኢሜይል አድራሻ፣ የኤፒአይ ቁልፍ፣ ቶክን፣ የይለፍ ቃል ወይም የስልክ ቁጥር ያ ምስል እንዳይቀመጥ ያደርጋል፤ ሩጫውም ይወድቃል። ደንቦቹ በ
shots/_policy.jsonውስጥ ናቸው። በmaskውስጥ ያለ ማንኛውም ነገር ይደበዝዛል፤ ከፍተሻውም ይወጣል። - የመጠን ገደብ። ከ250 KB በላይ የሆነ ምስል ይታወቃል፤ ስለዚህ ገጾች በዝግተኛ ግንኙነት ላይ ቀላል ሆነው ይቆያሉ።
- ከመዝገቡ ጋር የሚስማሙ ፋይሎች። ፍተሻዎቹ በ
static/img/ውስጥ ያለ እያንዳንዱ ፋይል በማኒፌስቱ ውስጥ መኖሩን፣ ቼክሰሙና መጠኑ አሁንም እንደሚስማሙ፣ አንድ ገጽ የሚያሳየው እያንዳንዱ ምስል መኖሩን ያረጋግጣሉ።
ማስጠንቀቂያ
ስክሪንሾቶችን ከየማሳያ ዳታ ብቻ ያንሱ፤ የደንበኛ ስሞች፣ ዋጋዎች ወይም የሠራተኛ ዝርዝሮች ካሉበት ከቀጥታ ሥርዓት በጭራሽ አያንሱ። ፍተሻው የተለመዱ ንድፎችን ይይዛል፤ አንድ ሰው የሚያውቀውን ሁሉ አይይዝም።
ወቅታዊ ያድርጓቸው#
በማያ ገጾቹ ላይ ለውጥ ከተደረገ በኋላ ፍተሻውን ያሂዱ፦
python3 smarterp_docs/tools/shots.py --check
ለእያንዳንዱ ቋንቋ ገጹን እንደገና ይከፍታል፤ በገጹ ላይ ያለውን ምስሉ ከተነሳበት ጊዜ ጋር ያወዳድራል። ከእንግዲህ የማይስማማ ምስል ጊዜ ያለፈበት (stale) ተብሎ ይገለጻል። እንደገና ያንሱት፣ ይመልከቱት፣ አዲሱንም ፋይል ከማኒፌስቱ ጋር ያስገቡ (commit)።
ከSmartERP ራሱ የሚነሱ ማያ ገጾች#
ከዚህ ሞጁል ጋር የሚመጡት የሾት ዝርዝሮች የመመሪያውን ጣቢያ ያነሳሉ። የSmartERP ራሱን ማያ ገጾች፣ ለምሳሌ የማጽደቂያ ወረፋውን ለማንሳት፣ የሾት ዝርዝርን የማሳያ ዳታ ወዳለው የሚሄድ SmartERP ያመላክቱ፤ መለያውንም ከአካባቢው በሚያነቡ ደረጃዎች ይግቡ፦
ODOO_USER=demo ODOO_PASSWORD=... python3 smarterp_docs/tools/shots.py --base-url http://localhost:8069
የSmartERP ራሱን ማያ ገጾችና ይህን ጣቢያ ብቻ ይጠቀሙ። የሌላ ኩባንያ ምርት ወይም የንግድ ምልክት በጭራሽ አያሳዩ።
የማረጋገጫ ዝርዝር#
- የሾት ዝርዝሩ በእንግሊዝኛና በአማርኛ አማራጭ ጽሑፍና መግለጫ አለው፤ አማርኛ የሚያነብ አርታዒም አማርኛውን አይቶታል።
python3 smarterp_docs/tools/shots.pyያለ ምንም ችግር ያልቃል።- እያንዳንዱን ምስል በሁለቱም ቋንቋዎች ተመልክተዋል።
- ገጹ ምስሉን በአሴት መለያው በሁለቱም ቋንቋዎች በተመሳሳይ ቦታ ያሳያል።
python3 smarterp_docs/tools/run_offline_tests.pyያልፋል።