Saltar a contenido

Por qué necesitas una base de conocimientos

Desde 2015, he estado intentando construir mi propio sitio web. Después de pasar por varios cambios de plataforma, finalmente establecí mi base de conocimientos personal en Power's Wiki, donde registro y comparto mi conocimiento. A continuación, voy a explicar detalladamente el tema de este artículo.

¿Por qué necesitas una base de conocimientos?

El conocimiento necesita ser archivado y sedimentado. El conocimiento que acumulamos en nuestro día a día se olvida rápidamente si no lo organizamos y resumimos de manera oportuna. Clasificar y archivar de manera adecuada no solo facilita la recuperación y la referencia en el futuro, sino que también evita caer en los mismos errores en el mismo lugar.

Utiliza la producción para impulsar la entrada. La mejor manera de dominar rápidamente un tema es explicarlo en tus propias palabras a otras personas. Si puedes describir el conocimiento de manera clara, entonces realmente lo has entendido. La producción constante te obliga a aprender de manera activa cuando no puedes describir claramente un tema. Además, esto fomenta la lectura y la adquisición de conocimiento de manera continua.

Un Edén cibernético. En este rincón personal, puedes evitar las disputas de Internet mainstream (en particular, ciertas discusiones caóticas). A menudo veo mi base de conocimientos personal como un refugio, un lugar donde puedo trabajar con calma.

¿Por qué debería ser pública tu base de conocimientos?

Mejor calidad en la producción y organización. Si decides que tu base de conocimientos no sea pública, la exigencia disminuye. La organización y resumen del conocimiento pueden volverse descuidados con el tiempo, sin preocuparse por la estructura y la legibilidad. Con el tiempo, tu base de conocimientos podría convertirse en un simple archivo de borradores, y es posible que incluso tú mismo no puedas entender lo que escribiste anteriormente.

Compartir para que las ideas se encuentren. El conocimiento necesita ser compartido, ya que en ese intercambio pueden surgir nuevas ideas. Cuando otras personas se enfrentan al mismo problema, puedes proporcionarles directamente tutoriales que hayas escrito, lo cual es conveniente y valioso.

Construye tu marca personal y conoce a personas afines. Mantener una base de conocimientos te permitirá atraer lectores y amigos afines. Es posible que compartan tu interés en la fotografía, la programación, la electrónica, la robótica, la lectura, etc., y que también gestionen sus propias bases de conocimientos o blogs. Además, enlazar tu base de conocimientos en tus perfiles de redes sociales o currículum es una excelente manera de mostrar tu capacidad y experiencia.

¿Por qué elegir construir tu propia base de conocimientos?

El enfoque opuesto a la construcción personal es escribir en plataformas de terceros. Estas plataformas de terceros incluyen servicios como Notion, Medium, LinkedIn, y otras similares. En estas plataformas, no tienes que preocuparte por la infraestructura subyacente, la implementación de funciones básicas, el almacenamiento de imágenes en los artículos, la actualización y el despliegue del sitio web, ni la optimización para motores de búsqueda (SEO). En resumen, puedes escribir de manera sencilla y la plataforma se encarga de todo lo demás, incluido el acceso a una gran audiencia. Entonces, ¿por qué abogamos por construir tu propia base de conocimientos?

En primer lugar, existe el problema de la seguridad de los datos. El contenido que dejas en plataformas de terceros no te pertenece por completo.

En la etapa actual del desarrollo de Internet, la mayoría de las plataformas están construyendo sus propios jardines amurallados. Pueden permitir la importación de datos, pero complican la exportación masiva. Además, muchas plataformas bloquean los enlaces externos con el propósito de retener a los usuarios y evitar que el tráfico fluya hacia otros sitios. Esto no es propicio para la interacción y el intercambio de conocimientos.

Especialmente en el caso de WeChat (el programa de mensajería más grande de China), hasta ahora, la edición de un artículo ya publicado solo permite cambiar un máximo de 20 caracteres. Como sabemos, el conocimiento no es estático y debe actualizarse constantemente, lo que dificulta la iteración del conocimiento.

Confiar completamente en una plataforma es arriesgado. Si tu contenido contiene información sensible o comentarios negativos sobre la plataforma, su respuesta típica suele ser la censura o la solicitud de modificaciones. Si el servidor de la plataforma es atacado por piratas informáticos o la plataforma cierra un día, no tienen la obligación de restaurar o devolver tus datos. En resumen, al confiar en una plataforma, no tienes un control completo sobre tus datos.

En segundo lugar, está la cuestión de la personalización. Cuando eliges una plataforma, debes aceptar su estilo y su interfaz de usuario, a veces incluso soportar anuncios intrusivos en los márgenes de los artículos. En contraste, con tu propia base de conocimientos, puedes personalizar completamente la interfaz de usuario. Un diseño limpio y sencillo mejora enormemente la experiencia de lectura.

En última instancia, la relación entre plataformas de terceros y bases de conocimientos propias es como la diferencia entre alquilar y comprar una vivienda. Al alquilar, puedes pagar menos, mudarte fácilmente y decorar tu espacio dentro de las restricciones establecidas. Sin embargo, lo que tienes es un derecho de uso, no una propiedad. Al comprar tu propio lugar, puedes personalizarlo a tu gusto y llenarlo con lo que desees, ya que tienes la propiedad completa.

¿Por qué una base de conocimientos en lugar de una corriente de artículos?

Una corriente de artículos se refiere a blogs, perfiles de medios sociales, y la mayoría de las plataformas que organizan el contenido en función de la línea de tiempo. Por otro lado, una base de conocimientos (Wiki) organiza el contenido en categorías, similar a hojear un archivo, lo que facilita la búsqueda y la lectura categorizada.

Why a Knowledge Base and Not a Stream of Articles?

In the first place, some trivial yet indispensable knowledge doesn't lend itself to standalone, lengthy articles. If presented in a stream of articles, they would carry the same weight as other articles, thus diluting the overall purity of the site's content. However, systematic articles are born from these scattered pieces of knowledge. Relatively speaking, a knowledge base, organized by categories, serves as a suitable vehicle.

On the other hand, as I mentioned in the article on Card-style Writing, each piece of foundational knowledge is like a small card. As you abstract upwards, different top-level articles can reference the same foundational cards, increasing the reuse of knowledge and reducing redundant work.

Choosing the Right Tool

When it comes to selecting a knowledge base, several factors matter to me:

  • Core Features: The sidebar should display article titles and their respective categories, the main layout should present the article content, content should support Markdown syntax, and the content and framework should be independent of each other.
  • Search Functionality: Search functionality complements category archives. Sometimes, finding a specific piece of knowledge within a broad category can be inconvenient, but with site-wide search, you can go directly to the point.
  • Open Source: The knowledge base platform must be open source because closed-source projects may cease updates or support due to the preferences of the maintainer or their team. Bugs might go unresolved in such cases (specifically referring to GitBook and Bitcron here).
  • Static Website: Static websites can be hosted on platforms like GitHub Pages, eliminating the need for separate server purchases. This is cost-effective and easy to maintain while also being SEO-friendly.
  • Ease of Setup, Deployment, and Updates: Setting up a knowledge base should not be overly time-consuming, and the content update process should not be overly complex.
  • Sleek and Elegant UI: For the sake of the reading experience, the layout UI should remain clean and elegant, ideally with a night mode option.

Limitations of Self-built Knowledge Bases

When I see someone heaping praise on a platform and ignoring its flaws, selectively turning a blind eye to certain issues, and overly exaggerating its strengths with unbridled enthusiasm, I become vigilant. I force myself not to be swayed by emotions and to rationally evaluate everything about the platform.

I don't want everyone to only know the advantages of self-built knowledge bases. It's important to note that self-built knowledge bases have certain limitations. Only by fully understanding their pros and cons can you make a choice that aligns with your objectives.

Traffic Concerns: Relying on third-party platforms makes it easier for your content to be read by many people and to feature within the top ten results of search engines. On the other hand, self-built platforms usually have limited traffic, meaning fewer readers. However, you can solve this problem by using a one-to-many publication approach, which essentially involves using tools like Artipub to synchronize content across various third-party platforms, thereby directing traffic to your personal knowledge base.

Technical Proficiency Required: Readers who haven't encountered the Jamstack (JavaScript, API & Markup) concept and its related technology stack may need to undergo some learning. I will address this issue step by step in the article on Building a Personal Knowledge Base - Based on Docusaurus.

Lack of Online Editor in Static Websites: In other words, if you opt for a static website, the editor and the website itself are separate, and you cannot directly edit and publish content on the website or app like you can on platforms such as Zhihu. You need a local editor, such as VS Code or Typora. However, there are solutions available, and you can refer to the article on How to Run VS Code on an iPad for guidance.

Los conocimientos pueden pertenecer a múltiples categorías a la vez. Por lo general, las bases de datos de conocimiento solo incluyen artículos en una sola categoría para evitar la redundancia. Sin embargo, en casos como el artículo Cómo diseñar el sistema mínimo de un microcontrolador, este artículo pertenece tanto a la categoría Diseño de circuitos como a la categoría STM32. ¿Cómo se debería incluir? Mi solución es incluirlo en la categoría que sea más relevante según el contenido del artículo. La razón por la que no utilizo un sistema de etiquetas es que estas tienden a volverse excesivas, y una vez que hay muchas etiquetas, la búsqueda y la clasificación por categorías son menos eficientes en comparación.

¿Qué plataformas he utilizado?

  • WordPress: Fácil de usar pero con una estructura subyacente compleja, requiere el uso de una base de datos y no es propicio para la migración.
  • Hexo: Un tanto complicado y carece de temas de Wiki atractivos.
  • GitBook: La versión de línea de comandos ha dejado de recibir soporte, y la versión V2 tiene una velocidad de acceso lenta en China.
  • Jekyll: Una tecnología relativamente antigua y con falta de soporte actualizado.
  • GitHub Issues/Gist/Wiki: La velocidad de acceso en China es lenta y la interfaz de usuario no es personalizable.
  • Bitcron: Hospeda sitios web dinámicos con una capacidad de personalización limitada, y la velocidad de acceso puede variar.
  • DokuWiki: Requiere un servidor propio y está algo desactualizado.
  • Gridea: Fácil de implementar pero con una capacidad de personalización limitada, solo se puede utilizar su editor dedicado.
  • wiki.js: Requiere la implementación en un servidor propio y generalmente se utiliza para bases de conocimiento de equipos, aunque tiene algunos problemas menores.
  • 语雀 (Yuque): Una plataforma de bases de conocimiento de terceros relativamente buena, pero su desventaja es que la interfaz de usuario no es personalizable y la exportación de datos no es conveniente.
  • Hugo: Rápido en la implementación pero carece de temas de Wiki atractivos.
  • Gatsby: Similar a Hugo.
  • Ghost: Un sitio web dinámico con una interfaz atractiva, pero requiere un servidor propio (o inversión en servicios) y tiene una capacidad de personalización limitada.
  • docsify: Se recomienda en cierta medida. Fácil de implementar, con una interfaz atractiva, pero debido a su característica de renderización durante la carga, su rendimiento es inferior en algunos dispositivos.
  • Docute: Se recomienda en cierta medida. Fácil de implementar, con una interfaz atractiva, también renderiza contenido durante la carga, pero tiene menos complementos en comparación con docsify.
  • VuePress: Se recomienda en cierta medida. En general, es bueno en todos los aspectos, con una amplia comunidad de complementos, aunque su documentación oficial puede ser un poco caótica y tiene algunos pequeños errores.
  • Docusaurus: Se recomienda en cierta medida. En general, es sólido en todos los aspectos, pero la compilación es un poco lenta y el marco es un poco pesado.
  • MkDocs (con el tema Material): Se recomienda en cierta medida. En general, es excelente en todos los aspectos y tiene una velocidad de compilación relativamente rápida. Esta es la solución que utilizo actualmente en mi sitio web.

Anteriormente, también he escrito algunos artículos sobre la creación de blogs y bases de conocimiento personal. Si estás interesado, puedes consultarlos.

Summary

It's better to learn from the fish at the water's edge than to dive in. In the next article, Building a Personal Knowledge Base - Based on Docusaurus, I will provide a detailed explanation of how to create your own knowledge base.

References and Acknowledgments

Dirección original del artículo: https://wiki-power.com/ Este artículo está protegido por la licencia CC BY-NC-SA 4.0. Si desea reproducirlo, por favor indique la fuente.

Este post está traducido usando ChatGPT, por favor feedback si hay alguna omisión.