Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions english-content.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Ezen honlapot magyar bitcoinerek maréknyi csoportja fejleszti önként. A honlap egyrészt kapcsolódási és közös megnyilvánulási pontként funkcionál, másért a bitcoin irányába nyitott érdeklődőket minőségi magyar nyelvű információ csokorral hivatott szolgálni.

A HUSZONEGY telegram csoport nyitott, bárki csatlakozhat, akit érdekel a Bitcoinnal kapcsolatos magyar nyelvű kommunikáció. Egyetlen szabályunk, hogy a csoporton belül csak Bitcoinról kommunikálunk magyar nyelven.

A HUSZONEGY csoport a decentralizált, Bitcoin-alapú jövőrt dolgozik.
36 changes: 36 additions & 0 deletions src/components/EnglishExplain.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<template>
<div class="card px-4 py-4 my-3">
<p class="card-text">
The Huszonegy community works for a decentralized future based on Bitcoin.
</p>
<div class="center">
<a href="/forum" target="_blank">
<button type="button" class="btn btn-custom">Visit forum</button>
</a>
</div>
</div>
</template>

<script setup lang="ts">
</script>

<style scoped>
.btn-custom {
background-color: #f7931a;
color: white;
border: none;
padding: 10px 20px;
border-radius: 5px;
cursor: pointer;
font-weight: bold;
}
.btn-custom:hover {
background-color: #e67300;
transform: translateY(-2px);
transition: all 0.3s ease;
}
.center {
text-align: center;
margin-top: 15px;
}
</style>
43 changes: 43 additions & 0 deletions src/components/EnglishShort.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<template>
<div class="card px-4 py-4 my-3">
<p class="card-text">
Huszonegy is a Hungarian Bitcoin knowledge base and community. It is developed voluntarily by a small group of Hungarian Bitcoiners. The website serves as both a connection point for the community and a source of quality Hungarian-language information for those interested in Bitcoin.
</p>
<p class="card-text">
The Huszonegy Telegram group is open to anyone interested in Bitcoin-related Hungarian-language communication, with the only rule being that only Bitcoin topics are discussed in Hungarian.
</p>
<div class="center">
<a href="https://t.me/huszonegy" target="_blank">
<button type="button" class="btn btn-custom">Join the group</button>
</a>
</div>
<div class="center">
<br>
<img src="/pics/qr_21_tgram.png" width="230">
</div>
</div>
</template>

<script setup lang="ts">
</script>

<style scoped>
.btn-custom {
background-color: #f7931a;
color: white;
border: none;
padding: 10px 20px;
border-radius: 5px;
cursor: pointer;
font-weight: bold;
}
.btn-custom:hover {
background-color: #e67300;
transform: translateY(-2px);
transition: all 0.3s ease;
}
.center {
text-align: center;
margin-top: 15px;
}
</style>
8 changes: 7 additions & 1 deletion src/router/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
import {

{
path: '/english',
name: 'English',
component: () => import('../views/EnglishView.vue'),
meta: { title: 'English' }
},import {
createRouter,
createWebHistory,
createMemoryHistory,
Expand Down
219 changes: 219 additions & 0 deletions src/router/index_backup.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,219 @@
import {
createRouter,
createWebHistory,
createMemoryHistory,
type RouteRecordRaw
} from 'vue-router'
import HomeView from '../views/HomeView.vue'

export const routes: RouteRecordRaw[] = [
{
path: '/',
name: 'home',
component: HomeView,
meta: {
title: 'HUSZONEGY - A magyar Bitcoin tudástár és közösség',
metaTags: [
{ name: 'description', content: 'Tanulj a Bitcoinról magyarul! Cikkek, podcastok, ingyenesen letölthető könyvek és aktív közösség.' },
{ name: 'keywords', content: 'bitcoin, huszonegy, magyarország, decentralizáció, szabadság, közösség' }
]
}
},
{
path: '/cikk',
name: 'articles',
component: () => import('../views/ArticlesView.vue'),
meta: {
title: 'Bitcoin cikkek magyarul - HUSZONEGY',
metaTags: [
{ name: 'description', content: 'Bitcoin cikkek, elemzések és tanulmányok magyarul.' },
{ name: 'keywords', content: 'bitcoin cikkek, magyar bitcoin, bitcoin tanulmány' }
]
}
},
{
path: '/forum',
name: 'forum',
component: () => import('../views/ForumView.vue'),
meta: {
title: 'Bitcoin fórum - HUSZONEGY közösség',
metaTags: [
{ name: 'description', content: 'Magyar Bitcoin közösség fóruma. Csatlakozz a beszélgetéshez, tedd fel kérdéseidet és ossz meg tapasztalatokat más magyar bitcoinerekkel!' },
{ name: 'keywords', content: 'bitcoin fórum, magyar bitcoin közösség, bitcoin beszélgetés, telegram csoport' }
]
}
},
{
path: '/hir',
name: 'news',
component: () => import('../views/NewsView.vue'),
meta: {
title: 'Bitcoin hírek magyarul - HUSZONEGY',
metaTags: [
{ name: 'description', content: 'Friss Bitcoin hírek és újdonságok magyarul. Kövesd a legfontosabb eseményeket a Bitcoin világából naprakészen!' },
{ name: 'keywords', content: 'bitcoin hírek, bitcoin hírek magyarul, bitcoin news, bitcoin újdonságok' }
]
}
},
{
path: '/podcast',
name: 'podcasts',
component: () => import('../views/PodsView.vue'),
meta: {
title: 'Bitcoin podcast magyarul - HUSZONEGY',
metaTags: [
{ name: 'description', content: 'Magyar Bitcoin podcastok és beszélgetések. Hallgass interjúkat, szakértői véleményeket és közösségi beszélgetéseket a Bitcoin világából!' },
{ name: 'keywords', content: 'bitcoin podcast, magyar bitcoin podcast, beszélgetés, bitcoin interjú' }
]
}
},
{
path: '/podcast/:slug',
name: 'PodDetailView',
component: () => import('../views/PodDetailView.vue'),
props: true
},
{
path: '/konyv',
name: 'books',
component: () => import('../views/BooksView.vue'),
meta: {
title: 'Bitcoin könyvek magyarul - HUSZONEGY',
metaTags: [
{ name: 'description', content: 'Ajánlott Bitcoin könyvek magyar nyelven és fordításban. A legjobb Bitcoin könyvek kezdőknek és szakértőknek.' },
{ name: 'keywords', content: 'bitcoin könyv, bitcoin könyv magyarul, bitcoin irodalom, bitcoin olvasmány' }
]
}
},
{
path: '/tarcak',
name: 'wallets',
component: () => import('../views/WalletsView.vue'),
meta: {
title: 'Bitcoin tárcák és eszközök - HUSZONEGY',
metaTags: [
{ name: 'description', content: 'Ajánlott Bitcoin tárcák, hardver wallet-ek és eszközök. Válaszd ki a számodra legmegfelelőbb megoldást a biztonságos Bitcoin tároláshoz!' },
{ name: 'keywords', content: 'bitcoin tárca, hardver wallet, bitcoin wallet, trezor, coldcard, ledger' }
]
}
},
{
path: '/meetup',
name: 'meetup',
component: () => import('../views/MeetupView.vue'),
meta: {
title: 'Bitcoin meetupok Magyarországon - HUSZONEGY',
metaTags: [
{ name: 'description', content: 'Bitcoin meetupok, találkozók és események Magyarországon. Csatlakozz a közösséghez, ismerj meg más bitcoinereket és tanulj együtt!' },
{ name: 'keywords', content: 'bitcoin meetup, bitcoin találkozó, bitcoin esemény, bitcoin közösség magyarország' }
]
}
},
{
path: '/link',
name: 'links',
component: () => import('../views/LinksView.vue'),
meta: {
title: 'Hasznos Bitcoin linkek - HUSZONEGY',
metaTags: [
{ name: 'description', content: 'Válogatott Bitcoin linkek, partnereink, kapcsolódó honlapok magyarul és angolul.' },
{ name: 'keywords', content: 'bitcoin linkek, bitcoin források, bitcoin oktatás' }
]
}
},
{
path: '/eloadas',
name: 'presentations',
component: () => import('../views/PreziView.vue'),
meta: {
title: 'Bitcoin előadások magyarul - HUSZONEGY',
metaTags: [
{ name: 'description', content: 'Bitcoin előadások, prezentációk és konferencia anyagok magyarul.' },
{ name: 'keywords', content: 'bitcoin előadás, bitcoin prezentáció, bitcoin konferencia' }
]
}
},
{
path: '/oktatovideo',
name: 'videos',
component: () => import('../views/VideoView.vue'),
meta: {
title: 'Bitcoin oktatóvideók magyarul - HUSZONEGY',
metaTags: [
{ name: 'description', content: 'Bitcoin oktatóvideók kezdőknek és haladóknak magyarul. Tanuld meg a Bitcoin használatát!' },
{ name: 'keywords', content: 'bitcoin videó, bitcoin oktatás, bitcoin tutorial' }
]
}
},
{
path: '/tamogatas',
name: 'support',
component: () => import('../views/SupportView.vue'),
meta: {
title: 'HUSZONEGY támogatása - Bitcoin adományok',
metaTags: [
{ name: 'description', content: 'Támogasd a HUSZONEGY magyar Bitcoin közösséget!' }
]
}
},
{
path: '/pizzaday',
name: 'pizzaday',
component: () => import('../views/PizzaView.vue'),
meta: { title: 'Bitcoin Pizza Nap - HUSZONEGY' }
},
{ path: '/support', redirect: '/tamogatas' },
{
path: '/404',
name: 'not-found',
component: () => import('../views/NotFoundView.vue'),
meta: { title: 'Oldal nem található - HUSZONEGY' }
},
{
path: '/:pathMatch(.*)*',
component: () => import('../views/NotFoundView.vue'),
meta: { title: 'Oldal nem található - HUSZONEGY' }
}
]

const router = createRouter({
// Ez a sor dönti el, hogy szerver (GitHub) vagy böngésző módban vagyunk-e
history: import.meta.env.SSR
? createMemoryHistory(import.meta.env.BASE_URL)
: createWebHistory(import.meta.env.BASE_URL),
routes,
linkActiveClass: 'active',
})


// EZ A RÉSZ FRISSÍTI A BÖNGÉSZŐT, DE CSAK HA TÉNYLEG BÖNGÉSZŐBEN VAGYUNK
if (!import.meta.env.SSR) {
router.afterEach((to) => {
// Cím frissítése
const title = (to.meta as any).title
if (title) document.title = title

// Meta tagek frissítése (SEO)
const tags = (to.meta as any).metaTags as any[]
if (tags && Array.isArray(tags)) {
tags.forEach(tagData => {
const selector = tagData.name
? `meta[name="${tagData.name}"]`
: `meta[property="${tagData.property}"]`

const element = document.querySelector(selector)
if (element) {
element.setAttribute('content', tagData.content)
} else {
const newTag = document.createElement('meta')
if (tagData.name) newTag.setAttribute('name', tagData.name)
if (tagData.property) newTag.setAttribute('property', tagData.property)
newTag.setAttribute('content', tagData.content)
document.head.appendChild(newTag)
}
})
}
})
}

export default router
19 changes: 19 additions & 0 deletions src/views/EnglishView.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<script setup lang="ts">
import EnglishShort from '../components/EnglishShort.vue'
import EnglishExplain from '../components/EnglishExplain.vue'
</script>

<template>
<main style="width: auto;">
<div class="row">
<div class="col col-auto" style="max-width: 500px; width: 100%;">
<EnglishShort />
</div>
<div class="col col-auto" style="max-width: 500px; width: 100%;">
<EnglishExplain />
</div>
</div>
</main>
</template>

<style></style>
19 changes: 19 additions & 0 deletions src/views/EnglishView_backup.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<script setup lang="ts">
import EnglishShort from '../components/EnglishShort.vue'
import EnglishExplain from '../components/EnglishExplain.vue'
</script>

<template>
<main style="width: auto;">
<div class="row">
<div class="col col-auto" style="max-width: 500px; width: 100%;">
<EnglishShort />
</div>
<div class="col col-auto" style="max-width: 500px; width: 100%;">
<EnglishExplain />
</div>
</div>
</main>
</template>

<style></style>
31 changes: 31 additions & 0 deletions update-router.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
const fs = require('fs');

// Read existing router file
const routerPath = 'src/router/index.ts';
const routerContent = fs.readFileSync(routerPath, 'utf8');

// Find the routes array
const routesStart = routerContent.indexOf('const routes = [');
const routesEnd = routerContent.indexOf('];', routesStart);
const routesArray = routerContent.substring(routesStart, routesEnd + 1);

// Create new route for English
const newRoute = `
{
path: '/english',
name: 'English',
component: () => import('../views/EnglishView.vue'),
meta: { title: 'English' }
},`;

// Insert new route before the last route (NotFoundView)
const lastRouteIndex = routesArray.lastIndexOf('},');
const newRoutesArray = routesArray.substring(0, lastRouteIndex + 2) + newRoute + routesArray.substring(lastRouteIndex + 2);

// Replace routes array in original content
const newRouterContent = routerContent.substring(0, routesStart) + newRoutesArray + routerContent.substring(routesEnd + 1);

// Write updated content
fs.writeFileSync(routerPath, newRouterContent, 'utf8');

console.log('Router updated successfully!');
Loading
Loading